wlroots/backend
Simon Ser acc6d94db0 backend/drm: make commits without a buffer blocking
The wlr_output API requires compositors to wait for wlr_output.frame
before submitting a new buffer. However, compositors can perform a
commit which doesn't involve a buffer anytime.

If the commit is a modeset, we set DRM_MODE_ATOMIC_ALLOW_MODESET and
block until the commit is done. If it isn't, we currently always
perform a non-blocking commit. This is an issue because a previous
page-flip might still be in flight kernel-side, returning EBUSY.

Fix this by using blocking commits when a buffer isn't submitted by
the compositor.

Closes: https://github.com/swaywm/sway/issues/6962
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2239
2022-06-01 21:16:02 +02:00
..
drm backend/drm: make commits without a buffer blocking 2022-06-01 21:16:02 +02:00
headless output: pass wlr_output_state to backend 2022-05-30 11:34:57 +02:00
libinput types/wlr_touch: uniformize events name 2022-03-17 18:16:14 +00:00
multi backend/multi: add asserts in wlr_multi_backend_add 2021-11-19 10:44:45 -05:00
session build: simplify Meson subproject fallbacks 2021-12-19 18:12:16 +00:00
wayland output: pass wlr_output_state to backend 2022-05-30 11:34:57 +02:00
x11 output: pass wlr_output_state to backend 2022-05-30 11:34:57 +02:00
backend.c Zero-initialize structs in init functions 2022-04-28 10:09:50 +02:00
meson.build backend: remove noop backend 2021-11-25 16:49:05 +00:00