compositor: clear surface damage on draw

Commit a0d6dc4f26 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>
dev
Pekka Paalanen 13 years ago
parent f55f544e4f
commit c7b45f68e6
  1. 3
      src/compositor.c

@ -681,6 +681,9 @@ weston_surface_draw(struct weston_surface *es, struct weston_output *output)
&output->region); &output->region);
pixman_region32_intersect(&repaint, &repaint, &es->damage); 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)) if (!pixman_region32_not_empty(&repaint))
goto out; goto out;

Loading…
Cancel
Save