Repository navigation
dri: make KGSL presentation waits opt-in on native Wayland - #112
Conversation
The DRI3 opt-out disabled the X11 bridge but left KGSL's shared CPU-completion fallback active. Native Wayland does not use that bridge, so it continued waiting on every presented buffer. Carry the presentation policy on each context. Native Wayland EGL contexts default to the earlier nonblocking behavior; X11 contexts, including XWayland, keep their existing fenced default. Honor the same environment override in the shared wait: 1 disables it and 0 keeps the conservative native Wayland wait enabled. Keeping the policy on the context also covers later attachment flushes. Resource submission and explicit OpenGL/EGL synchronization remain intact. This is a compatibility rollback for native Wayland, not a new implicit synchronization implementation. Generated-by: LLM
|
Tested on Adreno 830 (Snapdragon 8 Elite) + KDE Plasma Wayland on KWin 6.6.6 in the Anland Ubuntu Resolute 26.04 chroot. glmark2-wayland went from 797 FPS → 4365 FPS with this PR |
|
Since my Adreno 830 device is not rooted, I tested it using Anland Termux in Termux native:
Good job, |
Disable the present wait fences on Wayland by default, carrying the effect of
MESA_DRI3_DISABLE_PRESENT_WAIT_FENCEdeeper into the stack. By default, use present wait fences on xWayland and X only until we figure out a clean way to do it on Wayland.This is a hotfix for issue #111