opengl: Add support for NV12 on Wayland dmabufs
Offers wayland clients the possibility to send us their contents using an NV12 texture. It implements it by rendering into scene using a shader.
It also refactors the code that offers the available drm formats to account for the ones we need to explicitly support in the shader.
Draft because it needs testing. PoC because it's a bit messy and I'd appreciate feedback on the general architecture. Especially the shader patch could get cleaned up I guess.
Test:
flatpak run io.mpv.Mpv --hwdec=vaapi --vo=dmabuf-wayland ~/Downloads/PXL_20231005_140059037.TS.mp4
Edited by Aleix Pol Gonzalez