wlroots-hyprland/types/scene
Alexander Orzechowski a32180afa7 wlr_scene: Fix damage tracking with non atomic opaque region configuration
We need to intersect the opaque region with the node size or else we'll
get damage tracking effects with compositors attempting to use
wlr_scene_buffer_set_opaque_region() along with resizing the buffer
at the same time in a certain order.

Consider this: I have a new buffer that I want to commit to my scene buffer
that is smaller than the old one. However, I still have the old opaque
region that is the size of the old larger buffer, so that means that
for the small moment between when we reconfigure the opaque region for the
new buffer the opaque region will be oversized. Scene logic will then
try to apply occluding optimizations outside of the node boundaries
causing damage artifacts.
2023-07-22 19:23:36 -04:00
..
drag_icon.c drag: use unified map logic 2023-06-02 17:26:18 +00:00
layer_shell_v1.c layer-shell: use unified map logic 2023-06-02 17:26:18 +00:00
output_layout.c scene/output_layout: Fix crash in scene_output_layout_output_destroy 2022-06-07 20:58:41 +02:00
subsurface_tree.c subcompositor: use unified map logic 2023-06-02 17:26:18 +00:00
surface.c scene: send wl_surface.preferred_buffer_scale 2023-07-15 10:28:25 +00:00
wlr_scene.c wlr_scene: Fix damage tracking with non atomic opaque region configuration 2023-07-22 19:23:36 -04:00
xdg_shell.c xdg-shell: use unified map logic 2023-06-02 17:26:18 +00:00