wlroots/types/scene
Alexander Orzechowski 14e1987f50 wlr_scene: Don't special case swapchain buffers
This fixes direct scanout VRR. As direct scanout buffers are not part
of the swapchain, we would mistakenly union instead of subtract the damage
meaning it will just accumulate indefinitely.

The reason for this existing in the first place is for compositors that
might want to sidestep scene and commit their own buffers to the output.
In this case, scene could theoretically acknowledge that and update the
damage. Except, this really didn't work because WLR_OUTPUT_STATE_DAMAGE
would need to be defined which is optional. This patch also properly
acknowledges commits without damage.

In the use case of a weird compositor that might want to sidestep scene,
they can just trash the damage ring themselves.

Fixes: #3871
2024-08-14 11:23:02 -04: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: add support for linux-drm-syncobj-v1 2024-08-06 17:37:06 +00:00
wlr_scene.c wlr_scene: Don't special case swapchain buffers 2024-08-14 11:23:02 -04:00
xdg_shell.c wlr_scene: Don't disable scene nodes at creation time 2024-07-04 14:35:52 -04:00