summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ioctl_wrappers.c18
-rw-r--r--lib/ioctl_wrappers.h1
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 3781286d8..edac50f0f 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -1318,3 +1318,21 @@ int __kms_addfb(int fd, uint32_t handle,
return ret < 0 ? -errno : ret;
}
+
+/**
+ * igt_has_drm_cap:
+ * @fd: Open DRM file descriptor.
+ * @capability: DRM capability
+ *
+ * This helper verifies if the passed capability is
+ * supported by the kernel
+ *
+ * Returns: Whether the capability is supported or not.
+ */
+bool igt_has_drm_cap(int fd, uint64_t capability)
+{
+ struct drm_get_cap cap = { .capability = capability };
+
+ igt_assert(drmIoctl(fd, DRM_IOCTL_GET_CAP, &cap) == 0);
+ return cap.value;
+}
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index 870ac8b7b..b76bea564 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -196,6 +196,7 @@ struct local_drm_mode_fb_cmd2 {
bool igt_has_fb_modifiers(int fd);
void igt_require_fb_modifiers(int fd);
+bool igt_has_drm_cap(int fd, uint64_t capability);
/**
* __kms_addfb: