• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2024 Collabora Ltd.
2# SPDX-License-Identifier: MIT
3
4# Columns:
5#   name: PIPE_FORMAT enum
6#   czt: Color/Z target format if renderable or NONE
7#   tcs: TIC component sizes
8#   type: Data type:
9#       S: SNORM
10#       N: UNORM
11#       I: SINT
12#       U: UINT
13#       F: FLOAT
14#   src: Swizzle of the form RGBAX01
15#   caps: Format capabilities:
16#       C: Color target
17#       T: Texture
18#       Z: Depth/stencil target
19#       B: Bufer
20#       A: Alpha blend
21#       S: Storage
22#       D: Scanout
23#   hw: First hardware generation on which the format
24
25# name                    czt                     tcs                 type   src    support     hw
26
27R1_UNORM                , NONE                  , R1                , N    , R001 , T
28
29A4B4G4R4_UNORM          , NONE                  , A4B4G4R4          , NNNN , ABGR , T
30A4R4G4B4_UNORM          , NONE                  , A4B4G4R4          , NNNN , GBAR , T
31B4G4R4A4_UNORM          , NONE                  , A4B4G4R4          , NNNN , BGRA , T
32B4G4R4X4_UNORM          , NONE                  , A4B4G4R4          , NNNN , BGR1 , T
33R4G4B4A4_UNORM          , NONE                  , A4B4G4R4          , NNNN , RGBA , T
34R4G4B4X4_UNORM          , NONE                  , A4B4G4R4          , NNNN , RGB1 , T
35
36B5G6R5_UNORM            , R5G6B5                , B5G6R5            , NNN  , BGR1 , CTAD
37R5G6B5_UNORM            , NONE                  , B5G6R5            , NNN  , RGB1 , T
38R5G5B5A1_UNORM          , NONE                  , A1B5G5R5          , NNNN , RGBA , T
39B5G5R5A1_UNORM          , A1R5G5B5              , A1B5G5R5          , NNNN , BGRA , CTAD
40B5G5R5X1_UNORM          , X1R5G5B5              , A1B5G5R5          , NNNN , BGR1 , CTAD
41
42R8_UNORM                , R8                    , R8                , N    , R001 , CTBSA
43R8_SNORM                , RN8                   , R8                , S    , R001 , CTBSA
44R8_SINT                 , RS8                   , R8                , I    , R001 , CTBS
45R8_UINT                 , RU8                   , R8                , U    , R001 , CTBS
46R8_SRGB                 , NONE                  , R8                , N    , R001 , T
47
48R8G8_UNORM              , G8R8                  , G8R8              , NN   , RG01 , CTBSA
49R8G8_SNORM              , GN8RN8                , G8R8              , SS   , RG01 , CTBSA
50R8G8_SINT               , GS8RS8                , G8R8              , II   , RG01 , CTBS
51R8G8_UINT               , GU8RU8                , G8R8              , UU   , RG01 , CTBS
52# On Fermi+, the green component doesn't get decoding?
53# R8G8_SRGB             , NONE                  , G8R8              , NN   , RG01 , T
54
55# BGRA display formats
56B8G8R8A8_UNORM          , A8R8G8B8              , A8B8G8R8          , NNNN , BGRA , CTBASD
57B8G8R8X8_UNORM          , X8R8G8B8              , A8B8G8R8          , NNNN , BGR1 , CTAD
58B8G8R8A8_SRGB           , A8RL8GL8BL8           , A8B8G8R8          , NNNN , BGRA , CTAD
59B8G8R8X8_SRGB           , X8RL8GL8BL8           , A8B8G8R8          , NNNN , BGR1 , CTAD
60R8G8B8A8_UNORM          , A8B8G8R8              , A8B8G8R8          , NNNN , RGBA , CTBSA
61R8G8B8X8_UNORM          , X8B8G8R8              , A8B8G8R8          , NNNN , RGB1 , CTA
62R8G8B8A8_SRGB           , A8BL8GL8RL8           , A8B8G8R8          , NNNN , RGBA , CTA
63R8G8B8X8_SRGB           , X8BL8GL8RL8           , A8B8G8R8          , NNNN , RGB1 , CTA
64
65R8G8B8A8_SNORM          , AN8BN8GN8RN8          , A8B8G8R8          , SSSS , RGBA , CTBSA
66R8G8B8A8_SINT           , AS8BS8GS8RS8          , A8B8G8R8          , IIII , RGBA , CTBS
67R8G8B8A8_UINT           , AU8BU8GU8RU8          , A8B8G8R8          , UUUU , RGBA , CTBS
68R8G8B8X8_SNORM          , AN8BN8GN8RN8          , A8B8G8R8          , SSSS , RGB1 , T
69R8G8B8X8_SINT           , AS8BS8GS8RS8          , A8B8G8R8          , IIII , RGB1 , CT
70R8G8B8X8_UINT           , AU8BU8GU8RU8          , A8B8G8R8          , UUUU , RGB1 , CT
71
72R9G9B9E5_FLOAT          , NONE                  , E5B9G9R9_SHAREDEXP, FFFF , RGB1 , T
73
74R10G10B10A2_UNORM       , A2B10G10R10           , A2B10G10R10       , NNNN , RGBA , TCBASD
75R10G10B10X2_UNORM       , A2B10G10R10           , A2B10G10R10       , NNN  , RGB1 , T
76B10G10R10A2_UNORM       , A2R10G10B10           , A2B10G10R10       , NNNN , BGRA , CTA
77B10G10R10X2_UNORM       , A2R10G10B10           , A2B10G10R10       , NNN  , BGR1 , T
78R10G10B10A2_UINT        , AU2BU10GU10RU10       , A2B10G10R10       , UUUU , RGBA , CTBS
79B10G10R10A2_UINT        , NONE                  , A2B10G10R10       , UUUU , BGRA , TB
80
81# These formats are disabled because the image/texture hardware doesn't clamp
82# the 2-bit SNORM alpha to [-1, 1] so you can end up with a = -2 which is out
83# of spec for both GL and Vulkan.
84# R10G10B10A2_SNORM     , NONE                  , A2B10G10R10       , SSSS , RGBA , T
85# B10G10R10A2_SNORM     , NONE                  , A2B10G10R10       , SSSS , BGRA , T
86
87R11G11B10_FLOAT         , BF10GF11RF11          , BF10GF11RF11      , FFF  , RGB1 , CTBSA
88
89R16_FLOAT               , RF16                  , R16               , F    , R001 , CTBSA
90R16_UNORM               , R16                   , R16               , N    , R001 , CTBSA
91R16_SNORM               , RN16                  , R16               , S    , R001 , CTBSA
92R16_SINT                , RS16                  , R16               , I    , R001 , CTBS
93R16_UINT                , RU16                  , R16               , U    , R001 , CTBS
94
95R16G16_FLOAT            , RF16_GF16             , R16_G16           , FF   , RG01 , CTBSA
96R16G16_UNORM            , R16_G16               , R16_G16           , NN   , RG01 , CTBSA
97R16G16_SNORM            , RN16_GN16             , R16_G16           , SS   , RG01 , CTBSA
98R16G16_SINT             , RS16_GS16             , R16_G16           , II   , RG01 , CTBS
99R16G16_UINT             , RU16_GU16             , R16_G16           , UU   , RG01 , CTBS
100
101R16G16B16A16_FLOAT      , RF16_GF16_BF16_AF16   , R16_G16_B16_A16   , FFFF , RGBA , CTBSA
102R16G16B16A16_UNORM      , R16_G16_B16_A16       , R16_G16_B16_A16   , NNNN , RGBA , CTBSA
103R16G16B16A16_SNORM      , RN16_GN16_BN16_AN16   , R16_G16_B16_A16   , SSSS , RGBA , CTBSA
104R16G16B16A16_SINT       , RS16_GS16_BS16_AS16   , R16_G16_B16_A16   , IIII , RGBA , CTBS
105R16G16B16A16_UINT       , RU16_GU16_BU16_AU16   , R16_G16_B16_A16   , UUUU , RGBA , CTBS
106R16G16B16X16_FLOAT      , RF16_GF16_BF16_X16    , R16_G16_B16_A16   , FFFF , RGB1 , CTA
107R16G16B16X16_UNORM      , R16_G16_B16_A16       , R16_G16_B16_A16   , NNNN , RGB1 , T
108R16G16B16X16_SNORM      , RN16_GN16_BN16_AN16   , R16_G16_B16_A16   , SSSS , RGB1 , T
109R16G16B16X16_SINT       , RS16_GS16_BS16_AS16   , R16_G16_B16_A16   , IIII , RGB1 , CT
110R16G16B16X16_UINT       , RU16_GU16_BU16_AU16   , R16_G16_B16_A16   , UUUU , RGB1 , CT
111
112R32_FLOAT               , RF32                  , R32               , F    , R001 , CTBSA
113R32_UNORM               , NONE                  , R32               , N    , R001 , T
114R32_SNORM               , NONE                  , R32               , S    , R001 , T
115R32_SINT                , RS32                  , R32               , I    , R001 , CTBS
116R32_UINT                , RU32                  , R32               , U    , R001 , CTBS
117
118R32G32_FLOAT            , RF32_GF32             , R32_G32           , FF   , RG01 , CTBSA
119R32G32_UNORM            , NONE                  , R32_G32           , NN   , RG01 , T
120R32G32_SNORM            , NONE                  , R32_G32           , SS   , RG01 , T
121R32G32_SINT             , RS32_GS32             , R32_G32           , II   , RG01 , CTBS
122R32G32_UINT             , RU32_GU32             , R32_G32           , UU   , RG01 , CTBS
123
124R32G32B32_FLOAT         , NONE                  , R32_G32_B32       , FFF  , RGB1 , TB
125R32G32B32_SINT          , NONE                  , R32_G32_B32       , III  , RGB1 , TB
126R32G32B32_UINT          , NONE                  , R32_G32_B32       , UUU  , RGB1 , TB
127
128R32G32B32A32_FLOAT      , RF32_GF32_BF32_AF32   , R32_G32_B32_A32   , FFFF , RGBA , CTBSA
129R32G32B32A32_UNORM      , NONE                  , R32_G32_B32_A32   , NNNN , RGBA , T
130R32G32B32A32_SNORM      , NONE                  , R32_G32_B32_A32   , SSSS , RGBA , T
131R32G32B32A32_SINT       , RS32_GS32_BS32_AS32   , R32_G32_B32_A32   , IIII , RGBA , CTBS
132R32G32B32A32_UINT       , RU32_GU32_BU32_AU32   , R32_G32_B32_A32   , UUUU , RGBA , CTBS
133R32G32B32X32_FLOAT      , RF32_GF32_BF32_X32    , R32_G32_B32_A32   , FFFF , RGB1 , CTA
134R32G32B32X32_SINT       , RS32_GS32_BS32_X32    , R32_G32_B32_A32   , IIII , RGB1 , CT
135R32G32B32X32_UINT       , RU32_GU32_BU32_X32    , R32_G32_B32_A32   , UUUU , RGB1 , CT
136
137R64_SINT                , NONE                  , R32_G32           , II   , RG01 , S
138R64_UINT                , NONE                  , R32_G32           , UU   , RG01 , S
139
140# Depth/stencil formats
141Z16_UNORM               , Z16                   , Z16               , N    , R001 , TZ        , MaxwellA
142Z32_FLOAT               , ZF32                  , ZF32              , F    , R001 , TZ
143Z24X8_UNORM             , X8Z24                 , X8Z24             , NU   , R001 , TZ
144X8Z24_UNORM             , Z24S8                 , Z24S8             , UN   , G001 , TZ
145Z24_UNORM_S8_UINT       , S8Z24                 , S8Z24             , NU   , R001 , TZ
146S8_UINT_Z24_UNORM       , Z24S8                 , Z24S8             , UN   , G001 , TZ
147Z32_FLOAT_S8X24_UINT    , ZF32_X24S8            , ZF32_X24S8        , FU   , R001 , TZ
148
149# Stencil-only formats
150S8_UINT                 , S8                    , R8                , U    , R001 , TZ        , MaxwellB
151X24S8_UINT              , NONE                  , G8R24             , UU   , G001 , T
152S8X24_UINT              , NONE                  , G24R8             , UU   , R001 , T
153X32_S8X24_UINT          , NONE                  , R32_B24G8         , UU   , G001 , T
154
155# Luminance formats
156L8_UNORM                , R8                    , R8                , N    , RRR1 , CTA
157L8_SRGB                 , NONE                  , R8                , N    , RRR1 , T
158L8_SNORM                , RN8                   , R8                , S    , RRR1 , CTA
159L8_SINT                 , RS8                   , R8                , I    , RRR1 , CT
160L8_UINT                 , RU8                   , R8                , U    , RRR1 , CT
161L16_UNORM               , R16                   , R16               , N    , RRR1 , CTA
162L16_SNORM               , RN16                  , R16               , S    , RRR1 , CTA
163L16_FLOAT               , RF16                  , R16               , F    , RRR1 , CTA
164L16_SINT                , RS16                  , R16               , I    , RRR1 , CT
165L16_UINT                , RU16                  , R16               , U    , RRR1 , CT
166L32_FLOAT               , RF32                  , R32               , F    , RRR1 , CTA
167L32_SINT                , RS32                  , R32               , I    , RRR1 , CT
168L32_UINT                , RU32                  , R32               , U    , RRR1 , CT
169
170# Intensity formats
171I8_UNORM                , R8                    , R8                , N    , RRRR , CT
172I8_SNORM                , RN8                   , R8                , S    , RRRR , CT
173I8_SINT                 , RS8                   , R8                , I    , RRRR , CT
174I8_UINT                 , RU8                   , R8                , U    , RRRR , CT
175I16_UNORM               , R16                   , R16               , N    , RRRR , CT
176I16_SNORM               , RN16                  , R16               , S    , RRRR , CT
177I16_FLOAT               , RF16                  , R16               , F    , RRRR , CT
178I16_SINT                , RS16                  , R16               , I    , RRRR , CT
179I16_UINT                , RU16                  , R16               , U    , RRRR , CT
180I32_FLOAT               , RF32                  , R32               , F    , RRRR , CT
181I32_SINT                , RS32                  , R32               , I    , RRRR , CT
182I32_UINT                , RU32                  , R32               , U    , RRRR , CT
183
184# Alpha formats
185A8_UNORM                , A8                    , R8                , N    , 000R , CTBSA
186A8_SNORM                , NONE                  , R8                , S    , 000R , T
187A8_SINT                 , NONE                  , R8                , I    , 000R , T
188A8_UINT                 , NONE                  , R8                , U    , 000R , T
189A16_UNORM               , NONE                  , R16               , N    , 000R , T
190A16_SNORM               , NONE                  , R16               , S    , 000R , T
191A16_FLOAT               , AF16                  , R16               , F    , 000R , T
192A16_SINT                , NONE                  , R16               , I    , 000R , T
193A16_UINT                , NONE                  , R16               , U    , 000R , T
194A32_FLOAT               , AF32                  , R32               , F    , 000R , T
195A32_SINT                , NONE                  , R32               , I    , 000R , T
196A32_UINT                , NONE                  , R32               , U    , 000R , T
197
198# Luminance/alpha formats
199L4A4_UNORM              , NONE                  , G4R4              , NN   , RRRG , T
200L8A8_UNORM              , NONE                  , G8R8              , NN   , RRRG , T
201L8A8_SNORM              , NONE                  , G8R8              , SS   , RRRG , T
202L8A8_SRGB               , NONE                  , G8R8              , NN   , RRRG , T
203L8A8_SINT               , NONE                  , G8R8              , II   , RRRG , T
204L8A8_UINT               , NONE                  , G8R8              , UU   , RRRG , T
205L16A16_UNORM            , NONE                  , R16_G16           , NN   , RRRG , T
206L16A16_SNORM            , NONE                  , R16_G16           , SS   , RRRG , T
207L16A16_FLOAT            , NONE                  , R16_G16           , FF   , RRRG , T
208L16A16_SINT             , NONE                  , R16_G16           , II   , RRRG , T
209L16A16_UINT             , NONE                  , R16_G16           , UU   , RRRG , T
210L32A32_FLOAT            , NONE                  , R32_G32           , FF   , RRRG , T
211L32A32_SINT             , NONE                  , R32_G32           , II   , RRRG , T
212L32A32_UINT             , NONE                  , R32_G32           , UU   , RRRG , T
213
214# Red/alpha formats
215R4A4_UNORM              , NONE                  , G4R4              , NN   , R00G , T
216R8A8_UNORM              , NONE                  , G8R8              , NN   , R00G , T
217A4R4_UNORM              , NONE                  , G4R4              , NN   , G00R , T
218A8R8_UNORM              , NONE                  , G8R8              , NN   , G00R , T
219
220# YCbCr formats
221R8G8_B8G8_UNORM         , NONE                  , G8B8G8R8          , NNNN , RGB1 , T
222G8R8_B8R8_UNORM         , NONE                  , G8B8G8R8          , NNNN , GRB1 , T
223G8R8_G8B8_UNORM         , NONE                  , B8G8R8G8          , NNNN , RGB1 , T
224R8G8_R8B8_UNORM         , NONE                  , B8G8R8G8          , NNNN , GRB1 , T
225G8B8_G8R8_UNORM         , NONE                  , B8G8R8G8          , NNNN , BGR1 , T
226B8G8_R8G8_UNORM         , NONE                  , G8B8G8R8          , NNNN , BGR1 , T
227
228# Weird D3D9 formats
229R8SG8SB8UX8U_NORM       , NONE                  , A8B8G8R8          , SSNN , RGB1 , T
230R5SG5SB6U_NORM          , NONE                  , B6G5R5            , SSNN , RGB1 , T
231
232# DXT compressed formats
233DXT1_RGB                , NONE                  , DXT1              , NNNN , RGB1 , T
234DXT1_SRGB               , NONE                  , DXT1              , NNNN , RGB1 , T
235DXT1_RGBA               , NONE                  , DXT1              , NNNN , RGBA , T
236DXT1_SRGBA              , NONE                  , DXT1              , NNNN , RGBA , T
237DXT3_RGBA               , NONE                  , DXT23             , NNNN , RGBA , T
238DXT3_SRGBA              , NONE                  , DXT23             , NNNN , RGBA , T
239DXT5_RGBA               , NONE                  , DXT45             , NNNN , RGBA , T
240DXT5_SRGBA              , NONE                  , DXT45             , NNNN , RGBA , T
241
242RGTC1_UNORM             , NONE                  , DXN1              , NNNN , R001 , T
243RGTC1_SNORM             , NONE                  , DXN1              , SSSS , R001 , T
244RGTC2_UNORM             , NONE                  , DXN2              , NNNN , RG01 , T
245RGTC2_SNORM             , NONE                  , DXN2              , SSSS , RG01 , T
246LATC1_UNORM             , NONE                  , DXN1              , NNNN , RRR1 , T
247LATC1_SNORM             , NONE                  , DXN1              , SSSS , RRR1 , T
248LATC2_UNORM             , NONE                  , DXN2              , NNNN , RRRG , T
249LATC2_SNORM             , NONE                  , DXN2              , SSSS , RRRG , T
250
251BPTC_RGBA_UNORM         , NONE                  , BC7U              , NNNN , RGBA , T
252BPTC_SRGBA              , NONE                  , BC7U              , NNNN , RGBA , T
253BPTC_RGB_FLOAT          , NONE                  , BC6H_SF16         , FFFF , RGB1 , T
254BPTC_RGB_UFLOAT         , NONE                  , BC6H_UF16         , FFFF , RGB1 , T
255
256ETC1_RGB8               , NONE                  , ETC2_RGB          , NNNN , RGB1 , T         , MaxwellA
257ETC2_RGB8               , NONE                  , ETC2_RGB          , NNNN , RGB1 , T         , MaxwellA
258ETC2_SRGB8              , NONE                  , ETC2_RGB          , NNNN , RGB1 , T         , MaxwellA
259ETC2_RGB8A1             , NONE                  , ETC2_RGB_PTA      , NNNN , RGBA , T         , MaxwellA
260ETC2_SRGB8A1            , NONE                  , ETC2_RGB_PTA      , NNNN , RGBA , T         , MaxwellA
261ETC2_RGBA8              , NONE                  , ETC2_RGBA         , NNNN , RGBA , T         , MaxwellA
262ETC2_SRGBA8             , NONE                  , ETC2_RGBA         , NNNN , RGBA , T         , MaxwellA
263ETC2_R11_UNORM          , NONE                  , EAC               , NNNN , R001 , T         , MaxwellA
264ETC2_R11_SNORM          , NONE                  , EAC               , SSSS , R001 , T         , MaxwellA
265ETC2_RG11_UNORM         , NONE                  , EACX2             , NNNN , RG01 , T         , MaxwellA
266ETC2_RG11_SNORM         , NONE                  , EACX2             , SSSS , RG01 , T         , MaxwellA
267
268# ASTC compressed formats
269ASTC_4x4                , NONE                  , ASTC_2D_4X4       , NNNN , RGBA , T         , TK1
270ASTC_5x4                , NONE                  , ASTC_2D_5X4       , NNNN , RGBA , T         , TK1
271ASTC_5x5                , NONE                  , ASTC_2D_5X5       , NNNN , RGBA , T         , TK1
272ASTC_6x5                , NONE                  , ASTC_2D_6X5       , NNNN , RGBA , T         , TK1
273ASTC_6x6                , NONE                  , ASTC_2D_6X6       , NNNN , RGBA , T         , TK1
274ASTC_8x5                , NONE                  , ASTC_2D_8X5       , NNNN , RGBA , T         , TK1
275ASTC_8x6                , NONE                  , ASTC_2D_8X6       , NNNN , RGBA , T         , TK1
276ASTC_8x8                , NONE                  , ASTC_2D_8X8       , NNNN , RGBA , T         , TK1
277ASTC_10x5               , NONE                  , ASTC_2D_10X5      , NNNN , RGBA , T         , TK1
278ASTC_10x6               , NONE                  , ASTC_2D_10X6      , NNNN , RGBA , T         , TK1
279ASTC_10x8               , NONE                  , ASTC_2D_10X8      , NNNN , RGBA , T         , TK1
280ASTC_10x10              , NONE                  , ASTC_2D_10X10     , NNNN , RGBA , T         , TK1
281ASTC_12x10              , NONE                  , ASTC_2D_12X10     , NNNN , RGBA , T         , TK1
282ASTC_12x12              , NONE                  , ASTC_2D_12X12     , NNNN , RGBA , T         , TK1
283
284ASTC_4x4_SRGB           , NONE                  , ASTC_2D_4X4       , NNNN , RGBA , T         , TK1
285ASTC_5x4_SRGB           , NONE                  , ASTC_2D_5X4       , NNNN , RGBA , T         , TK1
286ASTC_5x5_SRGB           , NONE                  , ASTC_2D_5X5       , NNNN , RGBA , T         , TK1
287ASTC_6x5_SRGB           , NONE                  , ASTC_2D_6X5       , NNNN , RGBA , T         , TK1
288ASTC_6x6_SRGB           , NONE                  , ASTC_2D_6X6       , NNNN , RGBA , T         , TK1
289ASTC_8x5_SRGB           , NONE                  , ASTC_2D_8X5       , NNNN , RGBA , T         , TK1
290ASTC_8x6_SRGB           , NONE                  , ASTC_2D_8X6       , NNNN , RGBA , T         , TK1
291ASTC_8x8_SRGB           , NONE                  , ASTC_2D_8X8       , NNNN , RGBA , T         , TK1
292ASTC_10x5_SRGB          , NONE                  , ASTC_2D_10X5      , NNNN , RGBA , T         , TK1
293ASTC_10x6_SRGB          , NONE                  , ASTC_2D_10X6      , NNNN , RGBA , T         , TK1
294ASTC_10x8_SRGB          , NONE                  , ASTC_2D_10X8      , NNNN , RGBA , T         , TK1
295ASTC_10x10_SRGB         , NONE                  , ASTC_2D_10X10     , NNNN , RGBA , T         , TK1
296ASTC_12x10_SRGB         , NONE                  , ASTC_2D_12X10     , NNNN , RGBA , T         , TK1
297ASTC_12x12_SRGB         , NONE                  , ASTC_2D_12X12     , NNNN , RGBA , T         , TK1
298