From 1abccedc4d18305e8c3e3dd00d3262c134ef1d44 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Sun, 17 Dec 2017 00:27:09 +0100 Subject: [PATCH] drm: Add drmSyncobjReset & drmSyncobjSignal wrappers. anv already uses the ioctls but does not use libdrm, so these were not wrapped yet. Signed-off-by: Dave Airlie --- xf86drm.c | 26 ++++++++++++++++++++++++++ xf86drm.h | 2 ++ 2 files changed, 28 insertions(+) diff --git a/xf86drm.c b/xf86drm.c index c44621c1..deb76e4b 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -4247,3 +4247,29 @@ int drmSyncobjWait(int fd, uint32_t *handles, unsigned num_handles, *first_signaled = args.first_signaled; return ret; } + +int drmSyncobjReset(int fd, const uint32_t *handles, uint32_t handle_count) +{ + struct drm_syncobj_array args; + int ret; + + memclear(args); + args.handles = (uintptr_t)handles; + args.count_handles = handle_count; + + ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_RESET, &args); + return ret; +} + +int drmSyncobjSignal(int fd, const uint32_t *handles, uint32_t handle_count) +{ + struct drm_syncobj_array args; + int ret; + + memclear(args); + args.handles = (uintptr_t)handles; + args.count_handles = handle_count; + + ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_SIGNAL, &args); + return ret; +} diff --git a/xf86drm.h b/xf86drm.h index ea650eff..0dbf4941 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -863,6 +863,8 @@ extern int drmSyncobjExportSyncFile(int fd, uint32_t handle, int *sync_file_fd); extern int drmSyncobjWait(int fd, uint32_t *handles, unsigned num_handles, int64_t timeout_nsec, unsigned flags, uint32_t *first_signaled); +extern int drmSyncobjReset(int fd, const uint32_t *handles, uint32_t handle_count); +extern int drmSyncobjSignal(int fd, const uint32_t *handles, uint32_t handle_count); #if defined(__cplusplus) } -- 2.11.0