summaryrefslogtreecommitdiff
path: root/xf86drm.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2017-09-11 21:57:32 +0200
committerMarek Olšák <marek.olsak@amd.com>2017-10-12 20:35:57 +0200
commit2048a9e7278d64954080077fb29d603fbb611873 (patch)
treea7b3843e561cbd31d331fe32e9a7abdda19887f9 /xf86drm.c
parentb6e24501a1f8c58501fdfa39b435e440ee667feb (diff)
downloaddrm-2048a9e7278d64954080077fb29d603fbb611873.tar.gz
drm: add drmSyncobjWait wrapper
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Diffstat (limited to 'xf86drm.c')
-rw-r--r--xf86drm.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/xf86drm.c b/xf86drm.c
index 6ea01129..8a327170 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -4225,3 +4225,25 @@ int drmSyncobjExportSyncFile(int fd, uint32_t handle, int *sync_file_fd)
*sync_file_fd = args.fd;
return 0;
}
+
+int drmSyncobjWait(int fd, uint32_t *handles, unsigned num_handles,
+ int64_t timeout_nsec, unsigned flags,
+ uint32_t *first_signaled)
+{
+ struct drm_syncobj_wait args;
+ int ret;
+
+ memclear(args);
+ args.handles = (intptr_t)handles;
+ args.timeout_nsec = timeout_nsec;
+ args.count_handles = num_handles;
+ args.flags = flags;
+
+ ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_WAIT, &args);
+ if (ret < 0)
+ return ret;
+
+ if (first_signaled)
+ *first_signaled = args.first_signaled;
+ return ret;
+}