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>
&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;