@ -1434,7 +1434,10 @@ gl_renderer_repaint_output(struct weston_output *output,
struct gl_renderer * gr = get_renderer ( compositor ) ;
struct gl_renderer * gr = get_renderer ( compositor ) ;
EGLBoolean ret ;
EGLBoolean ret ;
static int errored ;
static int errored ;
pixman_region32_t buffer_damage , total_damage ;
/* areas we've damaged since we last used this buffer */
pixman_region32_t previous_damage ;
/* total area we need to repaint this time */
pixman_region32_t total_damage ;
enum gl_border_status border_status = BORDER_STATUS_CLEAN ;
enum gl_border_status border_status = BORDER_STATUS_CLEAN ;
struct weston_view * view ;
struct weston_view * view ;
@ -1489,18 +1492,18 @@ gl_renderer_repaint_output(struct weston_output *output,
}
}
pixman_region32_init ( & total_damage ) ;
pixman_region32_init ( & total_damage ) ;
pixman_region32_init ( & buffer _damage) ;
pixman_region32_init ( & previous _damage) ;
output_get_damage ( output , & buffer _damage, & border_status ) ;
output_get_damage ( output , & previous _damage, & border_status ) ;
output_rotate_damage ( output , output_damage , go - > border_status ) ;
output_rotate_damage ( output , output_damage , go - > border_status ) ;
pixman_region32_union ( & total_damage , & buffer _damage, output_damage ) ;
pixman_region32_union ( & total_damage , & previous _damage, output_damage ) ;
border_status | = go - > border_status ;
border_status | = go - > border_status ;
repaint_views ( output , & total_damage ) ;
repaint_views ( output , & total_damage ) ;
pixman_region32_fini ( & total_damage ) ;
pixman_region32_fini ( & total_damage ) ;
pixman_region32_fini ( & buffer _damage) ;
pixman_region32_fini ( & previous _damage) ;
draw_output_borders ( output , border_status ) ;
draw_output_borders ( output , border_status ) ;