Clip surface damage to the surface area
authorDaniel Stone <daniel@fooishbar.org>
Wed, 7 Nov 2012 06:51:43 +0000 (17:51 +1100)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 8 Nov 2012 16:32:24 +0000 (11:32 -0500)
Otherwise glTexSubImage2D will reject our co-ordinates as being out of
bounds.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
src/compositor.c

index 6b0c004..d5b13c8 100644 (file)
@@ -1260,8 +1260,13 @@ surface_commit(struct wl_client *client, struct wl_resource *resource)
                                   surface->pending.sy);
 
        /* wl_surface.damage */
+       pixman_region32_init_rect(&opaque, 0, 0,
+                                 surface->geometry.width,
+                                 surface->geometry.height);
        pixman_region32_union(&surface->damage, &surface->damage,
                              &surface->pending.damage);
+       pixman_region32_intersect(&surface->damage, &surface->damage,
+                                 &opaque);
        empty_region(&surface->pending.damage);
 
        /* wl_surface.set_opaque_region */