wlroots-hyprland/include/wlr/types
Simon Ser a0345f2854 output: add wlr_output_state.allow_artifacts
When starting up, the compositor might call wlr_output_set_mode()
with a mode which is already the current one. wlroots will detect
this and make the wlr_output_set_mode() call a no-op. During the
next wlr_output_commit() call, wlroots will perform an atomic
commit without the ALLOW_MODESET flag.

This is an issue, because some drivers need ALLOW_MODESET even if
the mode is the same. For instance, if the FB stride or modifier
changed, some drivers require a modeset.

Add a new flag "allow_artifacts" which is set when the compositor
calls mode-setting functions. Use this flag to figure out whether
we want to perform atomic commits with ALLOW_MODESET.

(The name "allow_artifacts" is picked because ALLOW_MODESET is a
misnomer, see [1].)

[1]: https://patchwork.freedesktop.org/patch/505107/

Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3499
2022-09-30 10:58:17 +00:00
..
wlr_buffer.h render: replace wlr_texture_write_pixels with update_from_buffer 2022-08-12 08:41:32 +00:00
wlr_compositor.h compositor: fix wlr_surface_set_role return value docs 2022-09-05 15:34:19 +02:00
wlr_cursor.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_damage_ring.h types: add wlr_damage_ring 2022-06-29 18:54:21 +03:00
wlr_data_control_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_data_device.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_drm.h drm: add support for DMA-BUFs 2021-07-05 11:13:41 -04:00
wlr_drm_lease_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_export_dmabuf_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_foreign_toplevel_management_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_fullscreen_shell_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_gamma_control_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_idle.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_idle_inhibit_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_input_device.h wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_input_inhibitor.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_input_method_v2.h Document NULL return value of foo_from_wlr_surface() functions 2022-07-02 13:28:02 +02:00
wlr_keyboard.h wlr_{keyboard,pointer,touch}: Update event docs 2022-06-28 09:50:30 +00:00
wlr_keyboard_group.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_keyboard_shortcuts_inhibit_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_layer_shell_v1.h Document NULL return value of foo_from_wlr_surface() functions 2022-07-02 13:28:02 +02:00
wlr_linux_dmabuf_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_matrix.h matrix: remove wlr_matrix_projection() 2022-06-08 19:27:36 +00:00
wlr_output.h output: add wlr_output_state.allow_artifacts 2022-09-30 10:58:17 +00:00
wlr_output_damage.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_output_layout.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_output_management_v1.h output-management-v1: add wlr_output_head_v1_state_apply() 2022-06-17 21:05:51 +00:00
wlr_output_power_management_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_pointer.h pointer: transform low-res to high-res axis events 2022-07-11 11:01:35 +02:00
wlr_pointer_constraints_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_pointer_gestures_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_presentation_time.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_primary_selection.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_primary_selection_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_region.h region: drop leftover reference to the mailing list 2021-07-05 10:32:50 -04:00
wlr_relative_pointer_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_scene.h wlr_scene: Convert render_list to wl_array 2022-08-19 19:38:33 +02:00
wlr_screencopy_v1.h screencopy-v1: use wlr_buffer APIs 2022-09-22 18:01:52 +00:00
wlr_seat.h seat: support low-resolution clients 2022-07-11 11:01:35 +02:00
wlr_server_decoration.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_session_lock_v1.h Document NULL return value of foo_from_wlr_surface() functions 2022-07-02 13:28:02 +02:00
wlr_single_pixel_buffer_v1.h single-pixel-buffer-v1: fix header guard name 2022-09-17 09:18:11 +02:00
wlr_subcompositor.h Document NULL return value of foo_from_wlr_surface() functions 2022-07-02 13:28:02 +02:00
wlr_surface.h surface: deprecate wlr_surface.h 2022-01-13 10:06:41 +00:00
wlr_switch.h wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_tablet_pad.h wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_tablet_tool.h wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_tablet_v2.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_text_input_v3.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_touch.h wlr_{keyboard,pointer,touch}: Update event docs 2022-06-28 09:50:30 +00:00
wlr_viewporter.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_virtual_keyboard_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_virtual_pointer_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_xcursor_manager.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_xdg_activation_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_xdg_decoration_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_xdg_foreign_registry.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_xdg_foreign_v1.h xdg-foreign-v1: s/unmap/destroy 2022-09-11 09:20:08 +03:00
wlr_xdg_foreign_v2.h xdg-foreign-v2: s/unmap/destroy 2022-09-11 09:20:08 +03:00
wlr_xdg_output_v1.h xdg-output-v1: use wlr_output.description 2019-12-29 12:35:22 -05:00
wlr_xdg_shell.h xdg-shell: add support for v5 2022-08-01 18:50:16 +02:00