summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2011-03-16 13:49:38 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2011-03-16 22:58:42 +0100
commitcca52d79697a8a5e4a2a2ea3de566ff6262ecf05 (patch)
tree41327982cf6c88750a46469783f0c851c26ca160
parentd04348aaf69549c14b68e77d4003e4e3499e7cce (diff)
egl/wayland: Update to per-surface frame eventssurface-frame-event
-rw-r--r--src/egl/drivers/dri2/platform_wayland.c5
-rw-r--r--src/gallium/state_trackers/egl/wayland/native_wayland.c6
2 files changed, 6 insertions, 5 deletions
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index 6ae3f6554b..0fe4e104a7 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -429,7 +429,7 @@ wayland_create_buffer(struct dri2_egl_surface *dri2_surf, __DRIbuffer *buffer)
}
static void
-wayland_frame_callback(void *data, uint32_t time)
+wayland_frame_callback(struct wl_surface *surface, void *data, uint32_t time)
{
struct dri2_egl_surface *dri2_surf = data;
@@ -459,7 +459,8 @@ dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw)
dri2_surf->block_swap_buffers = EGL_TRUE;
wl_display_frame_callback(dri2_dpy->wl_dpy->display,
- wayland_frame_callback, dri2_surf);
+ dri2_surf->wl_win->surface,
+ wayland_frame_callback, dri2_surf);
if (dri2_surf->type == DRI2_WINDOW_SURFACE) {
pointer_swap(
diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.c b/src/gallium/state_trackers/egl/wayland/native_wayland.c
index 068c3cd7c8..fd35b45373 100644
--- a/src/gallium/state_trackers/egl/wayland/native_wayland.c
+++ b/src/gallium/state_trackers/egl/wayland/native_wayland.c
@@ -280,7 +280,7 @@ wayland_surface_validate(struct native_surface *nsurf, uint attachment_mask,
}
static void
-wayland_frame_callback(void *data, uint32_t time)
+wayland_frame_callback(struct wl_surface *surf, void *data, uint32_t time)
{
struct wayland_surface *surface = data;
@@ -307,8 +307,8 @@ wayland_surface_swap_buffers(struct native_surface *nsurf)
wl_display_iterate(display->dpy->display, WL_DISPLAY_READABLE);
surface->block_swap_buffers = TRUE;
- wl_display_frame_callback(display->dpy->display, wayland_frame_callback,
- surface);
+ wl_display_frame_callback(display->dpy->display, surface->win->surface,
+ wayland_frame_callback, surface);
if (surface->type == WL_WINDOW_SURFACE) {
resource_surface_swap_buffers(surface->rsurf,