Draft: egl: Implement EGL_EXT_yuv_surface

Frank Binns requested to merge frankbinns/mesa:review/EGL_EXT_yuv_surface into main

I implemented this extension a while back and thought it would be worth sharing in case anyone else finds it useful.

This MR includes patches for:

  • Extending DRI configs to support YUV pixel formats
  • Implementing EGL_EXT_yuv_surface
  • Adding a YUVV config to the Wayland platform

Wayland was picked for no particular reason, other than it was the easiest thing for me to use for testing (this is also why YUYV was chosen, as it's already supported by Weston).

I've marked this as a draft as it's missing a patch adding support to a driver. This is mostly down to not having knowledge of other Mesa drivers. The patches have, however, been tested using the downstream PowerVR driver. Once the new upstream PowerVR Vulkan driver is complete and working I should be in a better position to pick this back up in the context of Zink. However, if someone wants to push these across the line in the meantime then I certainly won't complain 😃

Merge request reports