[PATCH mesa] wayland: use wl_surface_commit()

Pekka Paalanen ppaalanen at gmail.com
Wed Oct 10 02:51:31 PDT 2012


Use wl_surface_commit() to kick the attach, damage and frame requests in
the server, and actually push the buffer to the surface.

This change depends on wayland commit
"protocol: double-buffered state for wl_surface"
which broke the wayland protocol.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
---
 src/egl/drivers/dri2/platform_wayland.c            |    1 +
 .../state_trackers/egl/wayland/native_wayland.c    |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index d9b45f1..98d0fd3 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -612,6 +612,7 @@ dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw)
       wl_surface_damage(dri2_surf->wl_win->surface, 0, 0,
 	    dri2_surf->base.Width, dri2_surf->base.Height);
    }
+   wl_surface_commit(dri2_surf->wl_win->surface);
 
    _EGLContext *ctx;
    if (dri2_drv->glFlush) {
diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.c b/src/gallium/state_trackers/egl/wayland/native_wayland.c
index a7f9cb7..55638bb 100644
--- a/src/gallium/state_trackers/egl/wayland/native_wayland.c
+++ b/src/gallium/state_trackers/egl/wayland/native_wayland.c
@@ -350,6 +350,7 @@ wayland_surface_present(struct native_surface *nsurf,
       resource_surface_get_size(surface->rsurf, &width, &height);
       wl_surface_damage(surface->win->surface, 0, 0, width, height);
    }
+   wl_surface_commit(surface->win->surface);
 
    return ret;
 }
-- 
1.7.8.6



More information about the wayland-devel mailing list