compositor: Dont set the opaque region if we have an overall surface alpha
authorKristian Høgsberg <krh@bitplanet.net>
Tue, 28 Feb 2012 14:19:39 +0000 (09:19 -0500)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 28 Feb 2012 14:23:23 +0000 (09:23 -0500)
src/compositor.c

index 6a1bebd..a95837e 100644 (file)
@@ -335,9 +335,13 @@ weston_surface_update_transform_disable(struct weston_surface *surface)
                                  surface->geometry.width,
                                  surface->geometry.height);
 
-       pixman_region32_copy(&surface->transform.opaque, &surface->opaque);
-       pixman_region32_translate(&surface->transform.opaque,
-                                 surface->geometry.x, surface->geometry.y);
+       if (surface->alpha == 255) {
+               pixman_region32_copy(&surface->transform.opaque,
+                                    &surface->opaque);
+               pixman_region32_translate(&surface->transform.opaque,
+                                         surface->geometry.x,
+                                         surface->geometry.y);
+       }
 }
 
 static int