commit 03a29ed36df22f39198168c95d940a59578daa49
parent b518b1295cc0eb4237f695ee31bb8e0bba773a20
Author: Kirill Primak <vyivel@posteo.net>
Date: Sat, 4 Dec 2021 20:39:13 +0300
output: remove surface buffer damage check
A surface can have effective damage even without any buffer damage
committed.
Diffstat:
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
@@ -633,21 +633,19 @@ static void damage_surface_iterator(struct sway_output *output,
struct wlr_box box = *_box;
scale_box(&box, output->wlr_output->scale);
- if (pixman_region32_not_empty(&surface->buffer_damage)) {
- pixman_region32_t damage;
- pixman_region32_init(&damage);
- wlr_surface_get_effective_damage(surface, &damage);
- wlr_region_scale(&damage, &damage, output->wlr_output->scale);
- if (ceil(output->wlr_output->scale) > surface->current.scale) {
- // When scaling up a surface, it'll become blurry so we need to
- // expand the damage region
- wlr_region_expand(&damage, &damage,
- ceil(output->wlr_output->scale) - surface->current.scale);
- }
- pixman_region32_translate(&damage, box.x, box.y);
- wlr_output_damage_add(output->damage, &damage);
- pixman_region32_fini(&damage);
- }
+ pixman_region32_t damage;
+ pixman_region32_init(&damage);
+ wlr_surface_get_effective_damage(surface, &damage);
+ wlr_region_scale(&damage, &damage, output->wlr_output->scale);
+ if (ceil(output->wlr_output->scale) > surface->current.scale) {
+ // When scaling up a surface, it'll become blurry so we need to
+ // expand the damage region
+ wlr_region_expand(&damage, &damage,
+ ceil(output->wlr_output->scale) - surface->current.scale);
+ }
+ pixman_region32_translate(&damage, box.x, box.y);
+ wlr_output_damage_add(output->damage, &damage);
+ pixman_region32_fini(&damage);
if (whole) {
wlr_output_damage_add_box(output->damage, &box);