summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniels@collabora.com>2017-05-05 14:44:20 +0100
committerDaniel Stone <daniels@collabora.com>2017-05-19 09:36:11 +0100
commit8118bc269f39ea0b965752ea89b886b28094db42 (patch)
treeb124033d459b15135104cb872cfaa2f6ab27606c
parent5034c615582add2be9309dc1d7383fb0daba6dd3 (diff)
egl/wayland: Don't open-code roundtrip
wl_display_roundtrip_queue() exists and can replace roundtrip(). The API was introduced with wayland 1.6, while we currently require 1.11. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable@lists.freedesktop.org
-rw-r--r--src/egl/drivers/dri2/platform_wayland.c26
1 files changed, 1 insertions, 25 deletions
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index a3380f298d3..561609dbab4 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -55,34 +55,10 @@ static EGLBoolean
dri2_wl_swap_interval(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf,
EGLint interval);
-static void
-sync_callback(void *data, struct wl_callback *callback, uint32_t serial)
-{
- int *done = data;
-
- *done = 1;
- wl_callback_destroy(callback);
-}
-
-static const struct wl_callback_listener sync_listener = {
- .done = sync_callback
-};
-
static int
roundtrip(struct dri2_egl_display *dri2_dpy)
{
- struct wl_callback *callback;
- int done = 0, ret = 0;
-
- callback = wl_display_sync(dri2_dpy->wl_dpy_wrapper);
- wl_callback_add_listener(callback, &sync_listener, &done);
- while (ret != -1 && !done)
- ret = wl_display_dispatch_queue(dri2_dpy->wl_dpy, dri2_dpy->wl_queue);
-
- if (!done)
- wl_callback_destroy(callback);
-
- return ret;
+ return wl_display_roundtrip_queue(dri2_dpy->wl_dpy, dri2_dpy->wl_queue);
}
static void