Linux Graphics Next: Userspace submission update
michel at daenzer.net
Tue Jun 1 09:02:14 UTC 2021
On 2021-05-27 11:51 p.m., Marek Olšák wrote:
> 3) Compositors (and other privileged processes, and display flipping) can't trust imported/exported fences. They need a timeout recovery mechanism from the beginning, and the following are some possible solutions to timeouts:
> a) use a CPU wait with a small absolute timeout, and display the previous content on timeout
> b) use a GPU wait with a small absolute timeout, and conditional rendering will choose between the latest content (if signalled) and previous content (if timed out)
> The result would be that the desktop can run close to 60 fps even if an app runs at 1 fps.
FWIW, this is working with
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1880 , even with implicit sync (on current Intel GPUs; amdgpu/radeonsi would need to provide the same dma-buf poll semantics as other drivers and high priority GFX contexts via EGL_IMG_context_priority which can preempt lower priority ones).
Earthling Michel Dänzer | https://redhat.com
Libre software enthusiast | Mesa and X developer
More information about the dri-devel