wlroots-hyprland/types
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
..
buffer Use wl_container_of() instead of casts 2023-07-11 20:16:17 +02:00
data_device Use wl_container_of() instead of casts 2023-07-11 20:16:17 +02:00
output cursor, output: apply viewport to cursor 2023-07-17 14:55:22 +00:00
scene wlr_scene: Fix damage tracking with non atomic opaque region configuration 2023-07-22 19:23:36 -04:00
seat compositor: introduce wlr_surface_set_role_object() 2023-06-23 11:54:05 +00:00
tablet_v2 compositor: introduce wlr_surface_set_role_object() 2023-06-23 11:54:05 +00:00
xdg_shell compositor: replace role_data with role_resource 2023-06-23 14:23:27 +02:00
meson.build output-damage: drop 2023-04-06 20:34:30 +00:00
wlr_compositor.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_content_type_v1.c content-type-v1: add version param to wlr_content_type_manager_v1_create() 2022-11-15 16:43:04 +01:00
wlr_cursor.c cursor, output: apply viewport to cursor 2023-07-17 14:55:22 +00:00
wlr_damage_ring.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_data_control_v1.c Use wl_container_of() instead of casts 2023-07-11 20:16:17 +02:00
wlr_drm.c Use wl_container_of() instead of casts 2023-07-11 20:16:17 +02:00
wlr_drm_lease_v1.c drm-lease-v1: reject the lease request by default 2022-10-07 19:49:28 +00:00
wlr_export_dmabuf_v1.c export-dmabuf, screencopy: schedule_frame -> needs_frame 2023-07-18 12:01:16 +01:00
wlr_foreign_toplevel_management_v1.c foreign-toplevel-management: fix indentation 2022-10-01 19:57:32 +00:00
wlr_fractional_scale_v1.c wp-fractional-scale-v1: new protocol implementation 2023-02-08 16:31:39 +01:00
wlr_fullscreen_shell_v1.c fullscreen-shell: set surface role 2023-06-23 22:09:54 +03:00
wlr_gamma_control_v1.c gamma-control-v1: stop applying gamma LUTs implicitly 2023-06-08 18:47:46 +00:00
wlr_idle.c wlr_idle: Handle inert seats 2023-06-03 10:43:12 +00:00
wlr_idle_inhibit_v1.c Use wl_signal_emit_mutable 2022-08-18 07:16:16 -04:00
wlr_idle_notify_v1.c idle-notify-v1: new protocol implementation 2022-10-14 13:36:15 +00:00
wlr_input_device.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_input_inhibitor.c Use wl_signal_emit_mutable 2022-08-18 07:16:16 -04:00
wlr_input_method_v2.c input-method-v2: don't remove inert role resource 2023-07-10 10:03:24 +02:00
wlr_keyboard.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_keyboard_group.c Use wl_container_of() instead of casts 2023-07-11 20:16:17 +02:00
wlr_keyboard_shortcuts_inhibit_v1.c keyboard-shortcuts-inhibit: Handle inert seats 2023-06-03 10:43:12 +00:00
wlr_layer_shell_v1.c layer-shell: don't remove inert role resource 2023-07-10 10:03:24 +02:00
wlr_linux_dmabuf_v1.c Use wl_container_of() instead of casts 2023-07-11 20:16:17 +02:00
wlr_matrix.c matrix: remove wlr_matrix_projection() 2022-06-08 19:27:36 +00:00
wlr_output_layer.c output-layer: add feedback event 2023-02-20 18:38:57 +01:00
wlr_output_layout.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_output_management_v1.c wlr-output-management: implement adaptive sync 2022-10-24 16:19:25 +00:00
wlr_output_power_management_v1.c Use wl_signal_emit_mutable 2022-08-18 07:16:16 -04:00
wlr_pointer.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_pointer_constraints_v1.c region: constify 2022-11-11 23:11:17 +00:00
wlr_pointer_gestures_v1.c Use wl_signal_emit_mutable 2022-08-18 07:16:16 -04:00
wlr_presentation_time.c presentation-time: add separate helper for zero-copy 2023-07-14 15:20:35 +02:00
wlr_primary_selection.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_primary_selection_v1.c Use wl_container_of() instead of casts 2023-07-11 20:16:17 +02:00
wlr_region.c region: constify 2022-11-11 23:11:17 +00:00
wlr_relative_pointer_v1.c Use wl_signal_emit_mutable 2022-08-18 07:16:16 -04:00
wlr_screencopy_v1.c export-dmabuf, screencopy: schedule_frame -> needs_frame 2023-07-18 12:01:16 +01:00
wlr_server_decoration.c Use wl_signal_emit_mutable 2022-08-18 07:16:16 -04:00
wlr_session_lock_v1.c session-lock: add missing lock_surface_destroy 2023-07-21 18:56:14 +02:00
wlr_shm.c shm: add create() function without a wlr_renderer 2022-11-25 15:16:42 +00: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 subcompositor: don't remove inert role resource 2023-07-10 10:03:08 +02:00
wlr_switch.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_tablet_pad.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_tablet_tool.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_text_input_v3.c text-input: Handle inert seats 2023-06-03 10:43:12 +00:00
wlr_touch.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_viewporter.c viewporter: check for an existing viewport 2023-07-07 12:49:06 +03:00
wlr_virtual_keyboard_v1.c virtual-keyboard: Handle inert seats 2023-06-03 10:43:12 +00:00
wlr_virtual_pointer_v1.c Use struct initializers instead of memset() 2023-07-07 17:31:11 +02:00
wlr_xcursor_manager.c xcursor-manager: drop wlr_xcursor_manager_set_cursor_image() 2023-07-02 22:42:37 +00:00
wlr_xdg_activation_v1.c xdg-activation: accept pointer focus for new tokens 2023-02-06 15:52:02 +01:00
wlr_xdg_decoration_v1.c xdg-decoration: send missing protocol errors 2023-03-10 11:44:20 +01:00
wlr_xdg_foreign_registry.c Use wl_signal_emit_mutable 2022-08-18 07:16:16 -04:00
wlr_xdg_foreign_v1.c xdg-shell: use unified map logic 2023-06-02 17:26:18 +00:00
wlr_xdg_foreign_v2.c xdg-shell: use unified map logic 2023-06-02 17:26:18 +00:00
wlr_xdg_output_v1.c types/wlr_xdg_output_v1: Fix wl_output.done bug. 2022-08-19 14:22:23 +00:00