diff options
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | src/egl/drivers/dri2/platform_wayland.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index fc554dd4c03..803c2564942 100644 --- a/configure.ac +++ b/configure.ac @@ -1530,8 +1530,7 @@ for plat in $egl_platforms; do ;; wayland) - PKG_CHECK_MODULES([WAYLAND], [wayland-client >= 0.99.0 wayland-server >= 0.99.0],, \ - [AC_MSG_ERROR([cannot find libwayland-client])]) + PKG_CHECK_MODULES([WAYLAND], [wayland-client >= 1.0.2 wayland-server >= 1.0.2]) GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland" WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client` diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 7c1aa945837..ba54286b7bc 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -420,6 +420,9 @@ dri2_get_buffers_with_format(__DRIdrawable * driDrawable, dri2_egl_display(dri2_surf->base.Resource.Display); int i; + /* There might be a buffer release already queued that wasn't processed */ + wl_display_dispatch_queue_pending(dri2_dpy->wl_dpy, dri2_dpy->wl_queue); + if (dri2_surf->base.Type == EGL_WINDOW_BIT && (dri2_surf->base.Width != dri2_surf->wl_win->width || dri2_surf->base.Height != dri2_surf->wl_win->height)) { |