diff options
author | James Jones <jajones@nvidia.com> | 2010-06-25 16:23:05 -0700 |
---|---|---|
committer | James Jones <jajones@nvidia.com> | 2010-12-03 16:49:23 -0800 |
commit | 4c2d0c0c09b249e61313830ee4e237b7f0619b87 (patch) | |
tree | 6786c8a42f4f20bd6be661bff050e615cd8f6afe /src | |
parent | 9e33a842c97d676afa21e4bb16fd3dd380b42f4f (diff) | |
download | xorg-lib-libXext-4c2d0c0c09b249e61313830ee4e237b7f0619b87.tar.gz |
Add XSyncAwaitFence()
Add the XSynceFence version of XSyncAwait(). Waits
for fence objects to reach the triggered state.
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/XSync.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/XSync.c b/src/XSync.c index ca9a67c..2bdecfc 100644 --- a/src/XSync.c +++ b/src/XSync.c @@ -874,6 +874,27 @@ XSyncQueryFence(Display *dpy, XSyncFence fence, Bool *triggered) return True; } +Bool +XSyncAwaitFence(Display *dpy, const XSyncFence *fence_list, int n_fences) +{ + XExtDisplayInfo *info = find_display(dpy); + xSyncAwaitFenceReq *req; + + SyncCheckExtension(dpy, info, False); + + LockDisplay(dpy); + GetReq(SyncAwaitFence, req); + req->reqType = info->codes->major_opcode; + req->syncReqType = X_SyncAwaitFence; + SetReqLen(req, n_fences, n_fences); + + Data32(dpy, (char *)fence_list, sizeof(CARD32) * n_fences); + + UnlockDisplay(dpy); + SyncHandle(); + return True; +} + /* * Functions corresponding to the macros for manipulating 64-bit values */ |