weston/libweston
Derek Foreman a52893f585 drm: Synchronize invalid state recovery operations
When we end up with invalid state, we'll be rebuilding the entire state from
scratch. This new rebuilt state would conflict with any outstanding flips,
so we need to wait until all flips are complete to begin the rebuild.

After we set the rebuilt state, we now have to be careful not to allow any
other outputs to attempt flips until the rebuilt state's flip completes,
or we could provoke an EBUSY from the drm device.

Add a recovery state machine to the drm backend to synchronize all of this.

Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
2026-02-03 09:12:07 +00:00
..
backend-drm drm: Synchronize invalid state recovery operations 2026-02-03 09:12:07 +00:00
backend-headless backend-headless: fix undeclared FALSE identifier 2025-12-09 09:41:52 +01:00
backend-pipewire output-capture: Support writeback connector formats 2025-09-25 12:39:23 +02:00
backend-rdp backend-rdp: Add keyboard mapping for alternate Dvorak layouts 2025-10-21 23:21:55 +01:00
backend-vnc backend-vnc: Add missing aml/neatvnc cleanup in error path 2026-01-12 16:53:12 +00:00
backend-wayland vulkan-renderer: rename output options to surface/surfaceless 2025-09-12 18:04:57 +01:00
backend-x11 vulkan-renderer: rename output options to surface/surfaceless 2025-09-12 18:04:57 +01:00
color-lcms color-lcms: implement media white point scaling 2025-12-02 11:46:44 +02:00
desktop xdg-shell: Gate all configure events behind first commit 2026-01-06 12:21:29 +02:00
perfetto libweston: Add support for perfetto profiling 2025-01-24 12:22:13 +00:00
renderer-gl renderer-gl: Check for valid CVD uniform 2026-01-28 07:48:28 +00:00
renderer-vulkan vulkan-renderer: fix VkMemoryDedicatedRequirements usage 2025-11-07 14:30:29 +01:00
shell-utils shell-utils: Ensure committed_private is set 2025-12-04 11:41:52 -06:00
animation.c animation: Change how we seed the initial time 2025-11-24 12:29:15 -06:00
auth.c libweston: Add user authentication support via PAM 2022-11-23 16:58:48 +01:00
backend.h compositor: Add REPAINT_DEFERRED repaint_status 2026-02-03 09:12:07 +00:00
bindings.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
clipboard.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
color-management.c shared: rename a few weston assert 2025-09-15 19:13:04 -03:00
color-management.h color: update color-management protocol to wp-v1 2025-02-26 10:09:43 -03:00
color-noop.c libweston: make use of some of the new weston assert 2025-09-15 19:16:17 -03:00
color-operations.c color: run vec3 through weston_color_curve_sample() 2025-10-21 14:23:37 +03:00
color-operations.h color: run vec3 through weston_color_curve_sample() 2025-10-21 14:23:37 +03:00
color-profile-param-builder.c color: add weston_color_profile_param_builder_set_target_primaries_named() 2025-10-09 16:17:57 +00:00
color-properties.c color: shorten the named of primaries 2025-06-17 10:40:03 +03:00
color-properties.h color: fix count_parameters type 2025-06-17 10:40:03 +03:00
color-representation.c libweston: Implement color-representation protocol 2025-12-19 17:08:29 +01:00
color-representation.h libweston: Implement color-representation protocol 2025-12-19 17:08:29 +01:00
color.c color: export weston_CIExy_to_XYZ() 2025-12-02 11:46:44 +02:00
color.h libweston: collapse CVD correction into single matrix multiplication 2026-01-22 18:24:29 +00:00
commit-timing.c compositor: Support the commit-timing protocol 2025-12-16 10:58:01 -06:00
commit-timing.h compositor: Support the commit-timing protocol 2025-12-16 10:58:01 -06:00
compositor.c compositor: Add REPAINT_DEFERRED repaint_status 2026-02-03 09:12:07 +00:00
content-protection.c cp: Correctly format debug scope for content protection 2025-06-04 17:38:16 +03:00
data-device.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
drm-formats.c drm-formats: add weston_drm_format_array_count_pairs() 2021-11-25 10:47:45 -03:00
fifo.c compositor: Add the fifo-v1 protocol 2025-12-04 14:03:13 -06:00
fifo.h compositor: Add the fifo-v1 protocol 2025-12-04 14:03:13 -06:00
git-version.h.meson Add Meson build system 2018-12-09 14:50:54 +02:00
id-number-allocator.c shared: rename a few weston assert 2025-09-15 19:13:04 -03:00
id-number-allocator.h libweston: add unique id generator 2024-02-13 14:08:38 -03:00
input.c libweston: fix false-positive uninitialized variables sx, sy 2025-12-16 15:19:02 +00:00
launcher-impl.h launcher: Remove launcher-logind 2023-09-29 09:55:32 -05:00
launcher-libseat.c launcher-libseat: Don't hard-stop on libseat-debug 2025-06-04 17:38:16 +03:00
launcher-util.c launcher: Remove launcher-logind 2023-09-29 09:55:32 -05:00
launcher-util.h launchers: Remove --tty option 2022-03-03 17:00:15 -06:00
libinput-device.c libweston: fix unexpect log when touch device has no output 2026-01-20 09:54:31 +08:00
libinput-device.h libinput: hook up tablet events 2023-03-31 12:10:26 +00:00
libinput-seat.c libinput: support ignoring all libinput-based input devices by configuration 2025-10-21 12:54:42 +03:00
libinput-seat.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
libweston-internal.h compositor: Add REPAINT_DEFERRED repaint_status 2026-02-03 09:12:07 +00:00
linux-dmabuf.c libweston: rename get_supported_formats to get_supported_dmabuf_formats 2025-09-02 13:34:00 +00:00
linux-dmabuf.h linux-dmabuf: Add support for protocol version 5 2024-01-19 18:59:22 +01:00
linux-explicit-synchronization.c libweston: Advertise minor version 2 of zwp_linux_explicit_synchronization_v1 2019-08-02 15:00:08 +00:00
linux-explicit-synchronization.h libweston: Support zwp_surface_synchronization_v1.set_acquire_fence 2019-02-06 12:21:56 +00:00
linux-sync-file-uapi.h libweston: Introduce an internal linux sync file API 2019-02-06 12:21:56 +00:00
linux-sync-file.c libweston: export weston_linux_sync_file_read_timestamp() 2019-04-18 12:50:55 +03:00
linux-sync-file.h libweston: export weston_linux_sync_file_read_timestamp() 2019-04-18 12:50:55 +03:00
log.c libweston: Add weston_log_paced() 2022-11-08 08:32:26 -06:00
meson.build libweston: Implement color-representation protocol 2025-12-19 17:08:29 +01:00
noop-renderer.c libweston: Use explicit renderbuffer destruction 2025-01-21 14:21:40 +01:00
output-capture.c output-capture: Fix assertions in pull_capture_task() 2025-09-25 17:51:22 +02:00
output-capture.h output-capture: Support writeback connector formats 2025-09-25 12:39:23 +02:00
pixel-formats.c pixel-formats: Update Vulkan formats 2025-09-08 12:02:11 +01:00
pixel-formats.h pixel-formats: Move FOURCC defines to weston-drm-fourcc.h 2025-06-23 15:03:06 +02:00
pixman-renderer.c output-capture: Support writeback connector formats 2025-09-25 12:39:23 +02:00
pixman-renderer.h pixman-renderer: Remove renderbuffer_get_image() function 2025-01-21 14:34:31 +01:00
plugin-registry.c Rename plugin-registry.h to libweston/plugin-registry.h 2019-04-18 12:31:46 +03:00
renderer-borders.c libweston: move gl-borders up to weston_renderer 2025-05-18 18:00:08 +02:00
renderer-borders.h libweston: move gl-borders up to weston_renderer 2025-05-18 18:00:08 +02:00
screenshooter.c screenshooter: Emit warning for output recording 2025-10-28 07:55:43 +00:00
spring-tool.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
surface-state.c surface: correctly apply scale/tranform changes when committed without buffer 2026-01-22 10:12:33 +00:00
timeline-perfetto.c timeline-perfetto: Store disambiguator globally 2025-03-06 15:14:12 +02:00
timeline.c timeline: Check for timelog scope being enabled 2025-06-04 17:38:16 +03:00
timeline.h timeline: Add the TL_POINTs into perfetto data 2025-01-24 12:22:13 +00:00
touch-calibration.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
vertex-clipping.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
vertex-clipping.h gl-renderer: Do not expose clipper_clip() in header 2024-05-30 09:09:45 +00:00
weston-direct-display.c libweston: Add weston-direct-display server side implementation 2019-11-18 19:33:09 +02:00
weston-log-file.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
weston-log-flight-rec.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
weston-log-internal.h weston-log-wayland: make stream_destroy() use weston_log_subscriber_release() 2020-02-10 10:53:50 +00:00
weston-log-wayland.c weston-log: Add a advertised list of debug scopes 2025-06-04 17:43:33 +03:00
weston-log.c weston-log: Fix warning on 32-bit architectures 2025-10-09 13:29:01 +01:00
weston-trace.h libweston: Add support for perfetto profiling 2025-01-24 12:22:13 +00:00