commit 3461ee5af17f86761c2c2f5255c15157c864d261
parent 87e5e78e2a7149a13c9d519688d8d874483215d5
Author: Michael Forney <mforney@mforney.org>
Date: Fri, 6 Dec 2013 20:42:27 -0800
Style
Diffstat:
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/libswc/compositor.c b/libswc/compositor.c
@@ -132,38 +132,38 @@ static void perform_update(void * data)
{
struct swc_compositor * compositor = data;
struct swc_output * output;
+ pixman_region32_t damage;
uint32_t updates = compositor->scheduled_updates
- & ~compositor->pending_flips;
+ & ~compositor->pending_flips;
- if (updates)
- {
- pixman_region32_t damage;
+ if (!updates)
+ return;
- printf("performing update\n");
- calculate_damage(compositor);
- pixman_region32_init(&damage);
+ DEBUG("Performing update\n");
- wl_list_for_each(output, &compositor->outputs, link)
- {
- if (compositor->scheduled_updates & SWC_OUTPUT_MASK(output))
- {
- update_output_damage(output, &compositor->damage);
+ calculate_damage(compositor);
+ pixman_region32_init(&damage);
- if (!(compositor->pending_flips & SWC_OUTPUT_MASK(output)))
- {
- flush_output_damage(output, &damage);
- repaint_output(compositor, output, &damage);
- }
- }
- }
+ wl_list_for_each(output, &compositor->outputs, link)
+ {
+ if (!(compositor->scheduled_updates & SWC_OUTPUT_MASK(output)))
+ continue;
+
+ update_output_damage(output, &compositor->damage);
+
+ /* Don't repaint the output if it is waiting for a page flip. */
+ if (compositor->pending_flips & SWC_OUTPUT_MASK(output))
+ continue;
- pixman_region32_fini(&damage);
- /* XXX: Should assert that all damage was covered by some output */
- pixman_region32_clear(&compositor->damage);
- compositor->pending_flips |= updates;
- compositor->scheduled_updates &= ~updates;
+ flush_output_damage(output, &damage);
+ repaint_output(compositor, output, &damage);
}
+ pixman_region32_fini(&damage);
+ /* XXX: Should assert that all damage was covered by some output */
+ pixman_region32_clear(&compositor->damage);
+ compositor->pending_flips |= updates;
+ compositor->scheduled_updates &= ~updates;
}
static void handle_focus(struct swc_pointer * pointer)