Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
fix(scenefx): re-enable blur artifact compensation around damage
Commit 092b91e added the cursor-history guard that punches holes in the
blur padding region so restored pixels can't resurrect stale software
cursors — but it also flipped should_compensate_blur to false in the
apply_blur_region branch, leaving the whole compensation block (guard
included) dead. Since then any damage over a blurred surface (e.g. the
software cursor crossing a status module backplate) re-blurs just the
damaged patch with clip-edge conditions that don't match the
surrounding cached blur, showing up as a lighter band around the
cursor.
Restore upstream's should_compensate_blur = true; the ghost-cursor
guard now actually runs.
Co-Authored-By: Claude Fable 5 <[email protected]>
scenefx/types/scene/wlr_scene.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scenefx/types/scene/wlr_scene.c b/scenefx/types/scene/wlr_scene.c
index ef17f4a..9c9b3b3 100644
--- a/scenefx/types/scene/wlr_scene.c
+++ b/scenefx/types/scene/wlr_scene.c
@@ -3422,7 +3422,7 @@ bool wlr_scene_output_build_state(struct wlr_scene_output *scene_output,
if (apply_blur_region(node, &blur_data, &render_data, state,
&original_damage, &blur_padding_region)) {
- should_compensate_blur = false;
+ should_compensate_blur = true;
fx_pass->has_blur = true;
}
}