compositor: clear surface damage on draw
Commit a0d6dc4f26c95ae08ffff7d5f1ee7c1f53bdf545 lost one line of code in
the refactoring, and so did not reset the surface damage on repaint
anymore. This causes damage to only accumulate, leading to a full
display redraw every cycle and hiding damage tracking issues.
Put the damage clear back.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/src/compositor.c b/src/compositor.c
index 3a26424..6b15a54 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -681,6 +681,9 @@
&output->region);
pixman_region32_intersect(&repaint, &repaint, &es->damage);
+ /* Clear damage, assume outputs do not overlap. */
+ pixman_region32_subtract(&es->damage, &es->damage, &output->region);
+
if (!pixman_region32_not_empty(&repaint))
goto out;