wlroots-hyprland/types/scene
Alexander Orzechowski ce57485e6a wlr_scene: Calculate output intersections based on node visibility
This has a few benefits one of them crucial for proper operation:
 - The primary output will be based on the largest area that is actually
 visible to the user. Presentation and frame done events are based on
 this state. This is important to do since we cull frame done events.
 If we happen to be in a situation where a surface sits mostly on output
 A and some on output B but is completely obstructed by for instance a
 fullscreen surface on output A we will erroneously send frame_done
 events based on output A. If we base things as they are in reality
 (visibility) the primary output will instead be output B and things will
 work properly.
 - The primary output will be NULL if the surface is completely hidden.
 Due to quirks with wayland, on a surface commit, frame done events are
 required to be sent. Therefore, a new frame will be submitted for rendering
 on the primary output. We can improve adaptive sync on completely hidden
 but enabled surfaces if we null out the primary output in this state.
 - The client will be more likely to choose better metadata to use
 for rendering to an output's optimal rendering characteristics.
2022-08-14 02:38:51 -04:00
..
layer_shell_v1.c scene/layer_shell: Ignore unmapped exclusion zone 2022-08-06 00:23:44 +02: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 wlr_scene: Only allow parenting on a wlr_scene_tree 2022-05-31 09:14:28 +00:00
surface.c wlr_scene/surface: Hook through opaque metadata 2022-08-14 02:38:50 -04:00
wlr_scene.c wlr_scene: Calculate output intersections based on node visibility 2022-08-14 02:38:51 -04:00
xdg_shell.c wlr_scene: Only allow parenting on a wlr_scene_tree 2022-05-31 09:14:28 +00:00