Motivation
Supporting YUV formats allows applications to offload YUV->RGBA conversions to the compositor. This alone is not a big win, however the compositor in turn may be able to offload the conversion to the display hardware. This can improve performance and reduce energy consumption substantially, especially on mobile or embedded devices.
Supporting this feature also makes Mutter a more attractive development platform for people working on software for e.g. embedded devices - this is partly my personal motivation.
Status
This MR allows to correctly display the output of weston-simple-dmabuf-v4l
and of some WIP test clients. Single-plane packed YUYV
, two-planeNV12
and triple-plane YUV420
formats should work.
Hardware offloading may or may not work. !2660 may help with testing.
This MR is a rebase of https://gitlab.gnome.org/GNOME/mutter/-/tree/wip/nielsdg/meta-multi-texture-wip by @nielsdg. The incomplete support for shm-buffers and EGLimage have been removed again, only DMABUF will be supported for now.
Closes #1366