diff --git a/core-symbols.txt b/core-symbols.txt index 9f8a323b..0d3464e9 100644 --- a/core-symbols.txt +++ b/core-symbols.txt @@ -187,6 +187,7 @@ drmSLNext drmSwitchToContext drmSyncobjCreate drmSyncobjDestroy +drmSyncobjEventfd drmSyncobjExportSyncFile drmSyncobjFDToHandle drmSyncobjHandleToFD diff --git a/xf86drm.c b/xf86drm.c index 2afb99e0..52b83ccc 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -5102,6 +5102,20 @@ drm_public int drmSyncobjTransfer(int fd, return ret; } +drm_public int drmSyncobjEventfd(int fd, uint32_t handle, uint64_t point, int ev_fd, + uint32_t flags) +{ + struct drm_syncobj_eventfd args; + + memclear(args); + args.handle = handle; + args.point = point; + args.fd = ev_fd; + args.flags = flags; + + return drmIoctl(fd, DRM_IOCTL_SYNCOBJ_EVENTFD, &args); +} + static char * drmGetFormatModifierFromSimpleTokens(uint64_t modifier) { diff --git a/xf86drm.h b/xf86drm.h index de756e88..1c38cb18 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -947,6 +947,8 @@ extern int drmSyncobjTransfer(int fd, uint32_t dst_handle, uint64_t dst_point, uint32_t src_handle, uint64_t src_point, uint32_t flags); +extern int drmSyncobjEventfd(int fd, uint32_t handle, uint64_t point, int ev_fd, + uint32_t flags); extern char * drmGetFormatModifierVendor(uint64_t modifier);