pepper_renderer_set_target(output->renderer, output->render_target);
pepper_renderer_repaint_output(output->renderer, output->base, render_list, damage);
-
- /* NULL means that whole damage region is updated.
- * If only visible damage region is updated, pass that region to this function
- * so that pepper core correctly manage remaining damage region. */
- pepper_plane_subtract_damage_region(plane, NULL);
+ pepper_plane_clear_damage_region(plane);
update_back_buffer(output);
pixman_region32_t *damage = pepper_plane_get_damage_region(plane);
pepper_renderer_repaint_output(output->renderer, output->base, render_list, damage);
+ pepper_plane_clear_damage_region(plane);
/* FIXME: composite with damage? */
if (output->use_shadow)
pepper_plane_subtract_damage_region(pepper_plane_t *plane, pixman_region32_t *damage);
PEPPER_API void
+pepper_plane_clear_damage_region(pepper_plane_t *plane);
+
+PEPPER_API void
pepper_view_assign_plane(pepper_view_t *view, pepper_output_t *output, pepper_plane_t *plane);
PEPPER_API void
{
pixman_region32_subtract(&plane->damage_region, &plane->damage_region, damage);
}
+
+PEPPER_API void
+pepper_plane_clear_damage_region(pepper_plane_t *plane)
+{
+ pixman_region32_clear(&plane->damage_region);
+}
output->render_pre(output);
pepper_renderer_repaint_output(output->renderer, output->base, render_list, damage);
+ pepper_plane_clear_damage_region(plane);
if (output->render_post)
output->render_post(output);
pepper_renderer_set_target(output->renderer, output->target);
pepper_renderer_repaint_output(output->renderer, output->base, render_list, damage);
+ pepper_plane_clear_damage_region(plane);
if (output->renderer == output->connection->pixman_renderer)
{