wlroots
wlroots copied to clipboard
Add support for EGL_KHR_partial_update
This can be used instead of EGL_EXT_buffer_age for better performance.
Spec: https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_partial_update.txt
Full explanation here: https://gitlab.freedesktop.org/wayland/weston/issues/134
wlroots has migrated to gitlab.freedesktop.org. This issue has been moved to:
https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1197
The rendering API will need a refactoring to support this. In particular:
- We should query
EGL_BUFFER_AGE_KHR(fallback toEGL_EXT_buffer_ageif unsupported) when making a surface current - We should call
eglSetDamageRegionKHRwith the back buffer damage before rendering anything - We should still call
eglSwapBuffersWithDamageKHRwith the surface damage when swapping buffers
It would be nice to add sanity checks along the way, since EGL_EXT_buffer_age has quite a few undefined behaviour cases.
It's not possible to support this extension with renderer v6, because we're no longer using EGLSurface. We'd need a new EGL extension which works on FBOs.