diff options
author | Keith Packard <[email protected]> | 2013-11-21 20:22:16 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2013-12-20 16:17:54 -0800 |
commit | 568a27588d13146d0fd7cb4e775e1ac0187e5e29 (patch) | |
tree | 06bca12d062d61a2082bbceb63a10761a8d3bbaa | |
parent | 9f330481c3979724300881891dfa17e99a5698ab (diff) |
dri3: Switch to libxshmfence version 1.1
libxshmfence v1.0 foolishly used 'int32_t *' for the fence type, which
works when the fence is a linux futex. However, version 1.1
changes the exported datatype to 'struct xshmfence *'
Require libxshmfence version 1.1 and switch the API around.
Signed-off-by: Keith Packard <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/glx/dri3_glx.c | 4 | ||||
-rw-r--r-- | src/glx/dri3_priv.h | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index b0e2b4c3844..07680c09a11 100644 --- a/configure.ac +++ b/configure.ac @@ -836,7 +836,7 @@ xyesno) dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8" if test x"$enable_dri3" = xyes; then - dri_modules="$dri_modules xcb-dri3 xcb-present xcb-sync xshmfence" + dri_modules="$dri_modules xcb-dri3 xcb-present xcb-sync xshmfence >= 1.1" fi # add xf86vidmode if available diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index b047cc880c8..1834c6d4a8e 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -676,7 +676,7 @@ dri3_alloc_render_buffer(struct glx_screen *glx_screen, Drawable draw, xcb_connection_t *c = XGetXCBConnection(dpy); xcb_pixmap_t pixmap; xcb_sync_fence_t sync_fence; - int32_t *shm_fence; + struct xshmfence *shm_fence; int buffer_fd, fence_fd; int stride; @@ -921,7 +921,7 @@ dri3_get_pixmap_buffer(__DRIdrawable *driDrawable, struct dri3_screen *psc; xcb_connection_t *c; xcb_sync_fence_t sync_fence; - int32_t *shm_fence; + struct xshmfence *shm_fence; int fence_fd; __DRIimage *image_planar; int stride, offset; diff --git a/src/glx/dri3_priv.h b/src/glx/dri3_priv.h index c8928004207..efdc2ae2d2f 100644 --- a/src/glx/dri3_priv.h +++ b/src/glx/dri3_priv.h @@ -87,7 +87,7 @@ struct dri3_buffer { */ uint32_t sync_fence; /* XID of X SyncFence object */ - int32_t *shm_fence; /* pointer to xshmfence object */ + struct xshmfence *shm_fence; /* pointer to xshmfence object */ GLboolean busy; /* Set on swap, cleared on IdleNotify */ void *driverPrivate; |