From 5eca5d8946cac22ee570cb889e137f29edffa336 Mon Sep 17 00:00:00 2001 From: random human Date: Tue, 25 Sep 2018 01:38:09 +0530 Subject: [PATCH] wlr_surface: remove duplicated damage calculation The damage is already calculated and stored in surface->buffer_damage by surface_update_damage(). --- types/wlr_surface.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/types/wlr_surface.c b/types/wlr_surface.c index 10e0520b..dde035fb 100644 --- a/types/wlr_surface.c +++ b/types/wlr_surface.c @@ -301,29 +301,8 @@ static void surface_apply_damage(struct wlr_surface *surface) { } if (surface->buffer != NULL && surface->buffer->released) { - pixman_region32_t damage; - pixman_region32_init(&damage); - pixman_region32_copy(&damage, &surface->current.buffer_damage); - - pixman_region32_t surface_damage; - pixman_region32_init(&surface_damage); - pixman_region32_copy(&surface_damage, &surface->current.surface_damage); - wlr_region_transform(&surface_damage, &surface_damage, - wlr_output_transform_invert(surface->current.transform), - surface->current.width, surface->current.height); - wlr_region_scale(&surface_damage, &surface_damage, - surface->current.scale); - pixman_region32_union(&damage, &damage, &surface_damage); - pixman_region32_fini(&surface_damage); - - pixman_region32_intersect_rect(&damage, &damage, 0, 0, - surface->current.buffer_width, surface->current.buffer_height); - struct wlr_buffer *updated_buffer = - wlr_buffer_apply_damage(surface->buffer, resource, &damage); - - pixman_region32_fini(&damage); - + wlr_buffer_apply_damage(surface->buffer, resource, &surface->buffer_damage); if (updated_buffer != NULL) { surface->buffer = updated_buffer; return;