compositor: clarify update_transform vs. repaint
Remove redundant weston_surface_update_transform() calls from within
output repaint paths, and add a comment that we need to rely on
surface->geometry.dirty == 0 within the repaint sub-functions.
Now that weston_surface_update_transform() does damage as needed, and
weston_output_repaint() explicitly calls update_transform, we can reduce
the updates in rotate_grab_motion() to simply scheduling a repaint. This
will guarantee that the change in rotation ends up on screen ASAP.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/src/shell.c b/src/shell.c
index 5632c73..fbb1203 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1034,6 +1034,11 @@
weston_matrix_init(&surface->rotation.rotation);
weston_matrix_init(&rotate->rotation);
}
+
+ /* Repaint implies weston_surface_update_transform(), which
+ * lazily applies the damage due to rotation update.
+ */
+ weston_compositor_schedule_repaint(surface->surface->compositor);
}
static void