wlroots icon indicating copy to clipboard operation
wlroots copied to clipboard

Add support for EGL_KHR_partial_update

Open emersion opened this issue 7 years ago • 2 comments

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

emersion avatar Aug 22 '18 23:08 emersion

The rendering API will need a refactoring to support this. In particular:

  • We should query EGL_BUFFER_AGE_KHR (fallback to EGL_EXT_buffer_age if unsupported) when making a surface current
  • We should call eglSetDamageRegionKHR with the back buffer damage before rendering anything
  • We should still call eglSwapBuffersWithDamageKHR with 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.

emersion avatar Apr 24 '19 19:04 emersion

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.

emersion avatar Jun 02 '21 12:06 emersion