diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2011-03-07 15:06:31 +0100 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2011-04-22 12:21:37 -0400 |
commit | b1a91722773152ea96de79d2b446ae488561bb0c (patch) | |
tree | e6c58e82614feec1c3091491ba7241c6b10073b4 | |
parent | 5b2ff543ab784107a62ac405ed93fa1629a74cc4 (diff) |
egl/wayland: Update to buffer.damage addition
-rw-r--r-- | src/egl/drivers/dri2/platform_wayland.c | 2 | ||||
-rw-r--r-- | src/egl/wayland/wayland-drm/wayland-drm.c | 7 | ||||
-rw-r--r-- | src/gallium/state_trackers/egl/wayland/native_wayland.c | 1 |
3 files changed, 6 insertions, 4 deletions
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index c0860a7377..030c68777a 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -488,6 +488,8 @@ dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw) dri2_surf->dri_buffers[__DRI_BUFFER_FRONT_LEFT], dri2_surf->wl_win->visual); + wl_buffer_damage(dri2_surf->wl_drm_buffer[WL_BUFFER_FRONT], 0, 0, + dri2_surf->base.Width, dri2_surf->base.Height); wl_surface_attach(dri2_surf->wl_win->surface, dri2_surf->wl_drm_buffer[WL_BUFFER_FRONT], dri2_surf->dx, dri2_surf->dy); diff --git a/src/egl/wayland/wayland-drm/wayland-drm.c b/src/egl/wayland/wayland-drm/wayland-drm.c index 5cf166f313..149583b116 100644 --- a/src/egl/wayland/wayland-drm/wayland-drm.c +++ b/src/egl/wayland/wayland-drm/wayland-drm.c @@ -51,9 +51,8 @@ struct wl_drm { }; static void -drm_buffer_damage(struct wl_buffer *buffer_base, - struct wl_surface *surface, - int32_t x, int32_t y, int32_t width, int32_t height) +buffer_damage(struct wl_client *client, struct wl_buffer *buffer, + int32_t x, int32_t y, int32_t width, int32_t height) { } @@ -74,6 +73,7 @@ buffer_destroy(struct wl_client *client, struct wl_buffer *buffer) } const static struct wl_buffer_interface buffer_interface = { + buffer_damage, buffer_destroy }; @@ -104,7 +104,6 @@ drm_create_buffer(struct wl_client *client, struct wl_drm *drm, buffer->buffer.height = height; buffer->buffer.visual = visual; buffer->buffer.attach = NULL; - buffer->buffer.damage = drm_buffer_damage; if (visual->object.interface != &wl_visual_interface) { /* FIXME: Define a real exception event instead of diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.c b/src/gallium/state_trackers/egl/wayland/native_wayland.c index 236bad9afb..b9cf8c48f1 100644 --- a/src/gallium/state_trackers/egl/wayland/native_wayland.c +++ b/src/gallium/state_trackers/egl/wayland/native_wayland.c @@ -380,6 +380,7 @@ wayland_surface_present(struct native_surface *nsurf, if (surface->type == WL_WINDOW_SURFACE) { resource_surface_get_size(surface->rsurf, &width, &height); + wl_buffer_damage(surface->buffer[WL_BUFFER_FRONT], 0, 0, width, height); wl_surface_damage(surface->win->surface, 0, 0, width, height); } |