wlroots/backend/drm
Christopher Snowhill 1447e00abb
backend/drm: retry drm commit when async commit fails
Asynchronous commits can fail due to property changes, but only
if they change in value. However, since the commit failed, the
compositor will continue to retry, failing each time. Fall back
to synchronous commit on async error, which should kickstart the
properties changes. Typically, this is cursor plane FB_ID changes
whenever the compositor or game changes the cursor image, and
without this fallback, it will continue to queue the FB_ID
change, breaking commits until async is disabled, such as by task
switching away from the async hinted app. The existing kernel-
side no-op check will not work if the initial property change
never goes through. This breaks the cycle.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2024-07-12 00:03:03 -07:00
..
atomic.c backend/drm: store drm prop lists as structs 2024-06-25 13:49:54 +00:00
backend.c backend/drm: Free drm device name on error 2024-04-30 10:18:05 +02:00
drm.c backend/drm: retry drm commit when async commit fails 2024-07-12 00:03:03 -07:00
fb.c backend/drm: add drm_fb_copy() 2024-03-04 11:25:33 +01:00
gen_pnpids.sh backend/drm: use libdisplay-info to parse EDID 2023-02-28 14:44:02 +00:00
legacy.c backend/drm: Use cached vrr support flag 2024-06-21 14:18:34 +00:00
libliftoff.c backend/drm: avoid "maybe uninitialized" warning 2024-06-05 01:07:24 +03:00
meson.build add an option to enable/disable libliftoff 2024-06-05 22:33:05 -06:00
monitor.c backend/drm: drop wl_display argument 2024-01-25 15:05:36 +00:00
properties.c backend/drm: add support for SIZE_HINTS property 2024-07-10 22:42:44 +00:00
renderer.c allocator: remove backend parameter in allocator_autocreate_with_drm_fd 2024-02-02 16:36:31 -05:00
util.c Define _POSIX_C_SOURCE globally 2024-02-15 15:41:12 +01:00