}
static void
-compositor_accumulate_damage(struct weston_compositor *ec)
+output_accumulate_damage(struct weston_output *output)
{
+ struct weston_compositor *ec = output->compositor;
struct weston_plane *plane;
struct weston_view *ev;
pixman_region32_t opaque, clip;
ev->surface->touched = false;
wl_list_for_each(ev, &ec->view_list, link) {
+ /* Ignore views not visible on the current output */
+ if (!(ev->output_mask & (1u << output->id)))
+ continue;
if (ev->surface->touched)
continue;
ev->surface->touched = true;
}
}
- compositor_accumulate_damage(ec);
+ output_accumulate_damage(output);
pixman_region32_init(&output_damage);
pixman_region32_intersect(&output_damage,