libxshmfence foolishly advertises the type of a fence as 'int32_t *', which works when the fence is a linux futex. However, that library is going to change the exported datatype to 'struct xshmfence *', which will provide some nice typechecking. Anticipate the change by just using 'void *' in mesa, which works with both the int32_t* and struct xshmfence* versions.
Signed-off-by: Keith Packard <kei...@keithp.com> --- libxshmfence will also be providing a HAVE_STRUCT_XSHMFENCE define, so we could actually check for that and use struct xshmfence when available. Just using 'void *' avoids a bunch of clutter, but if people think they'd rather have extra type checking, I can do the other version instead. src/glx/dri3_glx.c | 4 ++-- src/glx/dri3_priv.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index 5861317..239d58b 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; + void *shm_fence; int buffer_fd, fence_fd; int stride; @@ -922,7 +922,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; + void *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 c892800..0d21e67 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 */ + void *shm_fence; /* pointer to xshmfence object */ GLboolean busy; /* Set on swap, cleared on IdleNotify */ void *driverPrivate; -- 1.8.4.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev