compositor: Don't record surface damage when we move or transform surfaces
authorKristian Høgsberg <krh@bitplanet.net>
Wed, 18 Jul 2012 16:02:51 +0000 (12:02 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 18 Jul 2012 19:52:14 +0000 (15:52 -0400)
surface->damage is for when the contents of the surface changes.  Instead,
use weston_surface_damage_below() to repaint the damaged area.  We avoid
unecessary uploading shm and hw cursor contents this way.

src/compositor.c

index 4d53a6b..bc36d40 100644 (file)
@@ -447,10 +447,7 @@ weston_surface_update_transform(struct weston_surface *surface)
                        weston_surface_update_transform_disable(surface);
        }
 
-       /* weston_surface_damage() without update */
-       pixman_region32_union_rect(&surface->damage, &surface->damage,
-                                  0, 0, surface->geometry.width,
-                                  surface->geometry.height);
+       weston_surface_damage_below(surface);
 
        if (weston_surface_is_mapped(surface))
                weston_surface_assign_output(surface);