egl/wayland: Send commit after flushing the driver context
authorKristian Høgsberg <krh@bitplanet.net>
Wed, 4 Dec 2013 20:08:35 +0000 (12:08 -0800)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 4 Dec 2013 23:48:28 +0000 (15:48 -0800)
This typically won't make a difference, since we only send the requests at
wl_display_flush() time.  There might be a small race
with another thread calling wl_display_flush() after our commit request,
but before we flush the DRI driver.  Moving the commit below the DRI
driver flush call looks more natural and eliminates the small race.

Cc: "10.0" mesa-stable@lists.freedesktop.org
src/egl/drivers/dri2/platform_wayland.c

index 9dfe4272bcf5e021740de3145bbfcc9f16e5a2e4..8f462c02c76b625c56d28a7f500059951fb824a3 100644 (file)
@@ -610,11 +610,10 @@ dri2_swap_buffers_with_damage(_EGLDriver *drv,
       }
    }
 
-   wl_surface_commit(dri2_surf->wl_win->surface);
-
    (*dri2_dpy->flush->flush)(dri2_surf->dri_drawable);
    (*dri2_dpy->flush->invalidate)(dri2_surf->dri_drawable);
 
+   wl_surface_commit(dri2_surf->wl_win->surface);
    wl_display_flush(dri2_dpy->wl_dpy);
 
    return EGL_TRUE;