wlroots/types/scene
Kenny Levinsen dc7dba8b1f scene/surface: Do not use buffer dimensions for clip
The surface's buffer dimensions were used to scale the clip's x/y
offset. If a surface had a larger buffer than src_box, the calculations
to scale the x/y portion of the clip would be incorrect, yielding
graphical glitches.

This was noticed with Chromium in sway, which during resize uses a
viewport with a src_box to avoid immediate buffer reallocation. While
the viewport was in use, the surface would be shifted so that too much
content was cropped in the upper left, and damage glitching was visible
in the lower right.

Use the buffer source box dimensions instead.
2025-02-18 14:39:17 +00:00
..
drag_icon.c wlr_scene: Don't disable scene nodes at creation time 2024-07-04 14:35:52 -04:00
layer_shell_v1.c wlr_scene: Don't disable scene nodes at creation time 2024-07-04 14:35:52 -04:00
output_layout.c scene: ignore duplicate wlr_scene_output_layout_add_output() calls 2024-02-20 11:04:46 +01:00
subsurface_tree.c scene: constify subsurface_tree_set_clip() 2024-03-20 12:56:28 +01:00
surface.c scene/surface: Do not use buffer dimensions for clip 2025-02-18 14:39:17 +00:00
wlr_scene.c Remove all calls to pixman_region32_not_empty() 2025-01-29 23:37:06 +01:00
xdg_shell.c xdg-surface: fix window geometry handling 2024-08-14 18:52:13 +00:00