Panfrost (rk3399) NV12 sampling broken
When using the external image import path (instead of the component/fallback one), colors are broken. While this is likely a Mesa bug, it's noteworthy that the same is not true for Sway, which (if I'm not mistaken) also only uses external images (instead of custom shaders, like the mentioned fallback path in Weston and Mutter).
A possible reason could be that the Panfrost shaders are not compatible with Westons - possibly only working with more recent GLSL version (300
instead of 100
)? Needs more investigation.
Tested on a PineBook Pro (rk3399), Weston f2f7560f, Mesa 23.2, 23.3rc, main.
Reproducer (on all mentioned compositors):
gst-launch-1.0 filesrc location=~/Videos/BigBuckBunnyFullHD60fpsVP9.mp4 ! qtdemux ! vp9parse ! v4l2slvp9dec ! glupload ! gldownload ! "video/x-raw(memory:DMABuf)" ! waylandsink fullscreen=1
or alternatively, only on Weston,
gst-launch-1.0 filesrc location=~/Videos/BigBuckBunnyFullHD60fpsVP9.mp4 ! qtdemux ! vp9parse ! v4l2slvp9dec ! waylandsink fullscreen=1
Weston:
Weston (fallback):
Sway:
Mutter: