diff options
-rw-r--r-- | lib/ioctl_wrappers.c | 18 | ||||
-rw-r--r-- | lib/ioctl_wrappers.h | 1 |
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: |