wlroots/types
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
..
data_device Set mapped before firing map/unmap events 2022-08-06 00:19:38 +02:00
output output: fix missing buffer when using direct scanout 2022-06-29 17:42:57 +02:00
scene wlr_scene: Calculate output intersections based on node visibility 2022-08-14 02:38:51 -04:00
seat seat/pointer: fix uninitialized variable warning 2022-07-28 02:25:31 -04:00
tablet_v2 wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
xdg_shell xdg_shell: Destroy popups after unmap event 2022-08-06 00:20:42 +02:00
meson.build single-pixel-buffer-v1: new protocol implementation 2022-08-03 10:35:23 +00:00
wlr_buffer.c render: replace wlr_texture_write_pixels with update_from_buffer 2022-08-12 08:41:32 +00:00
wlr_compositor.c surface: implement wl_surface.offset 2022-08-12 11:27:33 +02:00
wlr_cursor.c wlr_{keyboard,pointer,touch}: Update event docs 2022-06-28 09:50:30 +00:00
wlr_damage_ring.c types: add wlr_damage_ring 2022-06-29 18:54:21 +03:00
wlr_data_control_v1.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_drm_lease_v1.c drm-lease-v1: skip device on wlr_drm_backend_get_non_master_fd failure 2022-05-02 15:44:16 +00:00
wlr_drm.c buffer: extract interface to separate header 2022-03-03 15:39:05 +01:00
wlr_export_dmabuf_v1.c export-dmabuf-v1: use wlr_output_event_commit.buffer 2021-12-03 14:56:17 +00:00
wlr_foreign_toplevel_management_v1.c foreign-toplevel: send enter if needed on output bind 2022-01-17 19:11:08 +01:00
wlr_fullscreen_shell_v1.c surface: deprecate wlr_surface.h 2022-01-13 10:06:41 +00:00
wlr_gamma_control_v1.c gamma-control-v1: schedule frame when resetting gamma LUT 2021-01-10 18:40:08 +01:00
wlr_idle_inhibit_v1.c surface: deprecate wlr_surface.h 2022-01-13 10:06:41 +00:00
wlr_idle.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_input_device.c Zero-initialize structs in init functions 2022-04-28 10:09:50 +02:00
wlr_input_inhibitor.c Make implementation function lists static const 2021-02-05 10:04:20 +01:00
wlr_input_method_v2.c Set mapped before firing map/unmap events 2022-08-06 00:19:38 +02:00
wlr_keyboard_group.c types/wlr_keyboard: uniformize events name 2022-03-17 18:16:14 +00:00
wlr_keyboard_shortcuts_inhibit_v1.c surface: deprecate wlr_surface.h 2022-01-13 10:06:41 +00:00
wlr_keyboard.c wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_layer_shell_v1.c Set mapped before firing map/unmap events 2022-08-06 00:19:38 +02:00
wlr_linux_dmabuf_v1.c linux-dmabuf-v1: fix MOD_INVALID handling in feedback tranches 2022-05-26 13:45:24 +00:00
wlr_matrix.c matrix: remove wlr_matrix_projection() 2022-06-08 19:27:36 +00:00
wlr_output_damage.c output: add wlr_output_event_precommit.state 2022-05-30 11:34:57 +02:00
wlr_output_layout.c wlr_output_layout_contains_point: handle outputs that aren't in the layout 2022-03-11 06:49:49 +00:00
wlr_output_management_v1.c output-management-v1: add wlr_output_head_v1_state_apply() 2022-06-17 21:05:51 +00:00
wlr_output_power_management_v1.c output-power-management-v1: listen to output commit 2020-08-27 13:54:19 -06:00
wlr_pointer_constraints_v1.c surface: deprecate wlr_surface.h 2022-01-13 10:06:41 +00:00
wlr_pointer_gestures_v1.c types/wlr_pointer_gestures_v1.c: get client from seat client instead of resource 2022-04-16 20:53:52 +02:00
wlr_pointer.c wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_presentation_time.c surface: deprecate wlr_surface.h 2022-01-13 10:06:41 +00:00
wlr_primary_selection_v1.c primary selection: destroy devices before manager 2021-01-05 13:53:58 +01:00
wlr_primary_selection.c Zero-initialize structs in init functions 2022-04-28 10:09:50 +02:00
wlr_region.c region: stabilize interface 2021-07-05 09:25:25 -04:00
wlr_relative_pointer_v1.c relative-pointer-v1: don't allocate when inert 2022-05-30 21:57:12 +00:00
wlr_screencopy_v1.c output: add wlr_output_event_precommit.state 2022-05-30 11:34:57 +02:00
wlr_server_decoration.c surface: deprecate wlr_surface.h 2022-01-13 10:06:41 +00:00
wlr_session_lock_v1.c ext-session-lock-v1: new protocol implementation 2022-02-02 15:22:02 +01:00
wlr_single_pixel_buffer_v1.c single-pixel-buffer-v1: new protocol implementation 2022-08-03 10:35:23 +00:00
wlr_subcompositor.c Set mapped before firing map/unmap events 2022-08-06 00:19:38 +02:00
wlr_switch.c wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_tablet_pad.c wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_tablet_tool.c wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_text_input_v3.c surface: deprecate wlr_surface.h 2022-01-13 10:06:41 +00:00
wlr_touch.c wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_viewporter.c surface: deprecate wlr_surface.h 2022-01-13 10:06:41 +00:00
wlr_virtual_keyboard_v1.c wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_virtual_pointer_v1.c wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_xcursor_manager.c Make wlr_xcursor_manager_load() return a bool 2020-05-18 16:48:44 +02:00
wlr_xdg_activation_v1.c xdg-activation: Deduplicate token creation code 2022-03-26 17:28:51 +01:00
wlr_xdg_decoration_v1.c xdg-toplevel: fix functions' main argument type 2022-02-02 21:06:11 +03:00
wlr_xdg_foreign_registry.c util/uuid: replace with util/token, remove libuuid 2021-04-11 19:09:36 +02:00
wlr_xdg_foreign_v1.c xdg-foreign-v1: treat unmapped parents as NULL 2022-04-13 16:48:15 +00:00
wlr_xdg_foreign_v2.c xdg-foreign-v2: treat unmapped parents as NULL 2022-04-13 16:48:15 +00:00
wlr_xdg_output_v1.c xdg-output: remove dead code 2022-01-28 17:38:39 +01:00