From d15fbe334ab5d16ccd9af9448c5d38aa56ab447e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Thu, 23 Feb 2012 23:06:13 -0500 Subject: [PATCH] compositor: Remove surface overlapped attribute We need to compute this as we assign surfaces to overlays, so that if we assign a surface to an overlay, it isn't considered overlapping. --- src/compositor.c | 16 ++-------------- src/compositor.h | 1 - 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/src/compositor.c b/src/compositor.c index f99afc62c..b12c58352 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -914,8 +914,7 @@ weston_output_repaint(struct weston_output *output, int msecs) struct weston_surface *es; struct weston_animation *animation, *next; struct weston_frame_callback *cb, *cnext; - pixman_region32_t opaque, new_damage, total_damage, - overlap, surface_overlap; + pixman_region32_t opaque, new_damage, total_damage; int32_t width, height; weston_compositor_update_drag_surfaces(ec); @@ -928,22 +927,12 @@ weston_output_repaint(struct weston_output *output, int msecs) pixman_region32_init(&new_damage); pixman_region32_init(&opaque); - pixman_region32_init(&overlap); - wl_list_for_each(es, &ec->surface_list, link) { + wl_list_for_each(es, &ec->surface_list, link) /* Update surface transform now to avoid calling it ever * again from the repaint sub-functions. */ weston_surface_update_transform(es); - pixman_region32_init(&surface_overlap); - pixman_region32_intersect(&surface_overlap, &overlap, - &es->transform.boundingbox); - es->overlapped = pixman_region32_not_empty(&surface_overlap); - pixman_region32_fini(&surface_overlap); - pixman_region32_union(&overlap, &overlap, - &es->transform.boundingbox); - } - if (output->assign_planes) /* * This will queue flips for the fbs and sprites where @@ -966,7 +955,6 @@ weston_output_repaint(struct weston_output *output, int msecs) &new_damage, &output->region); pixman_region32_fini(&opaque); - pixman_region32_fini(&overlap); pixman_region32_fini(&new_damage); wl_list_for_each(es, &ec->surface_list, link) { diff --git a/src/compositor.h b/src/compositor.h index 4a3682496..881f53c8a 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -256,7 +256,6 @@ struct weston_surface { struct weston_shader *shader; GLfloat color[4]; uint32_t alpha; - int overlapped; /* Surface geometry state, mutable. * If you change anything, set dirty = 1.