• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // SPDX-License-Identifier: GPL-2.0 OR MIT
2 /**************************************************************************
3  *
4  * Copyright (c) 2009-2024 Broadcom. All Rights Reserved. The term
5  * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
6  *
7  **************************************************************************/
8 
9 #ifndef _SVGA3D_SURFACEDEFS_H_
10 #define _SVGA3D_SURFACEDEFS_H_
11 
12 #include <stdint.h>
13 #include "svga3d_types.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 typedef enum SVGA3dBlockDesc {
20    SVGA3DBLOCKDESC_NONE = 0,
21    SVGA3DBLOCKDESC_BLUE = 1 << 0,
22    SVGA3DBLOCKDESC_W = 1 << 0,
23    SVGA3DBLOCKDESC_BUMP_L = 1 << 0,
24    SVGA3DBLOCKDESC_GREEN = 1 << 1,
25    SVGA3DBLOCKDESC_V = 1 << 1,
26    SVGA3DBLOCKDESC_RED = 1 << 2,
27    SVGA3DBLOCKDESC_U = 1 << 2,
28    SVGA3DBLOCKDESC_LUMINANCE = 1 << 2,
29    SVGA3DBLOCKDESC_ALPHA = 1 << 3,
30    SVGA3DBLOCKDESC_Q = 1 << 3,
31    SVGA3DBLOCKDESC_BUFFER = 1 << 4,
32    SVGA3DBLOCKDESC_COMPRESSED = 1 << 5,
33    SVGA3DBLOCKDESC_FP = 1 << 6,
34    SVGA3DBLOCKDESC_PLANAR_YUV = 1 << 7,
35    SVGA3DBLOCKDESC_2PLANAR_YUV = 1 << 8,
36    SVGA3DBLOCKDESC_3PLANAR_YUV = 1 << 9,
37    SVGA3DBLOCKDESC_STENCIL = 1 << 11,
38    SVGA3DBLOCKDESC_TYPELESS = 1 << 12,
39    SVGA3DBLOCKDESC_SINT = 1 << 13,
40    SVGA3DBLOCKDESC_UINT = 1 << 14,
41    SVGA3DBLOCKDESC_NORM = 1 << 15,
42    SVGA3DBLOCKDESC_SRGB = 1 << 16,
43    SVGA3DBLOCKDESC_EXP = 1 << 17,
44    SVGA3DBLOCKDESC_COLOR = 1 << 18,
45    SVGA3DBLOCKDESC_DEPTH = 1 << 19,
46    SVGA3DBLOCKDESC_BUMP = 1 << 20,
47    SVGA3DBLOCKDESC_YUV_VIDEO = 1 << 21,
48    SVGA3DBLOCKDESC_MIXED = 1 << 22,
49    SVGA3DBLOCKDESC_CX = 1 << 23,
50    SVGA3DBLOCKDESC_BC1 = 1 << 24,
51    SVGA3DBLOCKDESC_BC2 = 1 << 25,
52    SVGA3DBLOCKDESC_BC3 = 1 << 26,
53    SVGA3DBLOCKDESC_BC4 = 1 << 27,
54    SVGA3DBLOCKDESC_BC5 = 1 << 28,
55    SVGA3DBLOCKDESC_BC6H = 1 << 29,
56    SVGA3DBLOCKDESC_BC7 = 1 << 30,
57    SVGA3DBLOCKDESC_COMPRESSED_MASK = SVGA3DBLOCKDESC_BC1 | SVGA3DBLOCKDESC_BC2 |
58                                      SVGA3DBLOCKDESC_BC3 | SVGA3DBLOCKDESC_BC4 |
59                                      SVGA3DBLOCKDESC_BC5 |
60                                      SVGA3DBLOCKDESC_BC6H | SVGA3DBLOCKDESC_BC7,
61    SVGA3DBLOCKDESC_A_UINT =
62       SVGA3DBLOCKDESC_ALPHA | SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_COLOR,
63    SVGA3DBLOCKDESC_A_UNORM = SVGA3DBLOCKDESC_A_UINT | SVGA3DBLOCKDESC_NORM,
64    SVGA3DBLOCKDESC_R_UINT =
65       SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_COLOR,
66    SVGA3DBLOCKDESC_R_UNORM = SVGA3DBLOCKDESC_R_UINT | SVGA3DBLOCKDESC_NORM,
67    SVGA3DBLOCKDESC_R_SINT =
68       SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_SINT | SVGA3DBLOCKDESC_COLOR,
69    SVGA3DBLOCKDESC_R_SNORM = SVGA3DBLOCKDESC_R_SINT | SVGA3DBLOCKDESC_NORM,
70    SVGA3DBLOCKDESC_G_UINT =
71       SVGA3DBLOCKDESC_GREEN | SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_COLOR,
72    SVGA3DBLOCKDESC_RG_UINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN |
73                              SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_COLOR,
74    SVGA3DBLOCKDESC_RG_UNORM = SVGA3DBLOCKDESC_RG_UINT | SVGA3DBLOCKDESC_NORM,
75    SVGA3DBLOCKDESC_RG_SINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN |
76                              SVGA3DBLOCKDESC_SINT | SVGA3DBLOCKDESC_COLOR,
77    SVGA3DBLOCKDESC_RG_SNORM = SVGA3DBLOCKDESC_RG_SINT | SVGA3DBLOCKDESC_NORM,
78    SVGA3DBLOCKDESC_RGB_UINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN |
79                               SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_UINT |
80                               SVGA3DBLOCKDESC_COLOR,
81    SVGA3DBLOCKDESC_RGB_SINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN |
82                               SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_SINT |
83                               SVGA3DBLOCKDESC_COLOR,
84    SVGA3DBLOCKDESC_RGB_UNORM = SVGA3DBLOCKDESC_RGB_UINT | SVGA3DBLOCKDESC_NORM,
85    SVGA3DBLOCKDESC_RGB_UNORM_SRGB =
86       SVGA3DBLOCKDESC_RGB_UNORM | SVGA3DBLOCKDESC_SRGB,
87    SVGA3DBLOCKDESC_RGBA_UINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN |
88                                SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_ALPHA |
89                                SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_COLOR,
90    SVGA3DBLOCKDESC_RGBA_UNORM =
91       SVGA3DBLOCKDESC_RGBA_UINT | SVGA3DBLOCKDESC_NORM,
92    SVGA3DBLOCKDESC_RGBA_UNORM_SRGB =
93       SVGA3DBLOCKDESC_RGBA_UNORM | SVGA3DBLOCKDESC_SRGB,
94    SVGA3DBLOCKDESC_RGBA_SINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN |
95                                SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_ALPHA |
96                                SVGA3DBLOCKDESC_SINT | SVGA3DBLOCKDESC_COLOR,
97    SVGA3DBLOCKDESC_RGBA_SNORM =
98       SVGA3DBLOCKDESC_RGBA_SINT | SVGA3DBLOCKDESC_NORM,
99    SVGA3DBLOCKDESC_RGBA_FP = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN |
100                              SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_ALPHA |
101                              SVGA3DBLOCKDESC_FP | SVGA3DBLOCKDESC_COLOR,
102    SVGA3DBLOCKDESC_UV =
103       SVGA3DBLOCKDESC_U | SVGA3DBLOCKDESC_V | SVGA3DBLOCKDESC_BUMP,
104    SVGA3DBLOCKDESC_UVL = SVGA3DBLOCKDESC_UV | SVGA3DBLOCKDESC_BUMP_L |
105                          SVGA3DBLOCKDESC_MIXED | SVGA3DBLOCKDESC_BUMP,
106    SVGA3DBLOCKDESC_UVW =
107       SVGA3DBLOCKDESC_UV | SVGA3DBLOCKDESC_W | SVGA3DBLOCKDESC_BUMP,
108    SVGA3DBLOCKDESC_UVWA = SVGA3DBLOCKDESC_UVW | SVGA3DBLOCKDESC_ALPHA |
109                           SVGA3DBLOCKDESC_MIXED | SVGA3DBLOCKDESC_BUMP,
110    SVGA3DBLOCKDESC_UVWQ = SVGA3DBLOCKDESC_U | SVGA3DBLOCKDESC_V |
111                           SVGA3DBLOCKDESC_W | SVGA3DBLOCKDESC_Q |
112                           SVGA3DBLOCKDESC_BUMP,
113    SVGA3DBLOCKDESC_L_UNORM = SVGA3DBLOCKDESC_LUMINANCE | SVGA3DBLOCKDESC_UINT |
114                              SVGA3DBLOCKDESC_NORM | SVGA3DBLOCKDESC_COLOR,
115    SVGA3DBLOCKDESC_LA_UNORM = SVGA3DBLOCKDESC_LUMINANCE |
116                               SVGA3DBLOCKDESC_ALPHA | SVGA3DBLOCKDESC_UINT |
117                               SVGA3DBLOCKDESC_NORM | SVGA3DBLOCKDESC_COLOR,
118    SVGA3DBLOCKDESC_R_FP =
119       SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_FP | SVGA3DBLOCKDESC_COLOR,
120    SVGA3DBLOCKDESC_RG_FP =
121       SVGA3DBLOCKDESC_R_FP | SVGA3DBLOCKDESC_GREEN | SVGA3DBLOCKDESC_COLOR,
122    SVGA3DBLOCKDESC_RGB_FP =
123       SVGA3DBLOCKDESC_RG_FP | SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_COLOR,
124    SVGA3DBLOCKDESC_YUV = SVGA3DBLOCKDESC_YUV_VIDEO | SVGA3DBLOCKDESC_COLOR,
125    SVGA3DBLOCKDESC_AYUV =
126       SVGA3DBLOCKDESC_ALPHA | SVGA3DBLOCKDESC_YUV_VIDEO | SVGA3DBLOCKDESC_COLOR,
127    SVGA3DBLOCKDESC_RGB_EXP = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN |
128                              SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_EXP |
129                              SVGA3DBLOCKDESC_COLOR,
130    SVGA3DBLOCKDESC_COMP_TYPELESS =
131       SVGA3DBLOCKDESC_COMPRESSED | SVGA3DBLOCKDESC_TYPELESS,
132    SVGA3DBLOCKDESC_COMP_UNORM = SVGA3DBLOCKDESC_COMPRESSED |
133                                 SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_NORM |
134                                 SVGA3DBLOCKDESC_COLOR,
135    SVGA3DBLOCKDESC_COMP_SNORM = SVGA3DBLOCKDESC_COMPRESSED |
136                                 SVGA3DBLOCKDESC_SINT | SVGA3DBLOCKDESC_NORM |
137                                 SVGA3DBLOCKDESC_COLOR,
138    SVGA3DBLOCKDESC_COMP_UNORM_SRGB =
139       SVGA3DBLOCKDESC_COMP_UNORM | SVGA3DBLOCKDESC_SRGB,
140    SVGA3DBLOCKDESC_BC1_COMP_TYPELESS =
141       SVGA3DBLOCKDESC_BC1 | SVGA3DBLOCKDESC_COMP_TYPELESS,
142    SVGA3DBLOCKDESC_BC1_COMP_UNORM =
143       SVGA3DBLOCKDESC_BC1 | SVGA3DBLOCKDESC_COMP_UNORM,
144    SVGA3DBLOCKDESC_BC1_COMP_UNORM_SRGB =
145       SVGA3DBLOCKDESC_BC1_COMP_UNORM | SVGA3DBLOCKDESC_SRGB,
146    SVGA3DBLOCKDESC_BC2_COMP_TYPELESS =
147       SVGA3DBLOCKDESC_BC2 | SVGA3DBLOCKDESC_COMP_TYPELESS,
148    SVGA3DBLOCKDESC_BC2_COMP_UNORM =
149       SVGA3DBLOCKDESC_BC2 | SVGA3DBLOCKDESC_COMP_UNORM,
150    SVGA3DBLOCKDESC_BC2_COMP_UNORM_SRGB =
151       SVGA3DBLOCKDESC_BC2_COMP_UNORM | SVGA3DBLOCKDESC_SRGB,
152    SVGA3DBLOCKDESC_BC3_COMP_TYPELESS =
153       SVGA3DBLOCKDESC_BC3 | SVGA3DBLOCKDESC_COMP_TYPELESS,
154    SVGA3DBLOCKDESC_BC3_COMP_UNORM =
155       SVGA3DBLOCKDESC_BC3 | SVGA3DBLOCKDESC_COMP_UNORM,
156    SVGA3DBLOCKDESC_BC3_COMP_UNORM_SRGB =
157       SVGA3DBLOCKDESC_BC3_COMP_UNORM | SVGA3DBLOCKDESC_SRGB,
158    SVGA3DBLOCKDESC_BC4_COMP_TYPELESS =
159       SVGA3DBLOCKDESC_BC4 | SVGA3DBLOCKDESC_COMP_TYPELESS,
160    SVGA3DBLOCKDESC_BC4_COMP_UNORM =
161       SVGA3DBLOCKDESC_BC4 | SVGA3DBLOCKDESC_COMP_UNORM,
162    SVGA3DBLOCKDESC_BC4_COMP_SNORM =
163       SVGA3DBLOCKDESC_BC4 | SVGA3DBLOCKDESC_COMP_SNORM,
164    SVGA3DBLOCKDESC_BC5_COMP_TYPELESS =
165       SVGA3DBLOCKDESC_BC5 | SVGA3DBLOCKDESC_COMP_TYPELESS,
166    SVGA3DBLOCKDESC_BC5_COMP_UNORM =
167       SVGA3DBLOCKDESC_BC5 | SVGA3DBLOCKDESC_COMP_UNORM,
168    SVGA3DBLOCKDESC_BC5_COMP_SNORM =
169       SVGA3DBLOCKDESC_BC5 | SVGA3DBLOCKDESC_COMP_SNORM,
170    SVGA3DBLOCKDESC_BC6H_COMP_TYPELESS =
171       SVGA3DBLOCKDESC_BC6H | SVGA3DBLOCKDESC_COMP_TYPELESS,
172    SVGA3DBLOCKDESC_BC6H_COMP_UF16 =
173       SVGA3DBLOCKDESC_BC6H | SVGA3DBLOCKDESC_COMPRESSED,
174    SVGA3DBLOCKDESC_BC6H_COMP_SF16 =
175       SVGA3DBLOCKDESC_BC6H | SVGA3DBLOCKDESC_COMPRESSED,
176    SVGA3DBLOCKDESC_BC7_COMP_TYPELESS =
177       SVGA3DBLOCKDESC_BC7 | SVGA3DBLOCKDESC_COMP_TYPELESS,
178    SVGA3DBLOCKDESC_BC7_COMP_UNORM =
179       SVGA3DBLOCKDESC_BC7 | SVGA3DBLOCKDESC_COMP_UNORM,
180    SVGA3DBLOCKDESC_BC7_COMP_UNORM_SRGB =
181       SVGA3DBLOCKDESC_BC7_COMP_UNORM | SVGA3DBLOCKDESC_SRGB,
182    SVGA3DBLOCKDESC_NV12 = SVGA3DBLOCKDESC_YUV_VIDEO |
183                           SVGA3DBLOCKDESC_PLANAR_YUV |
184                           SVGA3DBLOCKDESC_2PLANAR_YUV | SVGA3DBLOCKDESC_COLOR,
185    SVGA3DBLOCKDESC_YV12 = SVGA3DBLOCKDESC_YUV_VIDEO |
186                           SVGA3DBLOCKDESC_PLANAR_YUV |
187                           SVGA3DBLOCKDESC_3PLANAR_YUV | SVGA3DBLOCKDESC_COLOR,
188    SVGA3DBLOCKDESC_DEPTH_UINT = SVGA3DBLOCKDESC_DEPTH | SVGA3DBLOCKDESC_UINT,
189    SVGA3DBLOCKDESC_DEPTH_UNORM =
190       SVGA3DBLOCKDESC_DEPTH_UINT | SVGA3DBLOCKDESC_NORM,
191    SVGA3DBLOCKDESC_DS = SVGA3DBLOCKDESC_DEPTH | SVGA3DBLOCKDESC_STENCIL,
192    SVGA3DBLOCKDESC_DS_UINT =
193       SVGA3DBLOCKDESC_DEPTH | SVGA3DBLOCKDESC_STENCIL | SVGA3DBLOCKDESC_UINT,
194    SVGA3DBLOCKDESC_DS_UNORM = SVGA3DBLOCKDESC_DS_UINT | SVGA3DBLOCKDESC_NORM,
195    SVGA3DBLOCKDESC_DEPTH_FP = SVGA3DBLOCKDESC_DEPTH | SVGA3DBLOCKDESC_FP,
196    SVGA3DBLOCKDESC_UV_UINT = SVGA3DBLOCKDESC_UV | SVGA3DBLOCKDESC_UINT,
197    SVGA3DBLOCKDESC_UV_SNORM =
198       SVGA3DBLOCKDESC_UV | SVGA3DBLOCKDESC_SINT | SVGA3DBLOCKDESC_NORM,
199    SVGA3DBLOCKDESC_UVCX_SNORM = SVGA3DBLOCKDESC_UV_SNORM | SVGA3DBLOCKDESC_CX,
200    SVGA3DBLOCKDESC_UVWQ_SNORM =
201       SVGA3DBLOCKDESC_UVWQ | SVGA3DBLOCKDESC_SINT | SVGA3DBLOCKDESC_NORM,
202 } SVGA3dBlockDesc;
203 
204 typedef struct SVGA3dChannelDef {
205    union {
206       uint8_t blue;
207       uint8_t w_bump;
208       uint8_t l_bump;
209       uint8_t uv_video;
210       uint8_t u_video;
211    };
212    union {
213       uint8_t green;
214       uint8_t stencil;
215       uint8_t v_bump;
216       uint8_t v_video;
217    };
218    union {
219       uint8_t red;
220       uint8_t u_bump;
221       uint8_t luminance;
222       uint8_t y_video;
223       uint8_t depth;
224       uint8_t data;
225    };
226    union {
227       uint8_t alpha;
228       uint8_t q_bump;
229       uint8_t exp;
230    };
231 } SVGA3dChannelDef;
232 
233 typedef struct SVGA3dSurfaceDesc {
234    SVGA3dSurfaceFormat format;
235    SVGA3dBlockDesc blockDesc;
236    SVGA3dSize blockSize;
237    uint32_t bytesPerBlock;
238    uint32_t pitchBytesPerBlock;
239    SVGA3dChannelDef bitDepth;
240    SVGA3dChannelDef bitOffset;
241 } SVGA3dSurfaceDesc;
242 
243 static const SVGA3dSurfaceDesc g_SVGA3dSurfaceDescs[SVGA3D_FORMAT_MAX] = {
244    {SVGA3D_FORMAT_INVALID,
245     SVGA3DBLOCKDESC_NONE,
246     {1, 1, 1},
247     0,
248     0,
249     {{0}, {0}, {0}, {0}},
250     {{0}, {0}, {0}, {0}}},
251    {SVGA3D_X8R8G8B8,
252     SVGA3DBLOCKDESC_RGB_UNORM,
253     {1, 1, 1},
254     4,
255     4,
256     {{8}, {8}, {8}, {0}},
257     {{0}, {8}, {16}, {24}}},
258    {SVGA3D_A8R8G8B8,
259     SVGA3DBLOCKDESC_RGBA_UNORM,
260     {1, 1, 1},
261     4,
262     4,
263     {{8}, {8}, {8}, {8}},
264     {{0}, {8}, {16}, {24}}},
265    {SVGA3D_R5G6B5,
266     SVGA3DBLOCKDESC_RGB_UNORM,
267     {1, 1, 1},
268     2,
269     2,
270     {{5}, {6}, {5}, {0}},
271     {{0}, {5}, {11}, {0}}},
272    {SVGA3D_X1R5G5B5,
273     SVGA3DBLOCKDESC_RGB_UNORM,
274     {1, 1, 1},
275     2,
276     2,
277     {{5}, {5}, {5}, {0}},
278     {{0}, {5}, {10}, {0}}},
279    {SVGA3D_A1R5G5B5,
280     SVGA3DBLOCKDESC_RGBA_UNORM,
281     {1, 1, 1},
282     2,
283     2,
284     {{5}, {5}, {5}, {1}},
285     {{0}, {5}, {10}, {15}}},
286    {SVGA3D_A4R4G4B4,
287     SVGA3DBLOCKDESC_RGBA_UNORM,
288     {1, 1, 1},
289     2,
290     2,
291     {{4}, {4}, {4}, {4}},
292     {{0}, {4}, {8}, {12}}},
293    {SVGA3D_Z_D32,
294     SVGA3DBLOCKDESC_DEPTH_UNORM,
295     {1, 1, 1},
296     4,
297     4,
298     {{0}, {0}, {32}, {0}},
299     {{0}, {0}, {0}, {0}}},
300    {SVGA3D_Z_D16,
301     SVGA3DBLOCKDESC_DEPTH_UNORM,
302     {1, 1, 1},
303     2,
304     2,
305     {{0}, {0}, {16}, {0}},
306     {{0}, {0}, {0}, {0}}},
307    {SVGA3D_Z_D24S8,
308     SVGA3DBLOCKDESC_DS_UNORM,
309     {1, 1, 1},
310     4,
311     4,
312     {{0}, {8}, {24}, {0}},
313     {{0}, {0}, {8}, {0}}},
314    {SVGA3D_Z_D15S1,
315     SVGA3DBLOCKDESC_DS_UNORM,
316     {1, 1, 1},
317     2,
318     2,
319     {{0}, {1}, {15}, {0}},
320     {{0}, {0}, {1}, {0}}},
321    {SVGA3D_LUMINANCE8,
322     SVGA3DBLOCKDESC_L_UNORM,
323     {1, 1, 1},
324     1,
325     1,
326     {{0}, {0}, {8}, {0}},
327     {{0}, {0}, {0}, {0}}},
328    {SVGA3D_LUMINANCE4_ALPHA4,
329     SVGA3DBLOCKDESC_LA_UNORM,
330     {1, 1, 1},
331     1,
332     1,
333     {{0}, {0}, {4}, {4}},
334     {{0}, {0}, {0}, {4}}},
335    {SVGA3D_LUMINANCE16,
336     SVGA3DBLOCKDESC_L_UNORM,
337     {1, 1, 1},
338     2,
339     2,
340     {{0}, {0}, {16}, {0}},
341     {{0}, {0}, {0}, {0}}},
342    {SVGA3D_LUMINANCE8_ALPHA8,
343     SVGA3DBLOCKDESC_LA_UNORM,
344     {1, 1, 1},
345     2,
346     2,
347     {{0}, {0}, {8}, {8}},
348     {{0}, {0}, {0}, {8}}},
349    {SVGA3D_DXT1,
350     SVGA3DBLOCKDESC_BC1_COMP_UNORM,
351     {4, 4, 1},
352     8,
353     8,
354     {{0}, {0}, {64}, {0}},
355     {{0}, {0}, {0}, {0}}},
356    {SVGA3D_DXT2,
357     SVGA3DBLOCKDESC_BC2_COMP_UNORM,
358     {4, 4, 1},
359     16,
360     16,
361     {{0}, {0}, {128}, {0}},
362     {{0}, {0}, {0}, {0}}},
363    {SVGA3D_DXT3,
364     SVGA3DBLOCKDESC_BC2_COMP_UNORM,
365     {4, 4, 1},
366     16,
367     16,
368     {{0}, {0}, {128}, {0}},
369     {{0}, {0}, {0}, {0}}},
370    {SVGA3D_DXT4,
371     SVGA3DBLOCKDESC_BC3_COMP_UNORM,
372     {4, 4, 1},
373     16,
374     16,
375     {{0}, {0}, {128}, {0}},
376     {{0}, {0}, {0}, {0}}},
377    {SVGA3D_DXT5,
378     SVGA3DBLOCKDESC_BC3_COMP_UNORM,
379     {4, 4, 1},
380     16,
381     16,
382     {{0}, {0}, {128}, {0}},
383     {{0}, {0}, {0}, {0}}},
384    {SVGA3D_BUMPU8V8,
385     SVGA3DBLOCKDESC_UV_SNORM,
386     {1, 1, 1},
387     2,
388     2,
389     {{0}, {8}, {8}, {0}},
390     {{0}, {8}, {0}, {0}}},
391    {SVGA3D_BUMPL6V5U5,
392     SVGA3DBLOCKDESC_UVL,
393     {1, 1, 1},
394     2,
395     2,
396     {{6}, {5}, {5}, {0}},
397     {{10}, {5}, {0}, {0}}},
398    {SVGA3D_BUMPX8L8V8U8,
399     SVGA3DBLOCKDESC_UVL,
400     {1, 1, 1},
401     4,
402     4,
403     {{8}, {8}, {8}, {0}},
404     {{16}, {8}, {0}, {0}}},
405    {SVGA3D_FORMAT_DEAD1,
406     SVGA3DBLOCKDESC_NONE,
407     {1, 1, 1},
408     3,
409     3,
410     {{8}, {8}, {8}, {0}},
411     {{16}, {8}, {0}, {0}}},
412    {SVGA3D_ARGB_S10E5,
413     SVGA3DBLOCKDESC_RGBA_FP,
414     {1, 1, 1},
415     8,
416     8,
417     {{16}, {16}, {16}, {16}},
418     {{32}, {16}, {0}, {48}}},
419    {SVGA3D_ARGB_S23E8,
420     SVGA3DBLOCKDESC_RGBA_FP,
421     {1, 1, 1},
422     16,
423     16,
424     {{32}, {32}, {32}, {32}},
425     {{64}, {32}, {0}, {96}}},
426    {SVGA3D_A2R10G10B10,
427     SVGA3DBLOCKDESC_RGBA_UNORM,
428     {1, 1, 1},
429     4,
430     4,
431     {{10}, {10}, {10}, {2}},
432     {{0}, {10}, {20}, {30}}},
433    {SVGA3D_V8U8,
434     SVGA3DBLOCKDESC_UV_SNORM,
435     {1, 1, 1},
436     2,
437     2,
438     {{0}, {8}, {8}, {0}},
439     {{0}, {8}, {0}, {0}}},
440    {SVGA3D_Q8W8V8U8,
441     SVGA3DBLOCKDESC_UVWQ_SNORM,
442     {1, 1, 1},
443     4,
444     4,
445     {{8}, {8}, {8}, {8}},
446     {{16}, {8}, {0}, {24}}},
447    {SVGA3D_CxV8U8,
448     SVGA3DBLOCKDESC_UVCX_SNORM,
449     {1, 1, 1},
450     2,
451     2,
452     {{0}, {8}, {8}, {0}},
453     {{0}, {8}, {0}, {0}}},
454    {SVGA3D_X8L8V8U8,
455     SVGA3DBLOCKDESC_UVL,
456     {1, 1, 1},
457     4,
458     4,
459     {{8}, {8}, {8}, {0}},
460     {{16}, {8}, {0}, {0}}},
461    {SVGA3D_A2W10V10U10,
462     SVGA3DBLOCKDESC_UVWA,
463     {1, 1, 1},
464     4,
465     4,
466     {{10}, {10}, {10}, {2}},
467     {{20}, {10}, {0}, {30}}},
468    {SVGA3D_ALPHA8,
469     SVGA3DBLOCKDESC_A_UNORM,
470     {1, 1, 1},
471     1,
472     1,
473     {{0}, {0}, {0}, {8}},
474     {{0}, {0}, {0}, {0}}},
475    {SVGA3D_R_S10E5,
476     SVGA3DBLOCKDESC_R_FP,
477     {1, 1, 1},
478     2,
479     2,
480     {{0}, {0}, {16}, {0}},
481     {{0}, {0}, {0}, {0}}},
482    {SVGA3D_R_S23E8,
483     SVGA3DBLOCKDESC_R_FP,
484     {1, 1, 1},
485     4,
486     4,
487     {{0}, {0}, {32}, {0}},
488     {{0}, {0}, {0}, {0}}},
489    {SVGA3D_RG_S10E5,
490     SVGA3DBLOCKDESC_RG_FP,
491     {1, 1, 1},
492     4,
493     4,
494     {{0}, {16}, {16}, {0}},
495     {{0}, {16}, {0}, {0}}},
496    {SVGA3D_RG_S23E8,
497     SVGA3DBLOCKDESC_RG_FP,
498     {1, 1, 1},
499     8,
500     8,
501     {{0}, {32}, {32}, {0}},
502     {{0}, {32}, {0}, {0}}},
503    {SVGA3D_BUFFER,
504     SVGA3DBLOCKDESC_BUFFER,
505     {1, 1, 1},
506     1,
507     1,
508     {{0}, {0}, {8}, {0}},
509     {{0}, {0}, {0}, {0}}},
510    {SVGA3D_Z_D24X8,
511     SVGA3DBLOCKDESC_DEPTH_UNORM,
512     {1, 1, 1},
513     4,
514     4,
515     {{0}, {0}, {24}, {0}},
516     {{0}, {0}, {8}, {0}}},
517    {SVGA3D_V16U16,
518     SVGA3DBLOCKDESC_UV_SNORM,
519     {1, 1, 1},
520     4,
521     4,
522     {{0}, {16}, {16}, {0}},
523     {{0}, {16}, {0}, {0}}},
524    {SVGA3D_G16R16,
525     SVGA3DBLOCKDESC_RG_UNORM,
526     {1, 1, 1},
527     4,
528     4,
529     {{0}, {16}, {16}, {0}},
530     {{0}, {16}, {0}, {0}}},
531    {SVGA3D_A16B16G16R16,
532     SVGA3DBLOCKDESC_RGBA_UNORM,
533     {1, 1, 1},
534     8,
535     8,
536     {{16}, {16}, {16}, {16}},
537     {{32}, {16}, {0}, {48}}},
538    {SVGA3D_UYVY,
539     SVGA3DBLOCKDESC_YUV,
540     {2, 1, 1},
541     4,
542     4,
543     {{8}, {0}, {8}, {0}},
544     {{0}, {0}, {8}, {0}}},
545    {SVGA3D_YUY2,
546     SVGA3DBLOCKDESC_YUV,
547     {2, 1, 1},
548     4,
549     4,
550     {{8}, {0}, {8}, {0}},
551     {{8}, {0}, {0}, {0}}},
552    {SVGA3D_NV12,
553     SVGA3DBLOCKDESC_NV12,
554     {2, 2, 1},
555     6,
556     2,
557     {{0}, {0}, {48}, {0}},
558     {{0}, {0}, {0}, {0}}},
559    {SVGA3D_FORMAT_DEAD2,
560     SVGA3DBLOCKDESC_NONE,
561     {1, 1, 1},
562     4,
563     4,
564     {{8}, {8}, {8}, {8}},
565     {{0}, {8}, {16}, {24}}},
566    {SVGA3D_R32G32B32A32_TYPELESS,
567     SVGA3DBLOCKDESC_TYPELESS,
568     {1, 1, 1},
569     16,
570     16,
571     {{32}, {32}, {32}, {32}},
572     {{64}, {32}, {0}, {96}}},
573    {SVGA3D_R32G32B32A32_UINT,
574     SVGA3DBLOCKDESC_RGBA_UINT,
575     {1, 1, 1},
576     16,
577     16,
578     {{32}, {32}, {32}, {32}},
579     {{64}, {32}, {0}, {96}}},
580    {SVGA3D_R32G32B32A32_SINT,
581     SVGA3DBLOCKDESC_RGBA_SINT,
582     {1, 1, 1},
583     16,
584     16,
585     {{32}, {32}, {32}, {32}},
586     {{64}, {32}, {0}, {96}}},
587    {SVGA3D_R32G32B32_TYPELESS,
588     SVGA3DBLOCKDESC_TYPELESS,
589     {1, 1, 1},
590     12,
591     12,
592     {{32}, {32}, {32}, {0}},
593     {{64}, {32}, {0}, {0}}},
594    {SVGA3D_R32G32B32_FLOAT,
595     SVGA3DBLOCKDESC_RGB_FP,
596     {1, 1, 1},
597     12,
598     12,
599     {{32}, {32}, {32}, {0}},
600     {{64}, {32}, {0}, {0}}},
601    {SVGA3D_R32G32B32_UINT,
602     SVGA3DBLOCKDESC_RGB_UINT,
603     {1, 1, 1},
604     12,
605     12,
606     {{32}, {32}, {32}, {0}},
607     {{64}, {32}, {0}, {0}}},
608    {SVGA3D_R32G32B32_SINT,
609     SVGA3DBLOCKDESC_RGB_SINT,
610     {1, 1, 1},
611     12,
612     12,
613     {{32}, {32}, {32}, {0}},
614     {{64}, {32}, {0}, {0}}},
615    {SVGA3D_R16G16B16A16_TYPELESS,
616     SVGA3DBLOCKDESC_TYPELESS,
617     {1, 1, 1},
618     8,
619     8,
620     {{16}, {16}, {16}, {16}},
621     {{32}, {16}, {0}, {48}}},
622    {SVGA3D_R16G16B16A16_UINT,
623     SVGA3DBLOCKDESC_RGBA_UINT,
624     {1, 1, 1},
625     8,
626     8,
627     {{16}, {16}, {16}, {16}},
628     {{32}, {16}, {0}, {48}}},
629    {SVGA3D_R16G16B16A16_SNORM,
630     SVGA3DBLOCKDESC_RGBA_SNORM,
631     {1, 1, 1},
632     8,
633     8,
634     {{16}, {16}, {16}, {16}},
635     {{32}, {16}, {0}, {48}}},
636    {SVGA3D_R16G16B16A16_SINT,
637     SVGA3DBLOCKDESC_RGBA_SINT,
638     {1, 1, 1},
639     8,
640     8,
641     {{16}, {16}, {16}, {16}},
642     {{32}, {16}, {0}, {48}}},
643    {SVGA3D_R32G32_TYPELESS,
644     SVGA3DBLOCKDESC_TYPELESS,
645     {1, 1, 1},
646     8,
647     8,
648     {{0}, {32}, {32}, {0}},
649     {{0}, {32}, {0}, {0}}},
650    {SVGA3D_R32G32_UINT,
651     SVGA3DBLOCKDESC_RG_UINT,
652     {1, 1, 1},
653     8,
654     8,
655     {{0}, {32}, {32}, {0}},
656     {{0}, {32}, {0}, {0}}},
657    {SVGA3D_R32G32_SINT,
658     SVGA3DBLOCKDESC_RG_SINT,
659     {1, 1, 1},
660     8,
661     8,
662     {{0}, {32}, {32}, {0}},
663     {{0}, {32}, {0}, {0}}},
664    {SVGA3D_R32G8X24_TYPELESS,
665     SVGA3DBLOCKDESC_TYPELESS,
666     {1, 1, 1},
667     8,
668     8,
669     {{0}, {8}, {32}, {0}},
670     {{0}, {32}, {0}, {0}}},
671    {SVGA3D_D32_FLOAT_S8X24_UINT,
672     SVGA3DBLOCKDESC_DS,
673     {1, 1, 1},
674     8,
675     8,
676     {{0}, {8}, {32}, {0}},
677     {{0}, {32}, {0}, {0}}},
678    {SVGA3D_R32_FLOAT_X8X24,
679     SVGA3DBLOCKDESC_R_FP,
680     {1, 1, 1},
681     8,
682     8,
683     {{0}, {0}, {32}, {0}},
684     {{0}, {0}, {0}, {0}}},
685    {SVGA3D_X32_G8X24_UINT,
686     SVGA3DBLOCKDESC_G_UINT,
687     {1, 1, 1},
688     8,
689     8,
690     {{0}, {8}, {0}, {0}},
691     {{0}, {32}, {0}, {0}}},
692    {SVGA3D_R10G10B10A2_TYPELESS,
693     SVGA3DBLOCKDESC_TYPELESS,
694     {1, 1, 1},
695     4,
696     4,
697     {{10}, {10}, {10}, {2}},
698     {{20}, {10}, {0}, {30}}},
699    {SVGA3D_R10G10B10A2_UINT,
700     SVGA3DBLOCKDESC_RGBA_UINT,
701     {1, 1, 1},
702     4,
703     4,
704     {{10}, {10}, {10}, {2}},
705     {{20}, {10}, {0}, {30}}},
706    {SVGA3D_R11G11B10_FLOAT,
707     SVGA3DBLOCKDESC_RGB_FP,
708     {1, 1, 1},
709     4,
710     4,
711     {{10}, {11}, {11}, {0}},
712     {{22}, {11}, {0}, {0}}},
713    {SVGA3D_R8G8B8A8_TYPELESS,
714     SVGA3DBLOCKDESC_TYPELESS,
715     {1, 1, 1},
716     4,
717     4,
718     {{8}, {8}, {8}, {8}},
719     {{16}, {8}, {0}, {24}}},
720    {SVGA3D_R8G8B8A8_UNORM,
721     SVGA3DBLOCKDESC_RGBA_UNORM,
722     {1, 1, 1},
723     4,
724     4,
725     {{8}, {8}, {8}, {8}},
726     {{16}, {8}, {0}, {24}}},
727    {SVGA3D_R8G8B8A8_UNORM_SRGB,
728     SVGA3DBLOCKDESC_RGBA_UNORM_SRGB,
729     {1, 1, 1},
730     4,
731     4,
732     {{8}, {8}, {8}, {8}},
733     {{16}, {8}, {0}, {24}}},
734    {SVGA3D_R8G8B8A8_UINT,
735     SVGA3DBLOCKDESC_RGBA_UINT,
736     {1, 1, 1},
737     4,
738     4,
739     {{8}, {8}, {8}, {8}},
740     {{16}, {8}, {0}, {24}}},
741    {SVGA3D_R8G8B8A8_SINT,
742     SVGA3DBLOCKDESC_RGBA_SINT,
743     {1, 1, 1},
744     4,
745     4,
746     {{8}, {8}, {8}, {8}},
747     {{16}, {8}, {0}, {24}}},
748    {SVGA3D_R16G16_TYPELESS,
749     SVGA3DBLOCKDESC_TYPELESS,
750     {1, 1, 1},
751     4,
752     4,
753     {{0}, {16}, {16}, {0}},
754     {{0}, {16}, {0}, {0}}},
755    {SVGA3D_R16G16_UINT,
756     SVGA3DBLOCKDESC_RG_UINT,
757     {1, 1, 1},
758     4,
759     4,
760     {{0}, {16}, {16}, {0}},
761     {{0}, {16}, {0}, {0}}},
762    {SVGA3D_R16G16_SINT,
763     SVGA3DBLOCKDESC_RG_SINT,
764     {1, 1, 1},
765     4,
766     4,
767     {{0}, {16}, {16}, {0}},
768     {{0}, {16}, {0}, {0}}},
769    {SVGA3D_R32_TYPELESS,
770     SVGA3DBLOCKDESC_TYPELESS,
771     {1, 1, 1},
772     4,
773     4,
774     {{0}, {0}, {32}, {0}},
775     {{0}, {0}, {0}, {0}}},
776    {SVGA3D_D32_FLOAT,
777     SVGA3DBLOCKDESC_DEPTH_FP,
778     {1, 1, 1},
779     4,
780     4,
781     {{0}, {0}, {32}, {0}},
782     {{0}, {0}, {0}, {0}}},
783    {SVGA3D_R32_UINT,
784     SVGA3DBLOCKDESC_R_UINT,
785     {1, 1, 1},
786     4,
787     4,
788     {{0}, {0}, {32}, {0}},
789     {{0}, {0}, {0}, {0}}},
790    {SVGA3D_R32_SINT,
791     SVGA3DBLOCKDESC_R_SINT,
792     {1, 1, 1},
793     4,
794     4,
795     {{0}, {0}, {32}, {0}},
796     {{0}, {0}, {0}, {0}}},
797    {SVGA3D_R24G8_TYPELESS,
798     SVGA3DBLOCKDESC_TYPELESS,
799     {1, 1, 1},
800     4,
801     4,
802     {{0}, {8}, {24}, {0}},
803     {{0}, {24}, {0}, {0}}},
804    {SVGA3D_D24_UNORM_S8_UINT,
805     SVGA3DBLOCKDESC_DS_UNORM,
806     {1, 1, 1},
807     4,
808     4,
809     {{0}, {8}, {24}, {0}},
810     {{0}, {24}, {0}, {0}}},
811    {SVGA3D_R24_UNORM_X8,
812     SVGA3DBLOCKDESC_R_UNORM,
813     {1, 1, 1},
814     4,
815     4,
816     {{0}, {0}, {24}, {0}},
817     {{0}, {0}, {0}, {0}}},
818    {SVGA3D_X24_G8_UINT,
819     SVGA3DBLOCKDESC_G_UINT,
820     {1, 1, 1},
821     4,
822     4,
823     {{0}, {8}, {0}, {0}},
824     {{0}, {24}, {0}, {0}}},
825    {SVGA3D_R8G8_TYPELESS,
826     SVGA3DBLOCKDESC_TYPELESS,
827     {1, 1, 1},
828     2,
829     2,
830     {{0}, {8}, {8}, {0}},
831     {{0}, {8}, {0}, {0}}},
832    {SVGA3D_R8G8_UNORM,
833     SVGA3DBLOCKDESC_RG_UNORM,
834     {1, 1, 1},
835     2,
836     2,
837     {{0}, {8}, {8}, {0}},
838     {{0}, {8}, {0}, {0}}},
839    {SVGA3D_R8G8_UINT,
840     SVGA3DBLOCKDESC_RG_UINT,
841     {1, 1, 1},
842     2,
843     2,
844     {{0}, {8}, {8}, {0}},
845     {{0}, {8}, {0}, {0}}},
846    {SVGA3D_R8G8_SINT,
847     SVGA3DBLOCKDESC_RG_SINT,
848     {1, 1, 1},
849     2,
850     2,
851     {{0}, {8}, {8}, {0}},
852     {{0}, {8}, {0}, {0}}},
853    {SVGA3D_R16_TYPELESS,
854     SVGA3DBLOCKDESC_TYPELESS,
855     {1, 1, 1},
856     2,
857     2,
858     {{0}, {0}, {16}, {0}},
859     {{0}, {0}, {0}, {0}}},
860    {SVGA3D_R16_UNORM,
861     SVGA3DBLOCKDESC_R_UNORM,
862     {1, 1, 1},
863     2,
864     2,
865     {{0}, {0}, {16}, {0}},
866     {{0}, {0}, {0}, {0}}},
867    {SVGA3D_R16_UINT,
868     SVGA3DBLOCKDESC_R_UINT,
869     {1, 1, 1},
870     2,
871     2,
872     {{0}, {0}, {16}, {0}},
873     {{0}, {0}, {0}, {0}}},
874    {SVGA3D_R16_SNORM,
875     SVGA3DBLOCKDESC_R_SNORM,
876     {1, 1, 1},
877     2,
878     2,
879     {{0}, {0}, {16}, {0}},
880     {{0}, {0}, {0}, {0}}},
881    {SVGA3D_R16_SINT,
882     SVGA3DBLOCKDESC_R_SINT,
883     {1, 1, 1},
884     2,
885     2,
886     {{0}, {0}, {16}, {0}},
887     {{0}, {0}, {0}, {0}}},
888    {SVGA3D_R8_TYPELESS,
889     SVGA3DBLOCKDESC_TYPELESS,
890     {1, 1, 1},
891     1,
892     1,
893     {{0}, {0}, {8}, {0}},
894     {{0}, {0}, {0}, {0}}},
895    {SVGA3D_R8_UNORM,
896     SVGA3DBLOCKDESC_R_UNORM,
897     {1, 1, 1},
898     1,
899     1,
900     {{0}, {0}, {8}, {0}},
901     {{0}, {0}, {0}, {0}}},
902    {SVGA3D_R8_UINT,
903     SVGA3DBLOCKDESC_R_UINT,
904     {1, 1, 1},
905     1,
906     1,
907     {{0}, {0}, {8}, {0}},
908     {{0}, {0}, {0}, {0}}},
909    {SVGA3D_R8_SNORM,
910     SVGA3DBLOCKDESC_R_SNORM,
911     {1, 1, 1},
912     1,
913     1,
914     {{0}, {0}, {8}, {0}},
915     {{0}, {0}, {0}, {0}}},
916    {SVGA3D_R8_SINT,
917     SVGA3DBLOCKDESC_R_SINT,
918     {1, 1, 1},
919     1,
920     1,
921     {{0}, {0}, {8}, {0}},
922     {{0}, {0}, {0}, {0}}},
923    {SVGA3D_P8,
924     SVGA3DBLOCKDESC_NONE,
925     {1, 1, 1},
926     1,
927     1,
928     {{0}, {0}, {8}, {0}},
929     {{0}, {0}, {0}, {0}}},
930    {SVGA3D_R9G9B9E5_SHAREDEXP,
931     SVGA3DBLOCKDESC_RGB_EXP,
932     {1, 1, 1},
933     4,
934     4,
935     {{9}, {9}, {9}, {5}},
936     {{18}, {9}, {0}, {27}}},
937    {SVGA3D_R8G8_B8G8_UNORM,
938     SVGA3DBLOCKDESC_NONE,
939     {2, 1, 1},
940     4,
941     4,
942     {{0}, {8}, {8}, {0}},
943     {{0}, {0}, {8}, {0}}},
944    {SVGA3D_G8R8_G8B8_UNORM,
945     SVGA3DBLOCKDESC_NONE,
946     {2, 1, 1},
947     4,
948     4,
949     {{0}, {8}, {8}, {0}},
950     {{0}, {8}, {0}, {0}}},
951    {SVGA3D_BC1_TYPELESS,
952     SVGA3DBLOCKDESC_BC1_COMP_TYPELESS,
953     {4, 4, 1},
954     8,
955     8,
956     {{0}, {0}, {64}, {0}},
957     {{0}, {0}, {0}, {0}}},
958    {SVGA3D_BC1_UNORM_SRGB,
959     SVGA3DBLOCKDESC_BC1_COMP_UNORM_SRGB,
960     {4, 4, 1},
961     8,
962     8,
963     {{0}, {0}, {64}, {0}},
964     {{0}, {0}, {0}, {0}}},
965    {SVGA3D_BC2_TYPELESS,
966     SVGA3DBLOCKDESC_BC2_COMP_TYPELESS,
967     {4, 4, 1},
968     16,
969     16,
970     {{0}, {0}, {128}, {0}},
971     {{0}, {0}, {0}, {0}}},
972    {SVGA3D_BC2_UNORM_SRGB,
973     SVGA3DBLOCKDESC_BC2_COMP_UNORM_SRGB,
974     {4, 4, 1},
975     16,
976     16,
977     {{0}, {0}, {128}, {0}},
978     {{0}, {0}, {0}, {0}}},
979    {SVGA3D_BC3_TYPELESS,
980     SVGA3DBLOCKDESC_BC3_COMP_TYPELESS,
981     {4, 4, 1},
982     16,
983     16,
984     {{0}, {0}, {128}, {0}},
985     {{0}, {0}, {0}, {0}}},
986    {SVGA3D_BC3_UNORM_SRGB,
987     SVGA3DBLOCKDESC_BC3_COMP_UNORM_SRGB,
988     {4, 4, 1},
989     16,
990     16,
991     {{0}, {0}, {128}, {0}},
992     {{0}, {0}, {0}, {0}}},
993    {SVGA3D_BC4_TYPELESS,
994     SVGA3DBLOCKDESC_BC4_COMP_TYPELESS,
995     {4, 4, 1},
996     8,
997     8,
998     {{0}, {0}, {64}, {0}},
999     {{0}, {0}, {0}, {0}}},
1000    {SVGA3D_ATI1,
1001     SVGA3DBLOCKDESC_BC4_COMP_UNORM,
1002     {4, 4, 1},
1003     8,
1004     8,
1005     {{0}, {0}, {64}, {0}},
1006     {{0}, {0}, {0}, {0}}},
1007    {SVGA3D_BC4_SNORM,
1008     SVGA3DBLOCKDESC_BC4_COMP_SNORM,
1009     {4, 4, 1},
1010     8,
1011     8,
1012     {{0}, {0}, {64}, {0}},
1013     {{0}, {0}, {0}, {0}}},
1014    {SVGA3D_BC5_TYPELESS,
1015     SVGA3DBLOCKDESC_BC5_COMP_TYPELESS,
1016     {4, 4, 1},
1017     16,
1018     16,
1019     {{0}, {0}, {128}, {0}},
1020     {{0}, {0}, {0}, {0}}},
1021    {SVGA3D_ATI2,
1022     SVGA3DBLOCKDESC_BC5_COMP_UNORM,
1023     {4, 4, 1},
1024     16,
1025     16,
1026     {{0}, {0}, {128}, {0}},
1027     {{0}, {0}, {0}, {0}}},
1028    {SVGA3D_BC5_SNORM,
1029     SVGA3DBLOCKDESC_BC5_COMP_SNORM,
1030     {4, 4, 1},
1031     16,
1032     16,
1033     {{0}, {0}, {128}, {0}},
1034     {{0}, {0}, {0}, {0}}},
1035    {SVGA3D_R10G10B10_XR_BIAS_A2_UNORM,
1036     SVGA3DBLOCKDESC_RGBA_UNORM,
1037     {1, 1, 1},
1038     4,
1039     4,
1040     {{10}, {10}, {10}, {2}},
1041     {{20}, {10}, {0}, {30}}},
1042    {SVGA3D_B8G8R8A8_TYPELESS,
1043     SVGA3DBLOCKDESC_TYPELESS,
1044     {1, 1, 1},
1045     4,
1046     4,
1047     {{8}, {8}, {8}, {8}},
1048     {{0}, {8}, {16}, {24}}},
1049    {SVGA3D_B8G8R8A8_UNORM_SRGB,
1050     SVGA3DBLOCKDESC_RGBA_UNORM_SRGB,
1051     {1, 1, 1},
1052     4,
1053     4,
1054     {{8}, {8}, {8}, {8}},
1055     {{0}, {8}, {16}, {24}}},
1056    {SVGA3D_B8G8R8X8_TYPELESS,
1057     SVGA3DBLOCKDESC_TYPELESS,
1058     {1, 1, 1},
1059     4,
1060     4,
1061     {{8}, {8}, {8}, {0}},
1062     {{0}, {8}, {16}, {24}}},
1063    {SVGA3D_B8G8R8X8_UNORM_SRGB,
1064     SVGA3DBLOCKDESC_RGB_UNORM_SRGB,
1065     {1, 1, 1},
1066     4,
1067     4,
1068     {{8}, {8}, {8}, {0}},
1069     {{0}, {8}, {16}, {24}}},
1070    {SVGA3D_Z_DF16,
1071     SVGA3DBLOCKDESC_DEPTH_UNORM,
1072     {1, 1, 1},
1073     2,
1074     2,
1075     {{0}, {0}, {16}, {0}},
1076     {{0}, {0}, {0}, {0}}},
1077    {SVGA3D_Z_DF24,
1078     SVGA3DBLOCKDESC_DEPTH_UNORM,
1079     {1, 1, 1},
1080     4,
1081     4,
1082     {{0}, {0}, {24}, {0}},
1083     {{0}, {0}, {8}, {0}}},
1084    {SVGA3D_Z_D24S8_INT,
1085     SVGA3DBLOCKDESC_DS_UNORM,
1086     {1, 1, 1},
1087     4,
1088     4,
1089     {{0}, {8}, {24}, {0}},
1090     {{0}, {0}, {8}, {0}}},
1091    {SVGA3D_YV12,
1092     SVGA3DBLOCKDESC_YV12,
1093     {2, 2, 1},
1094     6,
1095     2,
1096     {{0}, {0}, {48}, {0}},
1097     {{0}, {0}, {0}, {0}}},
1098    {SVGA3D_R32G32B32A32_FLOAT,
1099     SVGA3DBLOCKDESC_RGBA_FP,
1100     {1, 1, 1},
1101     16,
1102     16,
1103     {{32}, {32}, {32}, {32}},
1104     {{64}, {32}, {0}, {96}}},
1105    {SVGA3D_R16G16B16A16_FLOAT,
1106     SVGA3DBLOCKDESC_RGBA_FP,
1107     {1, 1, 1},
1108     8,
1109     8,
1110     {{16}, {16}, {16}, {16}},
1111     {{32}, {16}, {0}, {48}}},
1112    {SVGA3D_R16G16B16A16_UNORM,
1113     SVGA3DBLOCKDESC_RGBA_UNORM,
1114     {1, 1, 1},
1115     8,
1116     8,
1117     {{16}, {16}, {16}, {16}},
1118     {{32}, {16}, {0}, {48}}},
1119    {SVGA3D_R32G32_FLOAT,
1120     SVGA3DBLOCKDESC_RG_FP,
1121     {1, 1, 1},
1122     8,
1123     8,
1124     {{0}, {32}, {32}, {0}},
1125     {{0}, {32}, {0}, {0}}},
1126    {SVGA3D_R10G10B10A2_UNORM,
1127     SVGA3DBLOCKDESC_RGBA_UNORM,
1128     {1, 1, 1},
1129     4,
1130     4,
1131     {{10}, {10}, {10}, {2}},
1132     {{20}, {10}, {0}, {30}}},
1133    {SVGA3D_R8G8B8A8_SNORM,
1134     SVGA3DBLOCKDESC_RGBA_SNORM,
1135     {1, 1, 1},
1136     4,
1137     4,
1138     {{8}, {8}, {8}, {8}},
1139     {{16}, {8}, {0}, {24}}},
1140    {SVGA3D_R16G16_FLOAT,
1141     SVGA3DBLOCKDESC_RG_FP,
1142     {1, 1, 1},
1143     4,
1144     4,
1145     {{0}, {16}, {16}, {0}},
1146     {{0}, {16}, {0}, {0}}},
1147    {SVGA3D_R16G16_UNORM,
1148     SVGA3DBLOCKDESC_RG_UNORM,
1149     {1, 1, 1},
1150     4,
1151     4,
1152     {{0}, {16}, {16}, {0}},
1153     {{0}, {16}, {0}, {0}}},
1154    {SVGA3D_R16G16_SNORM,
1155     SVGA3DBLOCKDESC_RG_SNORM,
1156     {1, 1, 1},
1157     4,
1158     4,
1159     {{0}, {16}, {16}, {0}},
1160     {{0}, {16}, {0}, {0}}},
1161    {SVGA3D_R32_FLOAT,
1162     SVGA3DBLOCKDESC_R_FP,
1163     {1, 1, 1},
1164     4,
1165     4,
1166     {{0}, {0}, {32}, {0}},
1167     {{0}, {0}, {0}, {0}}},
1168    {SVGA3D_R8G8_SNORM,
1169     SVGA3DBLOCKDESC_RG_SNORM,
1170     {1, 1, 1},
1171     2,
1172     2,
1173     {{0}, {8}, {8}, {0}},
1174     {{0}, {8}, {0}, {0}}},
1175    {SVGA3D_R16_FLOAT,
1176     SVGA3DBLOCKDESC_R_FP,
1177     {1, 1, 1},
1178     2,
1179     2,
1180     {{0}, {0}, {16}, {0}},
1181     {{0}, {0}, {0}, {0}}},
1182    {SVGA3D_D16_UNORM,
1183     SVGA3DBLOCKDESC_DEPTH_UNORM,
1184     {1, 1, 1},
1185     2,
1186     2,
1187     {{0}, {0}, {16}, {0}},
1188     {{0}, {0}, {0}, {0}}},
1189    {SVGA3D_A8_UNORM,
1190     SVGA3DBLOCKDESC_A_UNORM,
1191     {1, 1, 1},
1192     1,
1193     1,
1194     {{0}, {0}, {0}, {8}},
1195     {{0}, {0}, {0}, {0}}},
1196    {SVGA3D_BC1_UNORM,
1197     SVGA3DBLOCKDESC_BC1_COMP_UNORM,
1198     {4, 4, 1},
1199     8,
1200     8,
1201     {{0}, {0}, {64}, {0}},
1202     {{0}, {0}, {0}, {0}}},
1203    {SVGA3D_BC2_UNORM,
1204     SVGA3DBLOCKDESC_BC2_COMP_UNORM,
1205     {4, 4, 1},
1206     16,
1207     16,
1208     {{0}, {0}, {128}, {0}},
1209     {{0}, {0}, {0}, {0}}},
1210    {SVGA3D_BC3_UNORM,
1211     SVGA3DBLOCKDESC_BC3_COMP_UNORM,
1212     {4, 4, 1},
1213     16,
1214     16,
1215     {{0}, {0}, {128}, {0}},
1216     {{0}, {0}, {0}, {0}}},
1217    {SVGA3D_B5G6R5_UNORM,
1218     SVGA3DBLOCKDESC_RGB_UNORM,
1219     {1, 1, 1},
1220     2,
1221     2,
1222     {{5}, {6}, {5}, {0}},
1223     {{0}, {5}, {11}, {0}}},
1224    {SVGA3D_B5G5R5A1_UNORM,
1225     SVGA3DBLOCKDESC_RGBA_UNORM,
1226     {1, 1, 1},
1227     2,
1228     2,
1229     {{5}, {5}, {5}, {1}},
1230     {{0}, {5}, {10}, {15}}},
1231    {SVGA3D_B8G8R8A8_UNORM,
1232     SVGA3DBLOCKDESC_RGBA_UNORM,
1233     {1, 1, 1},
1234     4,
1235     4,
1236     {{8}, {8}, {8}, {8}},
1237     {{0}, {8}, {16}, {24}}},
1238    {SVGA3D_B8G8R8X8_UNORM,
1239     SVGA3DBLOCKDESC_RGB_UNORM,
1240     {1, 1, 1},
1241     4,
1242     4,
1243     {{8}, {8}, {8}, {0}},
1244     {{0}, {8}, {16}, {24}}},
1245    {SVGA3D_BC4_UNORM,
1246     SVGA3DBLOCKDESC_BC4_COMP_UNORM,
1247     {4, 4, 1},
1248     8,
1249     8,
1250     {{0}, {0}, {64}, {0}},
1251     {{0}, {0}, {0}, {0}}},
1252    {SVGA3D_BC5_UNORM,
1253     SVGA3DBLOCKDESC_BC5_COMP_UNORM,
1254     {4, 4, 1},
1255     16,
1256     16,
1257     {{0}, {0}, {128}, {0}},
1258     {{0}, {0}, {0}, {0}}},
1259    {SVGA3D_B4G4R4A4_UNORM,
1260     SVGA3DBLOCKDESC_RGBA_UNORM,
1261     {1, 1, 1},
1262     2,
1263     2,
1264     {{4}, {4}, {4}, {4}},
1265     {{0}, {4}, {8}, {12}}},
1266    {SVGA3D_BC6H_TYPELESS,
1267     SVGA3DBLOCKDESC_BC6H_COMP_TYPELESS,
1268     {4, 4, 1},
1269     16,
1270     16,
1271     {{0}, {0}, {128}, {0}},
1272     {{0}, {0}, {0}, {0}}},
1273    {SVGA3D_BC6H_UF16,
1274     SVGA3DBLOCKDESC_BC6H_COMP_UF16,
1275     {4, 4, 1},
1276     16,
1277     16,
1278     {{0}, {0}, {128}, {0}},
1279     {{0}, {0}, {0}, {0}}},
1280    {SVGA3D_BC6H_SF16,
1281     SVGA3DBLOCKDESC_BC6H_COMP_SF16,
1282     {4, 4, 1},
1283     16,
1284     16,
1285     {{0}, {0}, {128}, {0}},
1286     {{0}, {0}, {0}, {0}}},
1287    {SVGA3D_BC7_TYPELESS,
1288     SVGA3DBLOCKDESC_BC7_COMP_TYPELESS,
1289     {4, 4, 1},
1290     16,
1291     16,
1292     {{0}, {0}, {128}, {0}},
1293     {{0}, {0}, {0}, {0}}},
1294    {SVGA3D_BC7_UNORM,
1295     SVGA3DBLOCKDESC_BC7_COMP_UNORM,
1296     {4, 4, 1},
1297     16,
1298     16,
1299     {{0}, {0}, {128}, {0}},
1300     {{0}, {0}, {0}, {0}}},
1301    {SVGA3D_BC7_UNORM_SRGB,
1302     SVGA3DBLOCKDESC_BC7_COMP_UNORM_SRGB,
1303     {4, 4, 1},
1304     16,
1305     16,
1306     {{0}, {0}, {128}, {0}},
1307     {{0}, {0}, {0}, {0}}},
1308    {SVGA3D_AYUV,
1309     SVGA3DBLOCKDESC_AYUV,
1310     {1, 1, 1},
1311     4,
1312     4,
1313     {{8}, {8}, {8}, {8}},
1314     {{0}, {8}, {16}, {24}}},
1315    {SVGA3D_R11G11B10_TYPELESS,
1316     SVGA3DBLOCKDESC_TYPELESS,
1317     {1, 1, 1},
1318     4,
1319     4,
1320     {{10}, {11}, {11}, {0}},
1321     {{22}, {11}, {0}, {0}}},
1322 };
1323 
1324 #ifdef __cplusplus
1325 }
1326 #endif
1327 
1328 #endif
1329