This describes the memory layout of an individual pixel.
All renderers should support argb8888 and xrgb8888 but any other formats are optional and may not be supported by the particular renderer in use.
The drm format codes match the macros defined in drm_fourcc.h. The formats actually supported by the compositor will be reported by the format event.
Enumerator |
---|
WL_SHM_FORMAT_ARGB8888 | 32-bit ARGB format, [31:0] A:R:G:B 8:8:8:8 little endian
|
WL_SHM_FORMAT_XRGB8888 | 32-bit RGB format, [31:0] x:R:G:B 8:8:8:8 little endian
|
WL_SHM_FORMAT_C8 | 8-bit color index format, [7:0] C
|
WL_SHM_FORMAT_RGB332 | 8-bit RGB format, [7:0] R:G:B 3:3:2
|
WL_SHM_FORMAT_BGR233 | 8-bit BGR format, [7:0] B:G:R 2:3:3
|
WL_SHM_FORMAT_XRGB4444 | 16-bit xRGB format, [15:0] x:R:G:B 4:4:4:4 little endian
|
WL_SHM_FORMAT_XBGR4444 | 16-bit xBGR format, [15:0] x:B:G:R 4:4:4:4 little endian
|
WL_SHM_FORMAT_RGBX4444 | 16-bit RGBx format, [15:0] R:G:B:x 4:4:4:4 little endian
|
WL_SHM_FORMAT_BGRX4444 | 16-bit BGRx format, [15:0] B:G:R:x 4:4:4:4 little endian
|
WL_SHM_FORMAT_ARGB4444 | 16-bit ARGB format, [15:0] A:R:G:B 4:4:4:4 little endian
|
WL_SHM_FORMAT_ABGR4444 | 16-bit ABGR format, [15:0] A:B:G:R 4:4:4:4 little endian
|
WL_SHM_FORMAT_RGBA4444 | 16-bit RBGA format, [15:0] R:G:B:A 4:4:4:4 little endian
|
WL_SHM_FORMAT_BGRA4444 | 16-bit BGRA format, [15:0] B:G:R:A 4:4:4:4 little endian
|
WL_SHM_FORMAT_XRGB1555 | 16-bit xRGB format, [15:0] x:R:G:B 1:5:5:5 little endian
|
WL_SHM_FORMAT_XBGR1555 | 16-bit xBGR 1555 format, [15:0] x:B:G:R 1:5:5:5 little endian
|
WL_SHM_FORMAT_RGBX5551 | 16-bit RGBx 5551 format, [15:0] R:G:B:x 5:5:5:1 little endian
|
WL_SHM_FORMAT_BGRX5551 | 16-bit BGRx 5551 format, [15:0] B:G:R:x 5:5:5:1 little endian
|
WL_SHM_FORMAT_ARGB1555 | 16-bit ARGB 1555 format, [15:0] A:R:G:B 1:5:5:5 little endian
|
WL_SHM_FORMAT_ABGR1555 | 16-bit ABGR 1555 format, [15:0] A:B:G:R 1:5:5:5 little endian
|
WL_SHM_FORMAT_RGBA5551 | 16-bit RGBA 5551 format, [15:0] R:G:B:A 5:5:5:1 little endian
|
WL_SHM_FORMAT_BGRA5551 | 16-bit BGRA 5551 format, [15:0] B:G:R:A 5:5:5:1 little endian
|
WL_SHM_FORMAT_RGB565 | 16-bit RGB 565 format, [15:0] R:G:B 5:6:5 little endian
|
WL_SHM_FORMAT_BGR565 | 16-bit BGR 565 format, [15:0] B:G:R 5:6:5 little endian
|
WL_SHM_FORMAT_RGB888 | 24-bit RGB format, [23:0] R:G:B little endian
|
WL_SHM_FORMAT_BGR888 | 24-bit BGR format, [23:0] B:G:R little endian
|
WL_SHM_FORMAT_XBGR8888 | 32-bit xBGR format, [31:0] x:B:G:R 8:8:8:8 little endian
|
WL_SHM_FORMAT_RGBX8888 | 32-bit RGBx format, [31:0] R:G:B:x 8:8:8:8 little endian
|
WL_SHM_FORMAT_BGRX8888 | 32-bit BGRx format, [31:0] B:G:R:x 8:8:8:8 little endian
|
WL_SHM_FORMAT_ABGR8888 | 32-bit ABGR format, [31:0] A:B:G:R 8:8:8:8 little endian
|
WL_SHM_FORMAT_RGBA8888 | 32-bit RGBA format, [31:0] R:G:B:A 8:8:8:8 little endian
|
WL_SHM_FORMAT_BGRA8888 | 32-bit BGRA format, [31:0] B:G:R:A 8:8:8:8 little endian
|
WL_SHM_FORMAT_XRGB2101010 | 32-bit xRGB format, [31:0] x:R:G:B 2:10:10:10 little endian
|
WL_SHM_FORMAT_XBGR2101010 | 32-bit xBGR format, [31:0] x:B:G:R 2:10:10:10 little endian
|
WL_SHM_FORMAT_RGBX1010102 | 32-bit RGBx format, [31:0] R:G:B:x 10:10:10:2 little endian
|
WL_SHM_FORMAT_BGRX1010102 | 32-bit BGRx format, [31:0] B:G:R:x 10:10:10:2 little endian
|
WL_SHM_FORMAT_ARGB2101010 | 32-bit ARGB format, [31:0] A:R:G:B 2:10:10:10 little endian
|
WL_SHM_FORMAT_ABGR2101010 | 32-bit ABGR format, [31:0] A:B:G:R 2:10:10:10 little endian
|
WL_SHM_FORMAT_RGBA1010102 | 32-bit RGBA format, [31:0] R:G:B:A 10:10:10:2 little endian
|
WL_SHM_FORMAT_BGRA1010102 | 32-bit BGRA format, [31:0] B:G:R:A 10:10:10:2 little endian
|
WL_SHM_FORMAT_YUYV | packed YCbCr format, [31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian
|
WL_SHM_FORMAT_YVYU | packed YCbCr format, [31:0] Cb0:Y1:Cr0:Y0 8:8:8:8 little endian
|
WL_SHM_FORMAT_UYVY | packed YCbCr format, [31:0] Y1:Cr0:Y0:Cb0 8:8:8:8 little endian
|
WL_SHM_FORMAT_VYUY | packed YCbCr format, [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian
|
WL_SHM_FORMAT_AYUV | packed AYCbCr format, [31:0] A:Y:Cb:Cr 8:8:8:8 little endian
|
WL_SHM_FORMAT_NV12 | 2 plane YCbCr Cr:Cb format, 2x2 subsampled Cr:Cb plane
|
WL_SHM_FORMAT_NV21 | 2 plane YCbCr Cb:Cr format, 2x2 subsampled Cb:Cr plane
|
WL_SHM_FORMAT_NV16 | 2 plane YCbCr Cr:Cb format, 2x1 subsampled Cr:Cb plane
|
WL_SHM_FORMAT_NV61 | 2 plane YCbCr Cb:Cr format, 2x1 subsampled Cb:Cr plane
|
WL_SHM_FORMAT_YUV410 | 3 plane YCbCr format, 4x4 subsampled Cb (1) and Cr (2) planes
|
WL_SHM_FORMAT_YVU410 | 3 plane YCbCr format, 4x4 subsampled Cr (1) and Cb (2) planes
|
WL_SHM_FORMAT_YUV411 | 3 plane YCbCr format, 4x1 subsampled Cb (1) and Cr (2) planes
|
WL_SHM_FORMAT_YVU411 | 3 plane YCbCr format, 4x1 subsampled Cr (1) and Cb (2) planes
|
WL_SHM_FORMAT_YUV420 | 3 plane YCbCr format, 2x2 subsampled Cb (1) and Cr (2) planes
|
WL_SHM_FORMAT_YVU420 | 3 plane YCbCr format, 2x2 subsampled Cr (1) and Cb (2) planes
|
WL_SHM_FORMAT_YUV422 | 3 plane YCbCr format, 2x1 subsampled Cb (1) and Cr (2) planes
|
WL_SHM_FORMAT_YVU422 | 3 plane YCbCr format, 2x1 subsampled Cr (1) and Cb (2) planes
|
WL_SHM_FORMAT_YUV444 | 3 plane YCbCr format, non-subsampled Cb (1) and Cr (2) planes
|
WL_SHM_FORMAT_YVU444 | 3 plane YCbCr format, non-subsampled Cr (1) and Cb (2) planes
|