[Mesa-dev] [PATCH 04/18] dri3: Switch to libxshmfence version 1.1
Kenneth Graunke
kenneth at whitecape.org
Fri Dec 13 18:35:36 PST 2013
On 12/13/2013 05:25 PM, Keith Packard wrote:
> 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 <keithp at keithp.com>
> ---
> configure.ac | 2 +-
> src/glx/dri3_glx.c | 4 ++--
> src/glx/dri3_priv.h | 2 +-
> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 1193cff..db0debc 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -833,7 +833,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 b047cc8..1834c6d 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 c892800..4bffeb7 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 */
Would be great to line these comments up. Patches 2 and 4-6 are:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
> GLboolean busy; /* Set on swap, cleared on IdleNotify */
> void *driverPrivate;
>
>
More information about the dri-devel
mailing list