Invalidate blur from per-output sampled backdrop damage

This commit is contained in:
Samuel Onoja committed 2026-10-02 04:27:07 +01:00
1 parent 3d6cee125d
commit 325835f40a
13 files changed
+273 -82

No files matched your search

+1 -3
View File
@@ -468,9 +468,7 @@ impl Ferese {
self.refresh_workspace_slide_offsets();
self.sync_window_stacking();
if active_animation || dim_changed {
self.backdrop_generation = self.backdrop_generation.wrapping_add(1);
}
active_animation |= dim_changed;
active_animation
}
+1 -6
View File
@@ -238,7 +238,7 @@ impl Ferese {
}
}
let mut layout_changed = self.unmap_invisible_windows(&visible);
self.unmap_invisible_windows(&visible);
let now = self.start_time.elapsed();
@@ -268,7 +268,6 @@ impl Ferese {
} else {
PresentationMode::Normal
};
layout_changed |= !had_geometry || geometry.logical != rect;
let mut requested_size = geometry.set_presentation_mode(rect, mode, now);
if !was_mapped && (had_geometry || is_fullscreen) {
geometry.settle_presentation();
@@ -405,10 +404,6 @@ impl Ferese {
}
}
if layout_changed {
self.backdrop_generation = self.backdrop_generation.wrapping_add(1);
}
self.sync_window_stacking();
self.retarget_overview();
self.send_shell_snapshots();
+3 -3
View File
@@ -71,7 +71,7 @@ impl Ferese {
if let Some(swipe) = &mut self.focus_swipe {
swipe.progress = progress;
}
self.backdrop_generation = self.backdrop_generation.wrapping_add(1);
if let Some(output) = self
.focus_swipe
.as_ref()
@@ -440,7 +440,7 @@ impl Ferese {
.expect("gesture output exists")
.held_progress = Some(progress);
self.refresh_workspace_slide_offsets();
self.backdrop_generation = self.backdrop_generation.wrapping_add(1);
if let Some(output) = self.outputs_by_id.get(&output).cloned() {
self.defer_output_redraw(output);
}
@@ -464,7 +464,7 @@ impl Ferese {
slide.gesture = Some((from, to, direction));
self.workspace_slides.insert(output, slide);
self.swipe.mark_preview_started();
self.backdrop_generation = self.backdrop_generation.wrapping_add(1);
self.relayout();
}