wayland-protocols/unstable
Pekka Paalanen f899eff0a7 linux-dmabuf: no buffer errors on device disappearance
This was prompted by the discussion from
https://lists.freedesktop.org/archives/dri-devel/2020-May/266611.html
which is not the final wording.

When a DRM device is hot-unplugged, particularly if it is the Wayland
compositor's compositing GPU, EGL may start returning errors from trying to use
the client's dmabuf. Or, if the client is rendering on another GPU which gets
hot-unplugged, the dmabuf the compositor already has may start failing.

Hot-unplug is an abrupt global action, and there is no way a client or a
compositor could ensure they clean up before things start failing. It is not
the client's fault, so the client should not get disconnected if already
existing wl_buffer objects start failing. This patch add the wording to the
protocol to this effect.

The intention is that the compositor replaces the failed buffers with some
placeholder content. There is no way this could be glitch-free. In its own pace
the client should discover the DRM device is gone, clean up, and perhaps use
something else. How exactly that should happen depends on the rendering API the
client is using.

This is a tiny step towards making DRM device hot-unplug not crash
applications that wish to handle the unplug gracefully.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2021-02-16 11:32:58 +02:00
..
fullscreen-shell fullscreen-shell: Add enum attributes to various arguments 2021-01-05 19:37:02 +01:00
idle-inhibit idle-inhibit: Lead with a verb in request description 2016-11-21 11:14:17 +00:00
input-method input-method: Lead with a verb in request descriptions 2016-09-16 09:17:30 -07:00
input-timestamps unstable: Add input-timestamps protocol 2018-01-19 11:21:02 +02:00
keyboard-shortcuts-inhibit Add keyboard shortcuts inhibitor 2017-07-11 14:18:39 +08:00
linux-dmabuf linux-dmabuf: no buffer errors on device disappearance 2021-02-16 11:32:58 +02:00
linux-explicit-synchronization linux-explicit-synchronization: Clarify implicit synchronization guarantees of release events 2018-12-14 14:01:54 +02:00
pointer-constraints pointer-constraints: Add enum attribute to 'lifetime' 2021-01-03 19:26:44 +01:00
pointer-gestures pointer-gestures: add a release request 2019-07-17 10:28:43 +02:00
primary-selection unstable: add primary-selection protocol 2018-11-12 16:56:50 +01:00
relative-pointer (multiple): Remove inconsistent line breaks 2016-11-21 11:20:27 +00:00
tablet (multiple): Remove inconsistent line breaks 2016-11-21 11:20:27 +00:00
text-input text-input: Add enum attributes to various arguments 2021-01-05 19:37:16 +01:00
xdg-decoration Use correct indefinite article before "xdg" 2020-06-19 12:45:12 +03:00
xdg-foreign Use correct indefinite article before "xdg" 2020-06-19 12:45:12 +03:00
xdg-output xdg-output: make xdg_output.description mutable 2019-07-25 11:19:02 +02:00
xdg-shell Use correct indefinite article before "xdg" 2020-06-19 12:45:12 +03:00
xwayland-keyboard-grab Introduce keyboard grabbing protocol for Xwayland 2017-07-11 14:18:39 +08:00