mesa: Add R16G16_R16B16_UNORM and related formats

Including the 10 bit variant X6R10X6G10_X6R10X6B10_UNORM. Only the
RG_RB variants seem to have fourccs, so those are the only ones being
added for now, although they would, obviously, be easy to add).

These are used for Y210, Y212, and Y216 fourccs. In particular Y210
is interesting for panfrost, as it is the fourcc used to indicate a
10 bit single plane 4:2:2 encoded as AFBC (similar to how YUYV is
the canonical AFBC for 10 bit 4:2:0).

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35771>
This commit is contained in:
Eric R. Smith
2025-06-14 21:54:17 +00:00
committed by Marge Bot
parent 55735b6146
commit b11f543c4e
10 changed files with 112 additions and 13 deletions
+13
View File
@@ -794,6 +794,19 @@
channels: [UN8, UN8, UN8, UN8]
swizzles: [X, Y, Z, 1]
# 16 bit versions
- name: R16G16_R16B16_422_UNORM
layout: subsampled
colorspace: RGB
block: {width: 2, height: 1, depth: 1}
channels: [UN16, UN16, UN16, UN16]
swizzles: [X, Y, Z, 1]
- name: X6R10X6G10_X6R10X6B10_422_UNORM
layout: subsampled
colorspace: RGB
block: {width: 2, height: 1, depth: 1}
channels: [UN16, UN16, UN16, UN16]
swizzles: [X, Y, Z, 1]
# some special formats not fitting anywhere else
- name: R11G11B10_FLOAT
+2
View File
@@ -110,6 +110,8 @@ def has_access(format):
'g8r8_g8b8_422_unorm',
'g8b8_g8r8_422_unorm',
'b8g8_r8g8_422_unorm',
'r16g16_r16b16_422_unorm',
'x6r10x6g10_x6r10x6b10_422_unorm',
'x6g10_x6b10x6r10_420_unorm',
'x4g12_x4b12x4r12_420_unorm',
'y8_400_unorm',