Improve read-back: Texture swizzles (3/4)
This MR proposes to use texture swizzles to add support for new texture formats and to simplify the fragment shader. It introduces a new texture parameters system in the GL utilities to do so, which also helps to minimise state changes.
New wl_shm RGB formats: XRGB4444
, ARGB4444
, XBGR4444
, ABGR4444
, RGBX4444
, RGBA4444
, BGRX4444
, BGRA4444
, RGBX5551
, RGBA5551
, BGRX5551
, BGRA5551
, BGR565
, XRGB2101010
, ARGB2101010
, XRGB16161616
, ARGB16161616
, XRGB16161616F
, ARGB16161616F
New wl_shm YUV formats: YVYU
, UYVY
, VYUY
, NV21
, NV61
, NV42
, P010
, P012
, P016
, YVU420
, YVU444
.
The yuv-buffer test has been extended to also check RGB formats as well as the new YUV formats.
This MR is stacked over !1675 and includes commits from that MR. Review should start from commit fc3fb1f9.