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>
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user