[PATCH] compositor: Accumulate obscured damage into the primary plane damage

Ander Conselvan de Oliveira conselvan2 at gmail.com
Wed Sep 12 07:16:31 PDT 2012

From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>

When accumulating damage in the surfaces into the primary plane damage,
regions obscured by the opaque region would be excluded. This causes a
bug when a redraw of a surface is obscured by an opaque surface on
another plane. The drawing to the former surface is clipped but
its damage is never added to the primary plane and is just lost. Moving
the opaque window later reveals the not-up-to-date content below it.
 src/compositor.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/src/compositor.c b/src/compositor.c
index 840a2a9..04c9be8 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -847,7 +847,6 @@ surface_accumulate_damage(struct weston_surface *surface,
 					  surface->geometry.y - surface->plane->y);
-	pixman_region32_subtract(&surface->damage, &surface->damage, opaque);
 			      &surface->plane->damage, &surface->damage);

More information about the wayland-devel mailing list