wlroots/types/scene
Gabriel Ford 06d3d48aa2 wlr_scene: fix fullscreen app stuttering when screensharing
Problem: The wlroots implementation of wlr_screencopy applys a lock for
a brief duration every time a frame is captured. If an output is
eligible for direct scanout then this will result in direct scanout
being rapidly toggled on and off since the lock count constantly flips
between 0 and 1. On some hardware this causes stuttering every time
direct scanout is enabled then disabled.

Solution: To mitigate this we wait for there to be 0 locks for 120
frames so that we can be relatively confident that screen recording has
stopped before we re-enable direct scanout.
2025-10-16 18:47:11 -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 render: introduce bt.1886 transfer function 2025-10-04 18:13:37 +05:30
wlr_scene.c wlr_scene: fix fullscreen app stuttering when screensharing 2025-10-16 18:47:11 -04:00
xdg_shell.c xdg-surface: fix window geometry handling 2024-08-14 18:52:13 +00:00