On Tue, Mar 05, 2013 at 05:30:28PM +0200, Ander Conselvan de Oliveira wrote: > The core uses this region to clear from the primary plane damage the > area that was repainted. If we add the old buffer damage to that, it > may end up clearing more damage from the primary plane than it was > intended. > --- > src/gl-renderer.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/src/gl-renderer.c b/src/gl-renderer.c > index a5dc2f3..4c1bc23 100644 > --- a/src/gl-renderer.c > +++ b/src/gl-renderer.c > @@ -957,6 +957,7 @@ gl_renderer_repaint_output(struct weston_output *output, > EGLBoolean ret; > static int errored; > int32_t width, height, i; > + pixman_region32_t total_damage; > > width = output->current->width + > output->border.left + output->border.right; > @@ -987,10 +988,13 @@ gl_renderer_repaint_output(struct weston_output *output, > &go->buffer_damage[i], > output_damage); > > - pixman_region32_union(output_damage, output_damage, > - &go->buffer_damage[go->current_buffer]); > + pixman_region32_init(&total_damage); > + pixman_region32_copy(&total_damage, > + &go->buffer_damage[go->current_buffer]);
Shouldn't total_damage still be the union of buffer_damage and output_damage? > - repaint_surfaces(output, output_damage); > + repaint_surfaces(output, &total_damage); > + > + pixman_region32_fini(&total_damage); > > if (gr->border.texture) > draw_border(output); > -- > 1.7.10.4 > > _______________________________________________ > wayland-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
