• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  * Copyright (C) 2016 Intel Corporation.   All Rights Reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice (including the next
12  * paragraph) shall be included in all copies or substantial portions of the
13  * Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21  * IN THE SOFTWARE.
22  *
23  * @file formats.cpp
24  *
25  * @brief auto-generated file
26  *
27  * DO NOT EDIT
28  *
29  ******************************************************************************/
30 
31 #include "formats.h"
32 
33 // lookup table for unorm8 srgb -> float conversion
34 const uint32_t srgb8Table[256] = {
35     0x00000000, 0x399f22b4, 0x3a1f22b4, 0x3a6eb40f, 0x3a9f22b4, 0x3ac6eb61, 0x3aeeb40f, 0x3b0b3e5e,
36     0x3b1f22b4, 0x3b33070b, 0x3b46eb61, 0x3b5b518d, 0x3b70f18d, 0x3b83e1c6, 0x3b8fe616, 0x3b9c87fd,
37     0x3ba9c9b5, 0x3bb7ad6f, 0x3bc63549, 0x3bd5635f, 0x3be539c1, 0x3bf5ba70, 0x3c0373b5, 0x3c0c6152,
38     0x3c15a703, 0x3c1f45be, 0x3c293e6b, 0x3c3391f7, 0x3c3e4149, 0x3c494d43, 0x3c54b6c7, 0x3c607eb1,
39     0x3c6ca5dc, 0x3c792d22, 0x3c830aa8, 0x3c89af9f, 0x3c9085db, 0x3c978dc5, 0x3c9ec7c0, 0x3ca63431,
40     0x3cadd37d, 0x3cb5a601, 0x3cbdac20, 0x3cc5e639, 0x3cce54ab, 0x3cd6f7d3, 0x3cdfd00e, 0x3ce8ddb9,
41     0x3cf22131, 0x3cfb9ac6, 0x3d02a56c, 0x3d0798df, 0x3d0ca7e7, 0x3d11d2b0, 0x3d171965, 0x3d1c7c31,
42     0x3d21fb3c, 0x3d2796b2, 0x3d2d4ebe, 0x3d332384, 0x3d39152e, 0x3d3f23e6, 0x3d454fd4, 0x3d4b991f,
43     0x3d51ffef, 0x3d58846a, 0x3d5f26b7, 0x3d65e6fe, 0x3d6cc564, 0x3d73c20f, 0x3d7add25, 0x3d810b66,
44     0x3d84b795, 0x3d887330, 0x3d8c3e4a, 0x3d9018f6, 0x3d940345, 0x3d97fd4a, 0x3d9c0716, 0x3da020bb,
45     0x3da44a4b, 0x3da883d7, 0x3daccd70, 0x3db12728, 0x3db59110, 0x3dba0b38, 0x3dbe95b5, 0x3dc33092,
46     0x3dc7dbe2, 0x3dcc97b6, 0x3dd1641f, 0x3dd6412c, 0x3ddb2eef, 0x3de02d77, 0x3de53cd5, 0x3dea5d19,
47     0x3def8e55, 0x3df4d093, 0x3dfa23e8, 0x3dff8861, 0x3e027f07, 0x3e054282, 0x3e080ea5, 0x3e0ae379,
48     0x3e0dc107, 0x3e10a755, 0x3e13966c, 0x3e168e53, 0x3e198f11, 0x3e1c98ae, 0x3e1fab32, 0x3e22c6a3,
49     0x3e25eb09, 0x3e29186c, 0x3e2c4ed2, 0x3e2f8e45, 0x3e32d6c8, 0x3e362865, 0x3e398322, 0x3e3ce706,
50     0x3e405419, 0x3e43ca62, 0x3e4749e8, 0x3e4ad2b1, 0x3e4e64c6, 0x3e52002b, 0x3e55a4e9, 0x3e595307,
51     0x3e5d0a8b, 0x3e60cb7c, 0x3e6495e0, 0x3e6869bf, 0x3e6c4720, 0x3e702e08, 0x3e741e7f, 0x3e78188c,
52     0x3e7c1c38, 0x3e8014c2, 0x3e82203c, 0x3e84308d, 0x3e8645ba, 0x3e885fc5, 0x3e8a7eb2, 0x3e8ca283,
53     0x3e8ecb3d, 0x3e90f8e1, 0x3e932b74, 0x3e9562f8, 0x3e979f71, 0x3e99e0e2, 0x3e9c274e, 0x3e9e72b7,
54     0x3ea0c322, 0x3ea31892, 0x3ea57308, 0x3ea7d289, 0x3eaa3718, 0x3eaca0b7, 0x3eaf0f69, 0x3eb18333,
55     0x3eb3fc16, 0x3eb67a15, 0x3eb8fd34, 0x3ebb8576, 0x3ebe12e1, 0x3ec0a571, 0x3ec33d2d, 0x3ec5da17,
56     0x3ec87c33, 0x3ecb2383, 0x3ecdd00b, 0x3ed081cd, 0x3ed338cc, 0x3ed5f50b, 0x3ed8b68d, 0x3edb7d54,
57     0x3ede4965, 0x3ee11ac1, 0x3ee3f16b, 0x3ee6cd67, 0x3ee9aeb6, 0x3eec955d, 0x3eef815d, 0x3ef272ba,
58     0x3ef56976, 0x3ef86594, 0x3efb6717, 0x3efe6e02, 0x3f00bd2b, 0x3f02460c, 0x3f03d1a5, 0x3f055ff8,
59     0x3f06f106, 0x3f0884cf, 0x3f0a1b57, 0x3f0bb49d, 0x3f0d50a2, 0x3f0eef69, 0x3f1090f2, 0x3f123540,
60     0x3f13dc53, 0x3f15862d, 0x3f1732cf, 0x3f18e23b, 0x3f1a9471, 0x3f1c4973, 0x3f1e0143, 0x3f1fbbe1,
61     0x3f217950, 0x3f23398f, 0x3f24fca2, 0x3f26c288, 0x3f288b43, 0x3f2a56d5, 0x3f2c253f, 0x3f2df681,
62     0x3f2fca9e, 0x3f31a197, 0x3f337b6c, 0x3f355820, 0x3f3737b3, 0x3f391a26, 0x3f3aff7e, 0x3f3ce7b7,
63     0x3f3ed2d4, 0x3f40c0d6, 0x3f42b1c0, 0x3f44a592, 0x3f469c4d, 0x3f4895f3, 0x3f4a9284, 0x3f4c9203,
64     0x3f4e9470, 0x3f5099cd, 0x3f52a21a, 0x3f54ad59, 0x3f56bb8c, 0x3f58ccb3, 0x3f5ae0cf, 0x3f5cf7e2,
65     0x3f5f11ee, 0x3f612ef2, 0x3f634eef, 0x3f6571ec, 0x3f6797e1, 0x3f69c0d8, 0x3f6beccb, 0x3f6e1bc2,
66     0x3f704db6, 0x3f7282b1, 0x3f74baae, 0x3f76f5b3, 0x3f7933b9, 0x3f7b74cb, 0x3f7db8e0, 0x3f800000,
67 };
68 
69 // order must match SWR_FORMAT
70 const SWR_FORMAT_INFO gFormatInfo[] = {
71 
72     // R32G32B32A32_FLOAT (0x0)
73     {
74         "R32G32B32A32_FLOAT",
75         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT},
76         {0, 0, 0, 0x3f800000},        // Defaults for missing components
77         {0, 1, 2, 3},                 // Swizzle
78         {32, 32, 32, 32},             // Bits per component
79         128,                          // Bits per element
80         16,                           // Bytes per element
81         4,                            // Num components
82         false,                        // isSRGB
83         false,                        // isBC
84         false,                        // isSubsampled
85         false,                        // isLuminance
86         {false, false, false, false}, // Is normalized?
87         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
88         1,                            // bcWidth
89         1,                            // bcHeight
90     },
91 
92     // R32G32B32A32_SINT (0x1)
93     {
94         "R32G32B32A32_SINT",
95         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT},
96         {0, 0, 0, 0x1},               // Defaults for missing components
97         {0, 1, 2, 3},                 // Swizzle
98         {32, 32, 32, 32},             // Bits per component
99         128,                          // Bits per element
100         16,                           // Bytes per element
101         4,                            // Num components
102         false,                        // isSRGB
103         false,                        // isBC
104         false,                        // isSubsampled
105         false,                        // isLuminance
106         {false, false, false, false}, // Is normalized?
107         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
108         1,                            // bcWidth
109         1,                            // bcHeight
110     },
111 
112     // R32G32B32A32_UINT (0x2)
113     {
114         "R32G32B32A32_UINT",
115         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
116         {0, 0, 0, 0x1},               // Defaults for missing components
117         {0, 1, 2, 3},                 // Swizzle
118         {32, 32, 32, 32},             // Bits per component
119         128,                          // Bits per element
120         16,                           // Bytes per element
121         4,                            // Num components
122         false,                        // isSRGB
123         false,                        // isBC
124         false,                        // isSubsampled
125         false,                        // isLuminance
126         {false, false, false, false}, // Is normalized?
127         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
128         1,                            // bcWidth
129         1,                            // bcHeight
130     },
131 
132     // padding (0x3)
133     {nullptr,
134      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
135      {0, 0, 0, 0},
136      {0, 0, 0, 0},
137      {0, 0, 0, 0},
138      0,
139      0,
140      0,
141      false,
142      false,
143      false,
144      false,
145      {false, false, false, false},
146      {0.0f, 0.0f, 0.0f, 0.0f},
147      1,
148      1},
149     // padding (0x4)
150     {nullptr,
151      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
152      {0, 0, 0, 0},
153      {0, 0, 0, 0},
154      {0, 0, 0, 0},
155      0,
156      0,
157      0,
158      false,
159      false,
160      false,
161      false,
162      {false, false, false, false},
163      {0.0f, 0.0f, 0.0f, 0.0f},
164      1,
165      1},
166     // R64G64_FLOAT (0x5)
167     {
168         "R64G64_FLOAT",
169         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
170         {0, 0, 0, 0x3f800000},        // Defaults for missing components
171         {0, 1, 0, 0},                 // Swizzle
172         {64, 64, 0, 0},               // Bits per component
173         128,                          // Bits per element
174         16,                           // Bytes per element
175         2,                            // Num components
176         false,                        // isSRGB
177         false,                        // isBC
178         false,                        // isSubsampled
179         false,                        // isLuminance
180         {false, false, false, false}, // Is normalized?
181         {1.0f, 1.0f, 0, 0},           // To float scale factor
182         1,                            // bcWidth
183         1,                            // bcHeight
184     },
185 
186     // R32G32B32X32_FLOAT (0x6)
187     {
188         "R32G32B32X32_FLOAT",
189         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNUSED},
190         {0, 0, 0, 0x3f800000},        // Defaults for missing components
191         {0, 1, 2, 3},                 // Swizzle
192         {32, 32, 32, 32},             // Bits per component
193         128,                          // Bits per element
194         16,                           // Bytes per element
195         4,                            // Num components
196         false,                        // isSRGB
197         false,                        // isBC
198         false,                        // isSubsampled
199         false,                        // isLuminance
200         {false, false, false, false}, // Is normalized?
201         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
202         1,                            // bcWidth
203         1,                            // bcHeight
204     },
205 
206     // R32G32B32A32_SSCALED (0x7)
207     {
208         "R32G32B32A32_SSCALED",
209         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED},
210         {0, 0, 0, 0x3f800000},        // Defaults for missing components
211         {0, 1, 2, 3},                 // Swizzle
212         {32, 32, 32, 32},             // Bits per component
213         128,                          // Bits per element
214         16,                           // Bytes per element
215         4,                            // Num components
216         false,                        // isSRGB
217         false,                        // isBC
218         false,                        // isSubsampled
219         false,                        // isLuminance
220         {false, false, false, false}, // Is normalized?
221         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
222         1,                            // bcWidth
223         1,                            // bcHeight
224     },
225 
226     // R32G32B32A32_USCALED (0x8)
227     {
228         "R32G32B32A32_USCALED",
229         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED},
230         {0, 0, 0, 0x3f800000},        // Defaults for missing components
231         {0, 1, 2, 3},                 // Swizzle
232         {32, 32, 32, 32},             // Bits per component
233         128,                          // Bits per element
234         16,                           // Bytes per element
235         4,                            // Num components
236         false,                        // isSRGB
237         false,                        // isBC
238         false,                        // isSubsampled
239         false,                        // isLuminance
240         {false, false, false, false}, // Is normalized?
241         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
242         1,                            // bcWidth
243         1,                            // bcHeight
244     },
245 
246     // padding (0x9)
247     {nullptr,
248      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
249      {0, 0, 0, 0},
250      {0, 0, 0, 0},
251      {0, 0, 0, 0},
252      0,
253      0,
254      0,
255      false,
256      false,
257      false,
258      false,
259      {false, false, false, false},
260      {0.0f, 0.0f, 0.0f, 0.0f},
261      1,
262      1},
263     // padding (0xA)
264     {nullptr,
265      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
266      {0, 0, 0, 0},
267      {0, 0, 0, 0},
268      {0, 0, 0, 0},
269      0,
270      0,
271      0,
272      false,
273      false,
274      false,
275      false,
276      {false, false, false, false},
277      {0.0f, 0.0f, 0.0f, 0.0f},
278      1,
279      1},
280     // padding (0xB)
281     {nullptr,
282      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
283      {0, 0, 0, 0},
284      {0, 0, 0, 0},
285      {0, 0, 0, 0},
286      0,
287      0,
288      0,
289      false,
290      false,
291      false,
292      false,
293      {false, false, false, false},
294      {0.0f, 0.0f, 0.0f, 0.0f},
295      1,
296      1},
297     // padding (0xC)
298     {nullptr,
299      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
300      {0, 0, 0, 0},
301      {0, 0, 0, 0},
302      {0, 0, 0, 0},
303      0,
304      0,
305      0,
306      false,
307      false,
308      false,
309      false,
310      {false, false, false, false},
311      {0.0f, 0.0f, 0.0f, 0.0f},
312      1,
313      1},
314     // padding (0xD)
315     {nullptr,
316      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
317      {0, 0, 0, 0},
318      {0, 0, 0, 0},
319      {0, 0, 0, 0},
320      0,
321      0,
322      0,
323      false,
324      false,
325      false,
326      false,
327      {false, false, false, false},
328      {0.0f, 0.0f, 0.0f, 0.0f},
329      1,
330      1},
331     // padding (0xE)
332     {nullptr,
333      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
334      {0, 0, 0, 0},
335      {0, 0, 0, 0},
336      {0, 0, 0, 0},
337      0,
338      0,
339      0,
340      false,
341      false,
342      false,
343      false,
344      {false, false, false, false},
345      {0.0f, 0.0f, 0.0f, 0.0f},
346      1,
347      1},
348     // padding (0xF)
349     {nullptr,
350      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
351      {0, 0, 0, 0},
352      {0, 0, 0, 0},
353      {0, 0, 0, 0},
354      0,
355      0,
356      0,
357      false,
358      false,
359      false,
360      false,
361      {false, false, false, false},
362      {0.0f, 0.0f, 0.0f, 0.0f},
363      1,
364      1},
365     // padding (0x10)
366     {nullptr,
367      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
368      {0, 0, 0, 0},
369      {0, 0, 0, 0},
370      {0, 0, 0, 0},
371      0,
372      0,
373      0,
374      false,
375      false,
376      false,
377      false,
378      {false, false, false, false},
379      {0.0f, 0.0f, 0.0f, 0.0f},
380      1,
381      1},
382     // padding (0x11)
383     {nullptr,
384      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
385      {0, 0, 0, 0},
386      {0, 0, 0, 0},
387      {0, 0, 0, 0},
388      0,
389      0,
390      0,
391      false,
392      false,
393      false,
394      false,
395      {false, false, false, false},
396      {0.0f, 0.0f, 0.0f, 0.0f},
397      1,
398      1},
399     // padding (0x12)
400     {nullptr,
401      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
402      {0, 0, 0, 0},
403      {0, 0, 0, 0},
404      {0, 0, 0, 0},
405      0,
406      0,
407      0,
408      false,
409      false,
410      false,
411      false,
412      {false, false, false, false},
413      {0.0f, 0.0f, 0.0f, 0.0f},
414      1,
415      1},
416     // padding (0x13)
417     {nullptr,
418      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
419      {0, 0, 0, 0},
420      {0, 0, 0, 0},
421      {0, 0, 0, 0},
422      0,
423      0,
424      0,
425      false,
426      false,
427      false,
428      false,
429      {false, false, false, false},
430      {0.0f, 0.0f, 0.0f, 0.0f},
431      1,
432      1},
433     // padding (0x14)
434     {nullptr,
435      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
436      {0, 0, 0, 0},
437      {0, 0, 0, 0},
438      {0, 0, 0, 0},
439      0,
440      0,
441      0,
442      false,
443      false,
444      false,
445      false,
446      {false, false, false, false},
447      {0.0f, 0.0f, 0.0f, 0.0f},
448      1,
449      1},
450     // padding (0x15)
451     {nullptr,
452      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
453      {0, 0, 0, 0},
454      {0, 0, 0, 0},
455      {0, 0, 0, 0},
456      0,
457      0,
458      0,
459      false,
460      false,
461      false,
462      false,
463      {false, false, false, false},
464      {0.0f, 0.0f, 0.0f, 0.0f},
465      1,
466      1},
467     // padding (0x16)
468     {nullptr,
469      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
470      {0, 0, 0, 0},
471      {0, 0, 0, 0},
472      {0, 0, 0, 0},
473      0,
474      0,
475      0,
476      false,
477      false,
478      false,
479      false,
480      {false, false, false, false},
481      {0.0f, 0.0f, 0.0f, 0.0f},
482      1,
483      1},
484     // padding (0x17)
485     {nullptr,
486      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
487      {0, 0, 0, 0},
488      {0, 0, 0, 0},
489      {0, 0, 0, 0},
490      0,
491      0,
492      0,
493      false,
494      false,
495      false,
496      false,
497      {false, false, false, false},
498      {0.0f, 0.0f, 0.0f, 0.0f},
499      1,
500      1},
501     // padding (0x18)
502     {nullptr,
503      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
504      {0, 0, 0, 0},
505      {0, 0, 0, 0},
506      {0, 0, 0, 0},
507      0,
508      0,
509      0,
510      false,
511      false,
512      false,
513      false,
514      {false, false, false, false},
515      {0.0f, 0.0f, 0.0f, 0.0f},
516      1,
517      1},
518     // padding (0x19)
519     {nullptr,
520      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
521      {0, 0, 0, 0},
522      {0, 0, 0, 0},
523      {0, 0, 0, 0},
524      0,
525      0,
526      0,
527      false,
528      false,
529      false,
530      false,
531      {false, false, false, false},
532      {0.0f, 0.0f, 0.0f, 0.0f},
533      1,
534      1},
535     // padding (0x1A)
536     {nullptr,
537      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
538      {0, 0, 0, 0},
539      {0, 0, 0, 0},
540      {0, 0, 0, 0},
541      0,
542      0,
543      0,
544      false,
545      false,
546      false,
547      false,
548      {false, false, false, false},
549      {0.0f, 0.0f, 0.0f, 0.0f},
550      1,
551      1},
552     // padding (0x1B)
553     {nullptr,
554      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
555      {0, 0, 0, 0},
556      {0, 0, 0, 0},
557      {0, 0, 0, 0},
558      0,
559      0,
560      0,
561      false,
562      false,
563      false,
564      false,
565      {false, false, false, false},
566      {0.0f, 0.0f, 0.0f, 0.0f},
567      1,
568      1},
569     // padding (0x1C)
570     {nullptr,
571      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
572      {0, 0, 0, 0},
573      {0, 0, 0, 0},
574      {0, 0, 0, 0},
575      0,
576      0,
577      0,
578      false,
579      false,
580      false,
581      false,
582      {false, false, false, false},
583      {0.0f, 0.0f, 0.0f, 0.0f},
584      1,
585      1},
586     // padding (0x1D)
587     {nullptr,
588      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
589      {0, 0, 0, 0},
590      {0, 0, 0, 0},
591      {0, 0, 0, 0},
592      0,
593      0,
594      0,
595      false,
596      false,
597      false,
598      false,
599      {false, false, false, false},
600      {0.0f, 0.0f, 0.0f, 0.0f},
601      1,
602      1},
603     // padding (0x1E)
604     {nullptr,
605      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
606      {0, 0, 0, 0},
607      {0, 0, 0, 0},
608      {0, 0, 0, 0},
609      0,
610      0,
611      0,
612      false,
613      false,
614      false,
615      false,
616      {false, false, false, false},
617      {0.0f, 0.0f, 0.0f, 0.0f},
618      1,
619      1},
620     // padding (0x1F)
621     {nullptr,
622      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
623      {0, 0, 0, 0},
624      {0, 0, 0, 0},
625      {0, 0, 0, 0},
626      0,
627      0,
628      0,
629      false,
630      false,
631      false,
632      false,
633      {false, false, false, false},
634      {0.0f, 0.0f, 0.0f, 0.0f},
635      1,
636      1},
637     // R32G32B32A32_SFIXED (0x20)
638     {
639         "R32G32B32A32_SFIXED",
640         {SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED},
641         {0, 0, 0, 0x3f800000},        // Defaults for missing components
642         {0, 1, 2, 3},                 // Swizzle
643         {32, 32, 32, 32},             // Bits per component
644         128,                          // Bits per element
645         16,                           // Bytes per element
646         4,                            // Num components
647         false,                        // isSRGB
648         false,                        // isBC
649         false,                        // isSubsampled
650         false,                        // isLuminance
651         {false, false, false, false}, // Is normalized?
652         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
653         1,                            // bcWidth
654         1,                            // bcHeight
655     },
656 
657     // padding (0x21)
658     {nullptr,
659      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
660      {0, 0, 0, 0},
661      {0, 0, 0, 0},
662      {0, 0, 0, 0},
663      0,
664      0,
665      0,
666      false,
667      false,
668      false,
669      false,
670      {false, false, false, false},
671      {0.0f, 0.0f, 0.0f, 0.0f},
672      1,
673      1},
674     // padding (0x22)
675     {nullptr,
676      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
677      {0, 0, 0, 0},
678      {0, 0, 0, 0},
679      {0, 0, 0, 0},
680      0,
681      0,
682      0,
683      false,
684      false,
685      false,
686      false,
687      {false, false, false, false},
688      {0.0f, 0.0f, 0.0f, 0.0f},
689      1,
690      1},
691     // padding (0x23)
692     {nullptr,
693      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
694      {0, 0, 0, 0},
695      {0, 0, 0, 0},
696      {0, 0, 0, 0},
697      0,
698      0,
699      0,
700      false,
701      false,
702      false,
703      false,
704      {false, false, false, false},
705      {0.0f, 0.0f, 0.0f, 0.0f},
706      1,
707      1},
708     // padding (0x24)
709     {nullptr,
710      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
711      {0, 0, 0, 0},
712      {0, 0, 0, 0},
713      {0, 0, 0, 0},
714      0,
715      0,
716      0,
717      false,
718      false,
719      false,
720      false,
721      {false, false, false, false},
722      {0.0f, 0.0f, 0.0f, 0.0f},
723      1,
724      1},
725     // padding (0x25)
726     {nullptr,
727      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
728      {0, 0, 0, 0},
729      {0, 0, 0, 0},
730      {0, 0, 0, 0},
731      0,
732      0,
733      0,
734      false,
735      false,
736      false,
737      false,
738      {false, false, false, false},
739      {0.0f, 0.0f, 0.0f, 0.0f},
740      1,
741      1},
742     // padding (0x26)
743     {nullptr,
744      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
745      {0, 0, 0, 0},
746      {0, 0, 0, 0},
747      {0, 0, 0, 0},
748      0,
749      0,
750      0,
751      false,
752      false,
753      false,
754      false,
755      {false, false, false, false},
756      {0.0f, 0.0f, 0.0f, 0.0f},
757      1,
758      1},
759     // padding (0x27)
760     {nullptr,
761      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
762      {0, 0, 0, 0},
763      {0, 0, 0, 0},
764      {0, 0, 0, 0},
765      0,
766      0,
767      0,
768      false,
769      false,
770      false,
771      false,
772      {false, false, false, false},
773      {0.0f, 0.0f, 0.0f, 0.0f},
774      1,
775      1},
776     // padding (0x28)
777     {nullptr,
778      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
779      {0, 0, 0, 0},
780      {0, 0, 0, 0},
781      {0, 0, 0, 0},
782      0,
783      0,
784      0,
785      false,
786      false,
787      false,
788      false,
789      {false, false, false, false},
790      {0.0f, 0.0f, 0.0f, 0.0f},
791      1,
792      1},
793     // padding (0x29)
794     {nullptr,
795      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
796      {0, 0, 0, 0},
797      {0, 0, 0, 0},
798      {0, 0, 0, 0},
799      0,
800      0,
801      0,
802      false,
803      false,
804      false,
805      false,
806      {false, false, false, false},
807      {0.0f, 0.0f, 0.0f, 0.0f},
808      1,
809      1},
810     // padding (0x2A)
811     {nullptr,
812      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
813      {0, 0, 0, 0},
814      {0, 0, 0, 0},
815      {0, 0, 0, 0},
816      0,
817      0,
818      0,
819      false,
820      false,
821      false,
822      false,
823      {false, false, false, false},
824      {0.0f, 0.0f, 0.0f, 0.0f},
825      1,
826      1},
827     // padding (0x2B)
828     {nullptr,
829      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
830      {0, 0, 0, 0},
831      {0, 0, 0, 0},
832      {0, 0, 0, 0},
833      0,
834      0,
835      0,
836      false,
837      false,
838      false,
839      false,
840      {false, false, false, false},
841      {0.0f, 0.0f, 0.0f, 0.0f},
842      1,
843      1},
844     // padding (0x2C)
845     {nullptr,
846      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
847      {0, 0, 0, 0},
848      {0, 0, 0, 0},
849      {0, 0, 0, 0},
850      0,
851      0,
852      0,
853      false,
854      false,
855      false,
856      false,
857      {false, false, false, false},
858      {0.0f, 0.0f, 0.0f, 0.0f},
859      1,
860      1},
861     // padding (0x2D)
862     {nullptr,
863      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
864      {0, 0, 0, 0},
865      {0, 0, 0, 0},
866      {0, 0, 0, 0},
867      0,
868      0,
869      0,
870      false,
871      false,
872      false,
873      false,
874      {false, false, false, false},
875      {0.0f, 0.0f, 0.0f, 0.0f},
876      1,
877      1},
878     // padding (0x2E)
879     {nullptr,
880      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
881      {0, 0, 0, 0},
882      {0, 0, 0, 0},
883      {0, 0, 0, 0},
884      0,
885      0,
886      0,
887      false,
888      false,
889      false,
890      false,
891      {false, false, false, false},
892      {0.0f, 0.0f, 0.0f, 0.0f},
893      1,
894      1},
895     // padding (0x2F)
896     {nullptr,
897      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
898      {0, 0, 0, 0},
899      {0, 0, 0, 0},
900      {0, 0, 0, 0},
901      0,
902      0,
903      0,
904      false,
905      false,
906      false,
907      false,
908      {false, false, false, false},
909      {0.0f, 0.0f, 0.0f, 0.0f},
910      1,
911      1},
912     // padding (0x30)
913     {nullptr,
914      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
915      {0, 0, 0, 0},
916      {0, 0, 0, 0},
917      {0, 0, 0, 0},
918      0,
919      0,
920      0,
921      false,
922      false,
923      false,
924      false,
925      {false, false, false, false},
926      {0.0f, 0.0f, 0.0f, 0.0f},
927      1,
928      1},
929     // padding (0x31)
930     {nullptr,
931      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
932      {0, 0, 0, 0},
933      {0, 0, 0, 0},
934      {0, 0, 0, 0},
935      0,
936      0,
937      0,
938      false,
939      false,
940      false,
941      false,
942      {false, false, false, false},
943      {0.0f, 0.0f, 0.0f, 0.0f},
944      1,
945      1},
946     // padding (0x32)
947     {nullptr,
948      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
949      {0, 0, 0, 0},
950      {0, 0, 0, 0},
951      {0, 0, 0, 0},
952      0,
953      0,
954      0,
955      false,
956      false,
957      false,
958      false,
959      {false, false, false, false},
960      {0.0f, 0.0f, 0.0f, 0.0f},
961      1,
962      1},
963     // padding (0x33)
964     {nullptr,
965      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
966      {0, 0, 0, 0},
967      {0, 0, 0, 0},
968      {0, 0, 0, 0},
969      0,
970      0,
971      0,
972      false,
973      false,
974      false,
975      false,
976      {false, false, false, false},
977      {0.0f, 0.0f, 0.0f, 0.0f},
978      1,
979      1},
980     // padding (0x34)
981     {nullptr,
982      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
983      {0, 0, 0, 0},
984      {0, 0, 0, 0},
985      {0, 0, 0, 0},
986      0,
987      0,
988      0,
989      false,
990      false,
991      false,
992      false,
993      {false, false, false, false},
994      {0.0f, 0.0f, 0.0f, 0.0f},
995      1,
996      1},
997     // padding (0x35)
998     {nullptr,
999      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1000      {0, 0, 0, 0},
1001      {0, 0, 0, 0},
1002      {0, 0, 0, 0},
1003      0,
1004      0,
1005      0,
1006      false,
1007      false,
1008      false,
1009      false,
1010      {false, false, false, false},
1011      {0.0f, 0.0f, 0.0f, 0.0f},
1012      1,
1013      1},
1014     // padding (0x36)
1015     {nullptr,
1016      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1017      {0, 0, 0, 0},
1018      {0, 0, 0, 0},
1019      {0, 0, 0, 0},
1020      0,
1021      0,
1022      0,
1023      false,
1024      false,
1025      false,
1026      false,
1027      {false, false, false, false},
1028      {0.0f, 0.0f, 0.0f, 0.0f},
1029      1,
1030      1},
1031     // padding (0x37)
1032     {nullptr,
1033      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1034      {0, 0, 0, 0},
1035      {0, 0, 0, 0},
1036      {0, 0, 0, 0},
1037      0,
1038      0,
1039      0,
1040      false,
1041      false,
1042      false,
1043      false,
1044      {false, false, false, false},
1045      {0.0f, 0.0f, 0.0f, 0.0f},
1046      1,
1047      1},
1048     // padding (0x38)
1049     {nullptr,
1050      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1051      {0, 0, 0, 0},
1052      {0, 0, 0, 0},
1053      {0, 0, 0, 0},
1054      0,
1055      0,
1056      0,
1057      false,
1058      false,
1059      false,
1060      false,
1061      {false, false, false, false},
1062      {0.0f, 0.0f, 0.0f, 0.0f},
1063      1,
1064      1},
1065     // padding (0x39)
1066     {nullptr,
1067      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1068      {0, 0, 0, 0},
1069      {0, 0, 0, 0},
1070      {0, 0, 0, 0},
1071      0,
1072      0,
1073      0,
1074      false,
1075      false,
1076      false,
1077      false,
1078      {false, false, false, false},
1079      {0.0f, 0.0f, 0.0f, 0.0f},
1080      1,
1081      1},
1082     // padding (0x3A)
1083     {nullptr,
1084      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1085      {0, 0, 0, 0},
1086      {0, 0, 0, 0},
1087      {0, 0, 0, 0},
1088      0,
1089      0,
1090      0,
1091      false,
1092      false,
1093      false,
1094      false,
1095      {false, false, false, false},
1096      {0.0f, 0.0f, 0.0f, 0.0f},
1097      1,
1098      1},
1099     // padding (0x3B)
1100     {nullptr,
1101      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1102      {0, 0, 0, 0},
1103      {0, 0, 0, 0},
1104      {0, 0, 0, 0},
1105      0,
1106      0,
1107      0,
1108      false,
1109      false,
1110      false,
1111      false,
1112      {false, false, false, false},
1113      {0.0f, 0.0f, 0.0f, 0.0f},
1114      1,
1115      1},
1116     // padding (0x3C)
1117     {nullptr,
1118      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1119      {0, 0, 0, 0},
1120      {0, 0, 0, 0},
1121      {0, 0, 0, 0},
1122      0,
1123      0,
1124      0,
1125      false,
1126      false,
1127      false,
1128      false,
1129      {false, false, false, false},
1130      {0.0f, 0.0f, 0.0f, 0.0f},
1131      1,
1132      1},
1133     // padding (0x3D)
1134     {nullptr,
1135      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1136      {0, 0, 0, 0},
1137      {0, 0, 0, 0},
1138      {0, 0, 0, 0},
1139      0,
1140      0,
1141      0,
1142      false,
1143      false,
1144      false,
1145      false,
1146      {false, false, false, false},
1147      {0.0f, 0.0f, 0.0f, 0.0f},
1148      1,
1149      1},
1150     // padding (0x3E)
1151     {nullptr,
1152      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1153      {0, 0, 0, 0},
1154      {0, 0, 0, 0},
1155      {0, 0, 0, 0},
1156      0,
1157      0,
1158      0,
1159      false,
1160      false,
1161      false,
1162      false,
1163      {false, false, false, false},
1164      {0.0f, 0.0f, 0.0f, 0.0f},
1165      1,
1166      1},
1167     // padding (0x3F)
1168     {nullptr,
1169      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1170      {0, 0, 0, 0},
1171      {0, 0, 0, 0},
1172      {0, 0, 0, 0},
1173      0,
1174      0,
1175      0,
1176      false,
1177      false,
1178      false,
1179      false,
1180      {false, false, false, false},
1181      {0.0f, 0.0f, 0.0f, 0.0f},
1182      1,
1183      1},
1184     // R32G32B32_FLOAT (0x40)
1185     {
1186         "R32G32B32_FLOAT",
1187         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN},
1188         {0, 0, 0, 0x3f800000},        // Defaults for missing components
1189         {0, 1, 2, 0},                 // Swizzle
1190         {32, 32, 32, 0},              // Bits per component
1191         96,                           // Bits per element
1192         12,                           // Bytes per element
1193         3,                            // Num components
1194         false,                        // isSRGB
1195         false,                        // isBC
1196         false,                        // isSubsampled
1197         false,                        // isLuminance
1198         {false, false, false, false}, // Is normalized?
1199         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
1200         1,                            // bcWidth
1201         1,                            // bcHeight
1202     },
1203 
1204     // R32G32B32_SINT (0x41)
1205     {
1206         "R32G32B32_SINT",
1207         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN},
1208         {0, 0, 0, 0x1},               // Defaults for missing components
1209         {0, 1, 2, 0},                 // Swizzle
1210         {32, 32, 32, 0},              // Bits per component
1211         96,                           // Bits per element
1212         12,                           // Bytes per element
1213         3,                            // Num components
1214         false,                        // isSRGB
1215         false,                        // isBC
1216         false,                        // isSubsampled
1217         false,                        // isLuminance
1218         {false, false, false, false}, // Is normalized?
1219         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
1220         1,                            // bcWidth
1221         1,                            // bcHeight
1222     },
1223 
1224     // R32G32B32_UINT (0x42)
1225     {
1226         "R32G32B32_UINT",
1227         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN},
1228         {0, 0, 0, 0x1},               // Defaults for missing components
1229         {0, 1, 2, 0},                 // Swizzle
1230         {32, 32, 32, 0},              // Bits per component
1231         96,                           // Bits per element
1232         12,                           // Bytes per element
1233         3,                            // Num components
1234         false,                        // isSRGB
1235         false,                        // isBC
1236         false,                        // isSubsampled
1237         false,                        // isLuminance
1238         {false, false, false, false}, // Is normalized?
1239         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
1240         1,                            // bcWidth
1241         1,                            // bcHeight
1242     },
1243 
1244     // padding (0x43)
1245     {nullptr,
1246      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1247      {0, 0, 0, 0},
1248      {0, 0, 0, 0},
1249      {0, 0, 0, 0},
1250      0,
1251      0,
1252      0,
1253      false,
1254      false,
1255      false,
1256      false,
1257      {false, false, false, false},
1258      {0.0f, 0.0f, 0.0f, 0.0f},
1259      1,
1260      1},
1261     // padding (0x44)
1262     {nullptr,
1263      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1264      {0, 0, 0, 0},
1265      {0, 0, 0, 0},
1266      {0, 0, 0, 0},
1267      0,
1268      0,
1269      0,
1270      false,
1271      false,
1272      false,
1273      false,
1274      {false, false, false, false},
1275      {0.0f, 0.0f, 0.0f, 0.0f},
1276      1,
1277      1},
1278     // R32G32B32_SSCALED (0x45)
1279     {
1280         "R32G32B32_SSCALED",
1281         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN},
1282         {0, 0, 0, 0x3f800000},        // Defaults for missing components
1283         {0, 1, 2, 0},                 // Swizzle
1284         {32, 32, 32, 0},              // Bits per component
1285         96,                           // Bits per element
1286         12,                           // Bytes per element
1287         3,                            // Num components
1288         false,                        // isSRGB
1289         false,                        // isBC
1290         false,                        // isSubsampled
1291         false,                        // isLuminance
1292         {false, false, false, false}, // Is normalized?
1293         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
1294         1,                            // bcWidth
1295         1,                            // bcHeight
1296     },
1297 
1298     // R32G32B32_USCALED (0x46)
1299     {
1300         "R32G32B32_USCALED",
1301         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN},
1302         {0, 0, 0, 0x3f800000},        // Defaults for missing components
1303         {0, 1, 2, 0},                 // Swizzle
1304         {32, 32, 32, 0},              // Bits per component
1305         96,                           // Bits per element
1306         12,                           // Bytes per element
1307         3,                            // Num components
1308         false,                        // isSRGB
1309         false,                        // isBC
1310         false,                        // isSubsampled
1311         false,                        // isLuminance
1312         {false, false, false, false}, // Is normalized?
1313         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
1314         1,                            // bcWidth
1315         1,                            // bcHeight
1316     },
1317 
1318     // padding (0x47)
1319     {nullptr,
1320      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1321      {0, 0, 0, 0},
1322      {0, 0, 0, 0},
1323      {0, 0, 0, 0},
1324      0,
1325      0,
1326      0,
1327      false,
1328      false,
1329      false,
1330      false,
1331      {false, false, false, false},
1332      {0.0f, 0.0f, 0.0f, 0.0f},
1333      1,
1334      1},
1335     // padding (0x48)
1336     {nullptr,
1337      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1338      {0, 0, 0, 0},
1339      {0, 0, 0, 0},
1340      {0, 0, 0, 0},
1341      0,
1342      0,
1343      0,
1344      false,
1345      false,
1346      false,
1347      false,
1348      {false, false, false, false},
1349      {0.0f, 0.0f, 0.0f, 0.0f},
1350      1,
1351      1},
1352     // padding (0x49)
1353     {nullptr,
1354      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1355      {0, 0, 0, 0},
1356      {0, 0, 0, 0},
1357      {0, 0, 0, 0},
1358      0,
1359      0,
1360      0,
1361      false,
1362      false,
1363      false,
1364      false,
1365      {false, false, false, false},
1366      {0.0f, 0.0f, 0.0f, 0.0f},
1367      1,
1368      1},
1369     // padding (0x4A)
1370     {nullptr,
1371      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1372      {0, 0, 0, 0},
1373      {0, 0, 0, 0},
1374      {0, 0, 0, 0},
1375      0,
1376      0,
1377      0,
1378      false,
1379      false,
1380      false,
1381      false,
1382      {false, false, false, false},
1383      {0.0f, 0.0f, 0.0f, 0.0f},
1384      1,
1385      1},
1386     // padding (0x4B)
1387     {nullptr,
1388      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1389      {0, 0, 0, 0},
1390      {0, 0, 0, 0},
1391      {0, 0, 0, 0},
1392      0,
1393      0,
1394      0,
1395      false,
1396      false,
1397      false,
1398      false,
1399      {false, false, false, false},
1400      {0.0f, 0.0f, 0.0f, 0.0f},
1401      1,
1402      1},
1403     // padding (0x4C)
1404     {nullptr,
1405      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1406      {0, 0, 0, 0},
1407      {0, 0, 0, 0},
1408      {0, 0, 0, 0},
1409      0,
1410      0,
1411      0,
1412      false,
1413      false,
1414      false,
1415      false,
1416      {false, false, false, false},
1417      {0.0f, 0.0f, 0.0f, 0.0f},
1418      1,
1419      1},
1420     // padding (0x4D)
1421     {nullptr,
1422      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1423      {0, 0, 0, 0},
1424      {0, 0, 0, 0},
1425      {0, 0, 0, 0},
1426      0,
1427      0,
1428      0,
1429      false,
1430      false,
1431      false,
1432      false,
1433      {false, false, false, false},
1434      {0.0f, 0.0f, 0.0f, 0.0f},
1435      1,
1436      1},
1437     // padding (0x4E)
1438     {nullptr,
1439      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1440      {0, 0, 0, 0},
1441      {0, 0, 0, 0},
1442      {0, 0, 0, 0},
1443      0,
1444      0,
1445      0,
1446      false,
1447      false,
1448      false,
1449      false,
1450      {false, false, false, false},
1451      {0.0f, 0.0f, 0.0f, 0.0f},
1452      1,
1453      1},
1454     // padding (0x4F)
1455     {nullptr,
1456      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1457      {0, 0, 0, 0},
1458      {0, 0, 0, 0},
1459      {0, 0, 0, 0},
1460      0,
1461      0,
1462      0,
1463      false,
1464      false,
1465      false,
1466      false,
1467      {false, false, false, false},
1468      {0.0f, 0.0f, 0.0f, 0.0f},
1469      1,
1470      1},
1471     // R32G32B32_SFIXED (0x50)
1472     {
1473         "R32G32B32_SFIXED",
1474         {SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN},
1475         {0, 0, 0, 0x3f800000},        // Defaults for missing components
1476         {0, 1, 2, 0},                 // Swizzle
1477         {32, 32, 32, 0},              // Bits per component
1478         96,                           // Bits per element
1479         12,                           // Bytes per element
1480         3,                            // Num components
1481         false,                        // isSRGB
1482         false,                        // isBC
1483         false,                        // isSubsampled
1484         false,                        // isLuminance
1485         {false, false, false, false}, // Is normalized?
1486         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
1487         1,                            // bcWidth
1488         1,                            // bcHeight
1489     },
1490 
1491     // padding (0x51)
1492     {nullptr,
1493      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1494      {0, 0, 0, 0},
1495      {0, 0, 0, 0},
1496      {0, 0, 0, 0},
1497      0,
1498      0,
1499      0,
1500      false,
1501      false,
1502      false,
1503      false,
1504      {false, false, false, false},
1505      {0.0f, 0.0f, 0.0f, 0.0f},
1506      1,
1507      1},
1508     // padding (0x52)
1509     {nullptr,
1510      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1511      {0, 0, 0, 0},
1512      {0, 0, 0, 0},
1513      {0, 0, 0, 0},
1514      0,
1515      0,
1516      0,
1517      false,
1518      false,
1519      false,
1520      false,
1521      {false, false, false, false},
1522      {0.0f, 0.0f, 0.0f, 0.0f},
1523      1,
1524      1},
1525     // padding (0x53)
1526     {nullptr,
1527      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1528      {0, 0, 0, 0},
1529      {0, 0, 0, 0},
1530      {0, 0, 0, 0},
1531      0,
1532      0,
1533      0,
1534      false,
1535      false,
1536      false,
1537      false,
1538      {false, false, false, false},
1539      {0.0f, 0.0f, 0.0f, 0.0f},
1540      1,
1541      1},
1542     // padding (0x54)
1543     {nullptr,
1544      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1545      {0, 0, 0, 0},
1546      {0, 0, 0, 0},
1547      {0, 0, 0, 0},
1548      0,
1549      0,
1550      0,
1551      false,
1552      false,
1553      false,
1554      false,
1555      {false, false, false, false},
1556      {0.0f, 0.0f, 0.0f, 0.0f},
1557      1,
1558      1},
1559     // padding (0x55)
1560     {nullptr,
1561      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1562      {0, 0, 0, 0},
1563      {0, 0, 0, 0},
1564      {0, 0, 0, 0},
1565      0,
1566      0,
1567      0,
1568      false,
1569      false,
1570      false,
1571      false,
1572      {false, false, false, false},
1573      {0.0f, 0.0f, 0.0f, 0.0f},
1574      1,
1575      1},
1576     // padding (0x56)
1577     {nullptr,
1578      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1579      {0, 0, 0, 0},
1580      {0, 0, 0, 0},
1581      {0, 0, 0, 0},
1582      0,
1583      0,
1584      0,
1585      false,
1586      false,
1587      false,
1588      false,
1589      {false, false, false, false},
1590      {0.0f, 0.0f, 0.0f, 0.0f},
1591      1,
1592      1},
1593     // padding (0x57)
1594     {nullptr,
1595      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1596      {0, 0, 0, 0},
1597      {0, 0, 0, 0},
1598      {0, 0, 0, 0},
1599      0,
1600      0,
1601      0,
1602      false,
1603      false,
1604      false,
1605      false,
1606      {false, false, false, false},
1607      {0.0f, 0.0f, 0.0f, 0.0f},
1608      1,
1609      1},
1610     // padding (0x58)
1611     {nullptr,
1612      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1613      {0, 0, 0, 0},
1614      {0, 0, 0, 0},
1615      {0, 0, 0, 0},
1616      0,
1617      0,
1618      0,
1619      false,
1620      false,
1621      false,
1622      false,
1623      {false, false, false, false},
1624      {0.0f, 0.0f, 0.0f, 0.0f},
1625      1,
1626      1},
1627     // padding (0x59)
1628     {nullptr,
1629      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1630      {0, 0, 0, 0},
1631      {0, 0, 0, 0},
1632      {0, 0, 0, 0},
1633      0,
1634      0,
1635      0,
1636      false,
1637      false,
1638      false,
1639      false,
1640      {false, false, false, false},
1641      {0.0f, 0.0f, 0.0f, 0.0f},
1642      1,
1643      1},
1644     // padding (0x5A)
1645     {nullptr,
1646      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1647      {0, 0, 0, 0},
1648      {0, 0, 0, 0},
1649      {0, 0, 0, 0},
1650      0,
1651      0,
1652      0,
1653      false,
1654      false,
1655      false,
1656      false,
1657      {false, false, false, false},
1658      {0.0f, 0.0f, 0.0f, 0.0f},
1659      1,
1660      1},
1661     // padding (0x5B)
1662     {nullptr,
1663      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1664      {0, 0, 0, 0},
1665      {0, 0, 0, 0},
1666      {0, 0, 0, 0},
1667      0,
1668      0,
1669      0,
1670      false,
1671      false,
1672      false,
1673      false,
1674      {false, false, false, false},
1675      {0.0f, 0.0f, 0.0f, 0.0f},
1676      1,
1677      1},
1678     // padding (0x5C)
1679     {nullptr,
1680      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1681      {0, 0, 0, 0},
1682      {0, 0, 0, 0},
1683      {0, 0, 0, 0},
1684      0,
1685      0,
1686      0,
1687      false,
1688      false,
1689      false,
1690      false,
1691      {false, false, false, false},
1692      {0.0f, 0.0f, 0.0f, 0.0f},
1693      1,
1694      1},
1695     // padding (0x5D)
1696     {nullptr,
1697      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1698      {0, 0, 0, 0},
1699      {0, 0, 0, 0},
1700      {0, 0, 0, 0},
1701      0,
1702      0,
1703      0,
1704      false,
1705      false,
1706      false,
1707      false,
1708      {false, false, false, false},
1709      {0.0f, 0.0f, 0.0f, 0.0f},
1710      1,
1711      1},
1712     // padding (0x5E)
1713     {nullptr,
1714      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1715      {0, 0, 0, 0},
1716      {0, 0, 0, 0},
1717      {0, 0, 0, 0},
1718      0,
1719      0,
1720      0,
1721      false,
1722      false,
1723      false,
1724      false,
1725      {false, false, false, false},
1726      {0.0f, 0.0f, 0.0f, 0.0f},
1727      1,
1728      1},
1729     // padding (0x5F)
1730     {nullptr,
1731      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1732      {0, 0, 0, 0},
1733      {0, 0, 0, 0},
1734      {0, 0, 0, 0},
1735      0,
1736      0,
1737      0,
1738      false,
1739      false,
1740      false,
1741      false,
1742      {false, false, false, false},
1743      {0.0f, 0.0f, 0.0f, 0.0f},
1744      1,
1745      1},
1746     // padding (0x60)
1747     {nullptr,
1748      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1749      {0, 0, 0, 0},
1750      {0, 0, 0, 0},
1751      {0, 0, 0, 0},
1752      0,
1753      0,
1754      0,
1755      false,
1756      false,
1757      false,
1758      false,
1759      {false, false, false, false},
1760      {0.0f, 0.0f, 0.0f, 0.0f},
1761      1,
1762      1},
1763     // padding (0x61)
1764     {nullptr,
1765      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1766      {0, 0, 0, 0},
1767      {0, 0, 0, 0},
1768      {0, 0, 0, 0},
1769      0,
1770      0,
1771      0,
1772      false,
1773      false,
1774      false,
1775      false,
1776      {false, false, false, false},
1777      {0.0f, 0.0f, 0.0f, 0.0f},
1778      1,
1779      1},
1780     // padding (0x62)
1781     {nullptr,
1782      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1783      {0, 0, 0, 0},
1784      {0, 0, 0, 0},
1785      {0, 0, 0, 0},
1786      0,
1787      0,
1788      0,
1789      false,
1790      false,
1791      false,
1792      false,
1793      {false, false, false, false},
1794      {0.0f, 0.0f, 0.0f, 0.0f},
1795      1,
1796      1},
1797     // padding (0x63)
1798     {nullptr,
1799      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1800      {0, 0, 0, 0},
1801      {0, 0, 0, 0},
1802      {0, 0, 0, 0},
1803      0,
1804      0,
1805      0,
1806      false,
1807      false,
1808      false,
1809      false,
1810      {false, false, false, false},
1811      {0.0f, 0.0f, 0.0f, 0.0f},
1812      1,
1813      1},
1814     // padding (0x64)
1815     {nullptr,
1816      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1817      {0, 0, 0, 0},
1818      {0, 0, 0, 0},
1819      {0, 0, 0, 0},
1820      0,
1821      0,
1822      0,
1823      false,
1824      false,
1825      false,
1826      false,
1827      {false, false, false, false},
1828      {0.0f, 0.0f, 0.0f, 0.0f},
1829      1,
1830      1},
1831     // padding (0x65)
1832     {nullptr,
1833      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1834      {0, 0, 0, 0},
1835      {0, 0, 0, 0},
1836      {0, 0, 0, 0},
1837      0,
1838      0,
1839      0,
1840      false,
1841      false,
1842      false,
1843      false,
1844      {false, false, false, false},
1845      {0.0f, 0.0f, 0.0f, 0.0f},
1846      1,
1847      1},
1848     // padding (0x66)
1849     {nullptr,
1850      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1851      {0, 0, 0, 0},
1852      {0, 0, 0, 0},
1853      {0, 0, 0, 0},
1854      0,
1855      0,
1856      0,
1857      false,
1858      false,
1859      false,
1860      false,
1861      {false, false, false, false},
1862      {0.0f, 0.0f, 0.0f, 0.0f},
1863      1,
1864      1},
1865     // padding (0x67)
1866     {nullptr,
1867      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1868      {0, 0, 0, 0},
1869      {0, 0, 0, 0},
1870      {0, 0, 0, 0},
1871      0,
1872      0,
1873      0,
1874      false,
1875      false,
1876      false,
1877      false,
1878      {false, false, false, false},
1879      {0.0f, 0.0f, 0.0f, 0.0f},
1880      1,
1881      1},
1882     // padding (0x68)
1883     {nullptr,
1884      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1885      {0, 0, 0, 0},
1886      {0, 0, 0, 0},
1887      {0, 0, 0, 0},
1888      0,
1889      0,
1890      0,
1891      false,
1892      false,
1893      false,
1894      false,
1895      {false, false, false, false},
1896      {0.0f, 0.0f, 0.0f, 0.0f},
1897      1,
1898      1},
1899     // padding (0x69)
1900     {nullptr,
1901      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1902      {0, 0, 0, 0},
1903      {0, 0, 0, 0},
1904      {0, 0, 0, 0},
1905      0,
1906      0,
1907      0,
1908      false,
1909      false,
1910      false,
1911      false,
1912      {false, false, false, false},
1913      {0.0f, 0.0f, 0.0f, 0.0f},
1914      1,
1915      1},
1916     // padding (0x6A)
1917     {nullptr,
1918      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1919      {0, 0, 0, 0},
1920      {0, 0, 0, 0},
1921      {0, 0, 0, 0},
1922      0,
1923      0,
1924      0,
1925      false,
1926      false,
1927      false,
1928      false,
1929      {false, false, false, false},
1930      {0.0f, 0.0f, 0.0f, 0.0f},
1931      1,
1932      1},
1933     // padding (0x6B)
1934     {nullptr,
1935      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1936      {0, 0, 0, 0},
1937      {0, 0, 0, 0},
1938      {0, 0, 0, 0},
1939      0,
1940      0,
1941      0,
1942      false,
1943      false,
1944      false,
1945      false,
1946      {false, false, false, false},
1947      {0.0f, 0.0f, 0.0f, 0.0f},
1948      1,
1949      1},
1950     // padding (0x6C)
1951     {nullptr,
1952      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1953      {0, 0, 0, 0},
1954      {0, 0, 0, 0},
1955      {0, 0, 0, 0},
1956      0,
1957      0,
1958      0,
1959      false,
1960      false,
1961      false,
1962      false,
1963      {false, false, false, false},
1964      {0.0f, 0.0f, 0.0f, 0.0f},
1965      1,
1966      1},
1967     // padding (0x6D)
1968     {nullptr,
1969      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1970      {0, 0, 0, 0},
1971      {0, 0, 0, 0},
1972      {0, 0, 0, 0},
1973      0,
1974      0,
1975      0,
1976      false,
1977      false,
1978      false,
1979      false,
1980      {false, false, false, false},
1981      {0.0f, 0.0f, 0.0f, 0.0f},
1982      1,
1983      1},
1984     // padding (0x6E)
1985     {nullptr,
1986      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
1987      {0, 0, 0, 0},
1988      {0, 0, 0, 0},
1989      {0, 0, 0, 0},
1990      0,
1991      0,
1992      0,
1993      false,
1994      false,
1995      false,
1996      false,
1997      {false, false, false, false},
1998      {0.0f, 0.0f, 0.0f, 0.0f},
1999      1,
2000      1},
2001     // padding (0x6F)
2002     {nullptr,
2003      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2004      {0, 0, 0, 0},
2005      {0, 0, 0, 0},
2006      {0, 0, 0, 0},
2007      0,
2008      0,
2009      0,
2010      false,
2011      false,
2012      false,
2013      false,
2014      {false, false, false, false},
2015      {0.0f, 0.0f, 0.0f, 0.0f},
2016      1,
2017      1},
2018     // padding (0x70)
2019     {nullptr,
2020      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2021      {0, 0, 0, 0},
2022      {0, 0, 0, 0},
2023      {0, 0, 0, 0},
2024      0,
2025      0,
2026      0,
2027      false,
2028      false,
2029      false,
2030      false,
2031      {false, false, false, false},
2032      {0.0f, 0.0f, 0.0f, 0.0f},
2033      1,
2034      1},
2035     // padding (0x71)
2036     {nullptr,
2037      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2038      {0, 0, 0, 0},
2039      {0, 0, 0, 0},
2040      {0, 0, 0, 0},
2041      0,
2042      0,
2043      0,
2044      false,
2045      false,
2046      false,
2047      false,
2048      {false, false, false, false},
2049      {0.0f, 0.0f, 0.0f, 0.0f},
2050      1,
2051      1},
2052     // padding (0x72)
2053     {nullptr,
2054      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2055      {0, 0, 0, 0},
2056      {0, 0, 0, 0},
2057      {0, 0, 0, 0},
2058      0,
2059      0,
2060      0,
2061      false,
2062      false,
2063      false,
2064      false,
2065      {false, false, false, false},
2066      {0.0f, 0.0f, 0.0f, 0.0f},
2067      1,
2068      1},
2069     // padding (0x73)
2070     {nullptr,
2071      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2072      {0, 0, 0, 0},
2073      {0, 0, 0, 0},
2074      {0, 0, 0, 0},
2075      0,
2076      0,
2077      0,
2078      false,
2079      false,
2080      false,
2081      false,
2082      {false, false, false, false},
2083      {0.0f, 0.0f, 0.0f, 0.0f},
2084      1,
2085      1},
2086     // padding (0x74)
2087     {nullptr,
2088      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2089      {0, 0, 0, 0},
2090      {0, 0, 0, 0},
2091      {0, 0, 0, 0},
2092      0,
2093      0,
2094      0,
2095      false,
2096      false,
2097      false,
2098      false,
2099      {false, false, false, false},
2100      {0.0f, 0.0f, 0.0f, 0.0f},
2101      1,
2102      1},
2103     // padding (0x75)
2104     {nullptr,
2105      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2106      {0, 0, 0, 0},
2107      {0, 0, 0, 0},
2108      {0, 0, 0, 0},
2109      0,
2110      0,
2111      0,
2112      false,
2113      false,
2114      false,
2115      false,
2116      {false, false, false, false},
2117      {0.0f, 0.0f, 0.0f, 0.0f},
2118      1,
2119      1},
2120     // padding (0x76)
2121     {nullptr,
2122      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2123      {0, 0, 0, 0},
2124      {0, 0, 0, 0},
2125      {0, 0, 0, 0},
2126      0,
2127      0,
2128      0,
2129      false,
2130      false,
2131      false,
2132      false,
2133      {false, false, false, false},
2134      {0.0f, 0.0f, 0.0f, 0.0f},
2135      1,
2136      1},
2137     // padding (0x77)
2138     {nullptr,
2139      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2140      {0, 0, 0, 0},
2141      {0, 0, 0, 0},
2142      {0, 0, 0, 0},
2143      0,
2144      0,
2145      0,
2146      false,
2147      false,
2148      false,
2149      false,
2150      {false, false, false, false},
2151      {0.0f, 0.0f, 0.0f, 0.0f},
2152      1,
2153      1},
2154     // padding (0x78)
2155     {nullptr,
2156      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2157      {0, 0, 0, 0},
2158      {0, 0, 0, 0},
2159      {0, 0, 0, 0},
2160      0,
2161      0,
2162      0,
2163      false,
2164      false,
2165      false,
2166      false,
2167      {false, false, false, false},
2168      {0.0f, 0.0f, 0.0f, 0.0f},
2169      1,
2170      1},
2171     // padding (0x79)
2172     {nullptr,
2173      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2174      {0, 0, 0, 0},
2175      {0, 0, 0, 0},
2176      {0, 0, 0, 0},
2177      0,
2178      0,
2179      0,
2180      false,
2181      false,
2182      false,
2183      false,
2184      {false, false, false, false},
2185      {0.0f, 0.0f, 0.0f, 0.0f},
2186      1,
2187      1},
2188     // padding (0x7A)
2189     {nullptr,
2190      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2191      {0, 0, 0, 0},
2192      {0, 0, 0, 0},
2193      {0, 0, 0, 0},
2194      0,
2195      0,
2196      0,
2197      false,
2198      false,
2199      false,
2200      false,
2201      {false, false, false, false},
2202      {0.0f, 0.0f, 0.0f, 0.0f},
2203      1,
2204      1},
2205     // padding (0x7B)
2206     {nullptr,
2207      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2208      {0, 0, 0, 0},
2209      {0, 0, 0, 0},
2210      {0, 0, 0, 0},
2211      0,
2212      0,
2213      0,
2214      false,
2215      false,
2216      false,
2217      false,
2218      {false, false, false, false},
2219      {0.0f, 0.0f, 0.0f, 0.0f},
2220      1,
2221      1},
2222     // padding (0x7C)
2223     {nullptr,
2224      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2225      {0, 0, 0, 0},
2226      {0, 0, 0, 0},
2227      {0, 0, 0, 0},
2228      0,
2229      0,
2230      0,
2231      false,
2232      false,
2233      false,
2234      false,
2235      {false, false, false, false},
2236      {0.0f, 0.0f, 0.0f, 0.0f},
2237      1,
2238      1},
2239     // padding (0x7D)
2240     {nullptr,
2241      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2242      {0, 0, 0, 0},
2243      {0, 0, 0, 0},
2244      {0, 0, 0, 0},
2245      0,
2246      0,
2247      0,
2248      false,
2249      false,
2250      false,
2251      false,
2252      {false, false, false, false},
2253      {0.0f, 0.0f, 0.0f, 0.0f},
2254      1,
2255      1},
2256     // padding (0x7E)
2257     {nullptr,
2258      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2259      {0, 0, 0, 0},
2260      {0, 0, 0, 0},
2261      {0, 0, 0, 0},
2262      0,
2263      0,
2264      0,
2265      false,
2266      false,
2267      false,
2268      false,
2269      {false, false, false, false},
2270      {0.0f, 0.0f, 0.0f, 0.0f},
2271      1,
2272      1},
2273     // padding (0x7F)
2274     {nullptr,
2275      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2276      {0, 0, 0, 0},
2277      {0, 0, 0, 0},
2278      {0, 0, 0, 0},
2279      0,
2280      0,
2281      0,
2282      false,
2283      false,
2284      false,
2285      false,
2286      {false, false, false, false},
2287      {0.0f, 0.0f, 0.0f, 0.0f},
2288      1,
2289      1},
2290     // R16G16B16A16_UNORM (0x80)
2291     {
2292         "R16G16B16A16_UNORM",
2293         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
2294         {0, 0, 0, 0x3f800000},    // Defaults for missing components
2295         {0, 1, 2, 3},             // Swizzle
2296         {16, 16, 16, 16},         // Bits per component
2297         64,                       // Bits per element
2298         8,                        // Bytes per element
2299         4,                        // Num components
2300         false,                    // isSRGB
2301         false,                    // isBC
2302         false,                    // isSubsampled
2303         false,                    // isLuminance
2304         {true, true, true, true}, // Is normalized?
2305         {1.0f / 65535.0f,
2306          1.0f / 65535.0f,
2307          1.0f / 65535.0f,
2308          1.0f / 65535.0f}, // To float scale factor
2309         1,                 // bcWidth
2310         1,                 // bcHeight
2311     },
2312 
2313     // R16G16B16A16_SNORM (0x81)
2314     {
2315         "R16G16B16A16_SNORM",
2316         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM},
2317         {0, 0, 0, 0x3f800000},    // Defaults for missing components
2318         {0, 1, 2, 3},             // Swizzle
2319         {16, 16, 16, 16},         // Bits per component
2320         64,                       // Bits per element
2321         8,                        // Bytes per element
2322         4,                        // Num components
2323         false,                    // isSRGB
2324         false,                    // isBC
2325         false,                    // isSubsampled
2326         false,                    // isLuminance
2327         {true, true, true, true}, // Is normalized?
2328         {1.0f / 32767.0f,
2329          1.0f / 32767.0f,
2330          1.0f / 32767.0f,
2331          1.0f / 32767.0f}, // To float scale factor
2332         1,                 // bcWidth
2333         1,                 // bcHeight
2334     },
2335 
2336     // R16G16B16A16_SINT (0x82)
2337     {
2338         "R16G16B16A16_SINT",
2339         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT},
2340         {0, 0, 0, 0x1},               // Defaults for missing components
2341         {0, 1, 2, 3},                 // Swizzle
2342         {16, 16, 16, 16},             // Bits per component
2343         64,                           // Bits per element
2344         8,                            // Bytes per element
2345         4,                            // Num components
2346         false,                        // isSRGB
2347         false,                        // isBC
2348         false,                        // isSubsampled
2349         false,                        // isLuminance
2350         {false, false, false, false}, // Is normalized?
2351         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
2352         1,                            // bcWidth
2353         1,                            // bcHeight
2354     },
2355 
2356     // R16G16B16A16_UINT (0x83)
2357     {
2358         "R16G16B16A16_UINT",
2359         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
2360         {0, 0, 0, 0x1},               // Defaults for missing components
2361         {0, 1, 2, 3},                 // Swizzle
2362         {16, 16, 16, 16},             // Bits per component
2363         64,                           // Bits per element
2364         8,                            // Bytes per element
2365         4,                            // Num components
2366         false,                        // isSRGB
2367         false,                        // isBC
2368         false,                        // isSubsampled
2369         false,                        // isLuminance
2370         {false, false, false, false}, // Is normalized?
2371         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
2372         1,                            // bcWidth
2373         1,                            // bcHeight
2374     },
2375 
2376     // R16G16B16A16_FLOAT (0x84)
2377     {
2378         "R16G16B16A16_FLOAT",
2379         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT},
2380         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2381         {0, 1, 2, 3},                 // Swizzle
2382         {16, 16, 16, 16},             // Bits per component
2383         64,                           // Bits per element
2384         8,                            // Bytes per element
2385         4,                            // Num components
2386         false,                        // isSRGB
2387         false,                        // isBC
2388         false,                        // isSubsampled
2389         false,                        // isLuminance
2390         {false, false, false, false}, // Is normalized?
2391         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
2392         1,                            // bcWidth
2393         1,                            // bcHeight
2394     },
2395 
2396     // R32G32_FLOAT (0x85)
2397     {
2398         "R32G32_FLOAT",
2399         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2400         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2401         {0, 1, 0, 0},                 // Swizzle
2402         {32, 32, 0, 0},               // Bits per component
2403         64,                           // Bits per element
2404         8,                            // Bytes per element
2405         2,                            // Num components
2406         false,                        // isSRGB
2407         false,                        // isBC
2408         false,                        // isSubsampled
2409         false,                        // isLuminance
2410         {false, false, false, false}, // Is normalized?
2411         {1.0f, 1.0f, 0, 0},           // To float scale factor
2412         1,                            // bcWidth
2413         1,                            // bcHeight
2414     },
2415 
2416     // R32G32_SINT (0x86)
2417     {
2418         "R32G32_SINT",
2419         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2420         {0, 0, 0, 0x1},               // Defaults for missing components
2421         {0, 1, 0, 0},                 // Swizzle
2422         {32, 32, 0, 0},               // Bits per component
2423         64,                           // Bits per element
2424         8,                            // Bytes per element
2425         2,                            // Num components
2426         false,                        // isSRGB
2427         false,                        // isBC
2428         false,                        // isSubsampled
2429         false,                        // isLuminance
2430         {false, false, false, false}, // Is normalized?
2431         {1.0f, 1.0f, 0, 0},           // To float scale factor
2432         1,                            // bcWidth
2433         1,                            // bcHeight
2434     },
2435 
2436     // R32G32_UINT (0x87)
2437     {
2438         "R32G32_UINT",
2439         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2440         {0, 0, 0, 0x1},               // Defaults for missing components
2441         {0, 1, 0, 0},                 // Swizzle
2442         {32, 32, 0, 0},               // Bits per component
2443         64,                           // Bits per element
2444         8,                            // Bytes per element
2445         2,                            // Num components
2446         false,                        // isSRGB
2447         false,                        // isBC
2448         false,                        // isSubsampled
2449         false,                        // isLuminance
2450         {false, false, false, false}, // Is normalized?
2451         {1.0f, 1.0f, 0, 0},           // To float scale factor
2452         1,                            // bcWidth
2453         1,                            // bcHeight
2454     },
2455 
2456     // R32_FLOAT_X8X24_TYPELESS (0x88)
2457     {
2458         "R32_FLOAT_X8X24_TYPELESS",
2459         {SWR_TYPE_FLOAT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2460         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2461         {0, 1, 2, 3},                 // Swizzle
2462         {32, 32, 0, 0},               // Bits per component
2463         64,                           // Bits per element
2464         8,                            // Bytes per element
2465         2,                            // Num components
2466         false,                        // isSRGB
2467         false,                        // isBC
2468         false,                        // isSubsampled
2469         false,                        // isLuminance
2470         {false, false, false, false}, // Is normalized?
2471         {1.0f, 1.0f, 0, 0},           // To float scale factor
2472         1,                            // bcWidth
2473         1,                            // bcHeight
2474     },
2475 
2476     // X32_TYPELESS_G8X24_UINT (0x89)
2477     {
2478         "X32_TYPELESS_G8X24_UINT",
2479         {SWR_TYPE_UINT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2480         {0, 0, 0, 0x1},               // Defaults for missing components
2481         {0, 1, 2, 3},                 // Swizzle
2482         {32, 32, 0, 0},               // Bits per component
2483         64,                           // Bits per element
2484         8,                            // Bytes per element
2485         2,                            // Num components
2486         false,                        // isSRGB
2487         false,                        // isBC
2488         false,                        // isSubsampled
2489         false,                        // isLuminance
2490         {false, false, false, false}, // Is normalized?
2491         {1.0f, 1.0f, 0, 0},           // To float scale factor
2492         1,                            // bcWidth
2493         1,                            // bcHeight
2494     },
2495 
2496     // L32A32_FLOAT (0x8A)
2497     {
2498         "L32A32_FLOAT",
2499         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2500         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2501         {0, 3, 0, 0},                 // Swizzle
2502         {32, 32, 0, 0},               // Bits per component
2503         64,                           // Bits per element
2504         8,                            // Bytes per element
2505         2,                            // Num components
2506         false,                        // isSRGB
2507         false,                        // isBC
2508         false,                        // isSubsampled
2509         true,                         // isLuminance
2510         {false, false, false, false}, // Is normalized?
2511         {1.0f, 1.0f, 0, 0},           // To float scale factor
2512         1,                            // bcWidth
2513         1,                            // bcHeight
2514     },
2515 
2516     // padding (0x8B)
2517     {nullptr,
2518      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2519      {0, 0, 0, 0},
2520      {0, 0, 0, 0},
2521      {0, 0, 0, 0},
2522      0,
2523      0,
2524      0,
2525      false,
2526      false,
2527      false,
2528      false,
2529      {false, false, false, false},
2530      {0.0f, 0.0f, 0.0f, 0.0f},
2531      1,
2532      1},
2533     // padding (0x8C)
2534     {nullptr,
2535      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2536      {0, 0, 0, 0},
2537      {0, 0, 0, 0},
2538      {0, 0, 0, 0},
2539      0,
2540      0,
2541      0,
2542      false,
2543      false,
2544      false,
2545      false,
2546      {false, false, false, false},
2547      {0.0f, 0.0f, 0.0f, 0.0f},
2548      1,
2549      1},
2550     // R64_FLOAT (0x8D)
2551     {
2552         "R64_FLOAT",
2553         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2554         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2555         {0, 0, 0, 0},                 // Swizzle
2556         {64, 0, 0, 0},                // Bits per component
2557         64,                           // Bits per element
2558         8,                            // Bytes per element
2559         1,                            // Num components
2560         false,                        // isSRGB
2561         false,                        // isBC
2562         false,                        // isSubsampled
2563         false,                        // isLuminance
2564         {false, false, false, false}, // Is normalized?
2565         {1.0f, 0, 0, 0},              // To float scale factor
2566         1,                            // bcWidth
2567         1,                            // bcHeight
2568     },
2569 
2570     // R16G16B16X16_UNORM (0x8E)
2571     {
2572         "R16G16B16X16_UNORM",
2573         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED},
2574         {0, 0, 0, 0x3f800000},     // Defaults for missing components
2575         {0, 1, 2, 3},              // Swizzle
2576         {16, 16, 16, 16},          // Bits per component
2577         64,                        // Bits per element
2578         8,                         // Bytes per element
2579         4,                         // Num components
2580         false,                     // isSRGB
2581         false,                     // isBC
2582         false,                     // isSubsampled
2583         false,                     // isLuminance
2584         {true, true, true, false}, // Is normalized?
2585         {1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f}, // To float scale factor
2586         1,                                                         // bcWidth
2587         1,                                                         // bcHeight
2588     },
2589 
2590     // R16G16B16X16_FLOAT (0x8F)
2591     {
2592         "R16G16B16X16_FLOAT",
2593         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNUSED},
2594         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2595         {0, 1, 2, 3},                 // Swizzle
2596         {16, 16, 16, 16},             // Bits per component
2597         64,                           // Bits per element
2598         8,                            // Bytes per element
2599         4,                            // Num components
2600         false,                        // isSRGB
2601         false,                        // isBC
2602         false,                        // isSubsampled
2603         false,                        // isLuminance
2604         {false, false, false, false}, // Is normalized?
2605         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
2606         1,                            // bcWidth
2607         1,                            // bcHeight
2608     },
2609 
2610     // padding (0x90)
2611     {nullptr,
2612      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2613      {0, 0, 0, 0},
2614      {0, 0, 0, 0},
2615      {0, 0, 0, 0},
2616      0,
2617      0,
2618      0,
2619      false,
2620      false,
2621      false,
2622      false,
2623      {false, false, false, false},
2624      {0.0f, 0.0f, 0.0f, 0.0f},
2625      1,
2626      1},
2627     // L32X32_FLOAT (0x91)
2628     {
2629         "L32X32_FLOAT",
2630         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2631         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2632         {0, 3, 0, 0},                 // Swizzle
2633         {32, 32, 0, 0},               // Bits per component
2634         64,                           // Bits per element
2635         8,                            // Bytes per element
2636         2,                            // Num components
2637         false,                        // isSRGB
2638         false,                        // isBC
2639         false,                        // isSubsampled
2640         true,                         // isLuminance
2641         {false, false, false, false}, // Is normalized?
2642         {1.0f, 1.0f, 0, 0},           // To float scale factor
2643         1,                            // bcWidth
2644         1,                            // bcHeight
2645     },
2646 
2647     // I32X32_FLOAT (0x92)
2648     {
2649         "I32X32_FLOAT",
2650         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2651         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2652         {0, 3, 0, 0},                 // Swizzle
2653         {32, 32, 0, 0},               // Bits per component
2654         64,                           // Bits per element
2655         8,                            // Bytes per element
2656         2,                            // Num components
2657         false,                        // isSRGB
2658         false,                        // isBC
2659         false,                        // isSubsampled
2660         true,                         // isLuminance
2661         {false, false, false, false}, // Is normalized?
2662         {1.0f, 1.0f, 0, 0},           // To float scale factor
2663         1,                            // bcWidth
2664         1,                            // bcHeight
2665     },
2666 
2667     // R16G16B16A16_SSCALED (0x93)
2668     {
2669         "R16G16B16A16_SSCALED",
2670         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED},
2671         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2672         {0, 1, 2, 3},                 // Swizzle
2673         {16, 16, 16, 16},             // Bits per component
2674         64,                           // Bits per element
2675         8,                            // Bytes per element
2676         4,                            // Num components
2677         false,                        // isSRGB
2678         false,                        // isBC
2679         false,                        // isSubsampled
2680         false,                        // isLuminance
2681         {false, false, false, false}, // Is normalized?
2682         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
2683         1,                            // bcWidth
2684         1,                            // bcHeight
2685     },
2686 
2687     // R16G16B16A16_USCALED (0x94)
2688     {
2689         "R16G16B16A16_USCALED",
2690         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED},
2691         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2692         {0, 1, 2, 3},                 // Swizzle
2693         {16, 16, 16, 16},             // Bits per component
2694         64,                           // Bits per element
2695         8,                            // Bytes per element
2696         4,                            // Num components
2697         false,                        // isSRGB
2698         false,                        // isBC
2699         false,                        // isSubsampled
2700         false,                        // isLuminance
2701         {false, false, false, false}, // Is normalized?
2702         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
2703         1,                            // bcWidth
2704         1,                            // bcHeight
2705     },
2706 
2707     // R32G32_SSCALED (0x95)
2708     {
2709         "R32G32_SSCALED",
2710         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2711         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2712         {0, 1, 0, 0},                 // Swizzle
2713         {32, 32, 0, 0},               // Bits per component
2714         64,                           // Bits per element
2715         8,                            // Bytes per element
2716         2,                            // Num components
2717         false,                        // isSRGB
2718         false,                        // isBC
2719         false,                        // isSubsampled
2720         false,                        // isLuminance
2721         {false, false, false, false}, // Is normalized?
2722         {1.0f, 1.0f, 0, 0},           // To float scale factor
2723         1,                            // bcWidth
2724         1,                            // bcHeight
2725     },
2726 
2727     // R32G32_USCALED (0x96)
2728     {
2729         "R32G32_USCALED",
2730         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2731         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2732         {0, 1, 0, 0},                 // Swizzle
2733         {32, 32, 0, 0},               // Bits per component
2734         64,                           // Bits per element
2735         8,                            // Bytes per element
2736         2,                            // Num components
2737         false,                        // isSRGB
2738         false,                        // isBC
2739         false,                        // isSubsampled
2740         false,                        // isLuminance
2741         {false, false, false, false}, // Is normalized?
2742         {1.0f, 1.0f, 0, 0},           // To float scale factor
2743         1,                            // bcWidth
2744         1,                            // bcHeight
2745     },
2746 
2747     // padding (0x97)
2748     {nullptr,
2749      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2750      {0, 0, 0, 0},
2751      {0, 0, 0, 0},
2752      {0, 0, 0, 0},
2753      0,
2754      0,
2755      0,
2756      false,
2757      false,
2758      false,
2759      false,
2760      {false, false, false, false},
2761      {0.0f, 0.0f, 0.0f, 0.0f},
2762      1,
2763      1},
2764     // padding (0x98)
2765     {nullptr,
2766      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2767      {0, 0, 0, 0},
2768      {0, 0, 0, 0},
2769      {0, 0, 0, 0},
2770      0,
2771      0,
2772      0,
2773      false,
2774      false,
2775      false,
2776      false,
2777      {false, false, false, false},
2778      {0.0f, 0.0f, 0.0f, 0.0f},
2779      1,
2780      1},
2781     // padding (0x99)
2782     {nullptr,
2783      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2784      {0, 0, 0, 0},
2785      {0, 0, 0, 0},
2786      {0, 0, 0, 0},
2787      0,
2788      0,
2789      0,
2790      false,
2791      false,
2792      false,
2793      false,
2794      {false, false, false, false},
2795      {0.0f, 0.0f, 0.0f, 0.0f},
2796      1,
2797      1},
2798     // padding (0x9A)
2799     {nullptr,
2800      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2801      {0, 0, 0, 0},
2802      {0, 0, 0, 0},
2803      {0, 0, 0, 0},
2804      0,
2805      0,
2806      0,
2807      false,
2808      false,
2809      false,
2810      false,
2811      {false, false, false, false},
2812      {0.0f, 0.0f, 0.0f, 0.0f},
2813      1,
2814      1},
2815     // padding (0x9B)
2816     {nullptr,
2817      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2818      {0, 0, 0, 0},
2819      {0, 0, 0, 0},
2820      {0, 0, 0, 0},
2821      0,
2822      0,
2823      0,
2824      false,
2825      false,
2826      false,
2827      false,
2828      {false, false, false, false},
2829      {0.0f, 0.0f, 0.0f, 0.0f},
2830      1,
2831      1},
2832     // padding (0x9C)
2833     {nullptr,
2834      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2835      {0, 0, 0, 0},
2836      {0, 0, 0, 0},
2837      {0, 0, 0, 0},
2838      0,
2839      0,
2840      0,
2841      false,
2842      false,
2843      false,
2844      false,
2845      {false, false, false, false},
2846      {0.0f, 0.0f, 0.0f, 0.0f},
2847      1,
2848      1},
2849     // padding (0x9D)
2850     {nullptr,
2851      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2852      {0, 0, 0, 0},
2853      {0, 0, 0, 0},
2854      {0, 0, 0, 0},
2855      0,
2856      0,
2857      0,
2858      false,
2859      false,
2860      false,
2861      false,
2862      {false, false, false, false},
2863      {0.0f, 0.0f, 0.0f, 0.0f},
2864      1,
2865      1},
2866     // padding (0x9E)
2867     {nullptr,
2868      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2869      {0, 0, 0, 0},
2870      {0, 0, 0, 0},
2871      {0, 0, 0, 0},
2872      0,
2873      0,
2874      0,
2875      false,
2876      false,
2877      false,
2878      false,
2879      {false, false, false, false},
2880      {0.0f, 0.0f, 0.0f, 0.0f},
2881      1,
2882      1},
2883     // padding (0x9F)
2884     {nullptr,
2885      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2886      {0, 0, 0, 0},
2887      {0, 0, 0, 0},
2888      {0, 0, 0, 0},
2889      0,
2890      0,
2891      0,
2892      false,
2893      false,
2894      false,
2895      false,
2896      {false, false, false, false},
2897      {0.0f, 0.0f, 0.0f, 0.0f},
2898      1,
2899      1},
2900     // R32G32_SFIXED (0xA0)
2901     {
2902         "R32G32_SFIXED",
2903         {SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2904         {0, 0, 0, 0x3f800000},        // Defaults for missing components
2905         {0, 1, 0, 0},                 // Swizzle
2906         {32, 32, 0, 0},               // Bits per component
2907         64,                           // Bits per element
2908         8,                            // Bytes per element
2909         2,                            // Num components
2910         false,                        // isSRGB
2911         false,                        // isBC
2912         false,                        // isSubsampled
2913         false,                        // isLuminance
2914         {false, false, false, false}, // Is normalized?
2915         {1.0f, 1.0f, 0, 0},           // To float scale factor
2916         1,                            // bcWidth
2917         1,                            // bcHeight
2918     },
2919 
2920     // padding (0xA1)
2921     {nullptr,
2922      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2923      {0, 0, 0, 0},
2924      {0, 0, 0, 0},
2925      {0, 0, 0, 0},
2926      0,
2927      0,
2928      0,
2929      false,
2930      false,
2931      false,
2932      false,
2933      {false, false, false, false},
2934      {0.0f, 0.0f, 0.0f, 0.0f},
2935      1,
2936      1},
2937     // padding (0xA2)
2938     {nullptr,
2939      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2940      {0, 0, 0, 0},
2941      {0, 0, 0, 0},
2942      {0, 0, 0, 0},
2943      0,
2944      0,
2945      0,
2946      false,
2947      false,
2948      false,
2949      false,
2950      {false, false, false, false},
2951      {0.0f, 0.0f, 0.0f, 0.0f},
2952      1,
2953      1},
2954     // padding (0xA3)
2955     {nullptr,
2956      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2957      {0, 0, 0, 0},
2958      {0, 0, 0, 0},
2959      {0, 0, 0, 0},
2960      0,
2961      0,
2962      0,
2963      false,
2964      false,
2965      false,
2966      false,
2967      {false, false, false, false},
2968      {0.0f, 0.0f, 0.0f, 0.0f},
2969      1,
2970      1},
2971     // padding (0xA4)
2972     {nullptr,
2973      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2974      {0, 0, 0, 0},
2975      {0, 0, 0, 0},
2976      {0, 0, 0, 0},
2977      0,
2978      0,
2979      0,
2980      false,
2981      false,
2982      false,
2983      false,
2984      {false, false, false, false},
2985      {0.0f, 0.0f, 0.0f, 0.0f},
2986      1,
2987      1},
2988     // padding (0xA5)
2989     {nullptr,
2990      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
2991      {0, 0, 0, 0},
2992      {0, 0, 0, 0},
2993      {0, 0, 0, 0},
2994      0,
2995      0,
2996      0,
2997      false,
2998      false,
2999      false,
3000      false,
3001      {false, false, false, false},
3002      {0.0f, 0.0f, 0.0f, 0.0f},
3003      1,
3004      1},
3005     // padding (0xA6)
3006     {nullptr,
3007      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3008      {0, 0, 0, 0},
3009      {0, 0, 0, 0},
3010      {0, 0, 0, 0},
3011      0,
3012      0,
3013      0,
3014      false,
3015      false,
3016      false,
3017      false,
3018      {false, false, false, false},
3019      {0.0f, 0.0f, 0.0f, 0.0f},
3020      1,
3021      1},
3022     // padding (0xA7)
3023     {nullptr,
3024      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3025      {0, 0, 0, 0},
3026      {0, 0, 0, 0},
3027      {0, 0, 0, 0},
3028      0,
3029      0,
3030      0,
3031      false,
3032      false,
3033      false,
3034      false,
3035      {false, false, false, false},
3036      {0.0f, 0.0f, 0.0f, 0.0f},
3037      1,
3038      1},
3039     // padding (0xA8)
3040     {nullptr,
3041      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3042      {0, 0, 0, 0},
3043      {0, 0, 0, 0},
3044      {0, 0, 0, 0},
3045      0,
3046      0,
3047      0,
3048      false,
3049      false,
3050      false,
3051      false,
3052      {false, false, false, false},
3053      {0.0f, 0.0f, 0.0f, 0.0f},
3054      1,
3055      1},
3056     // padding (0xA9)
3057     {nullptr,
3058      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3059      {0, 0, 0, 0},
3060      {0, 0, 0, 0},
3061      {0, 0, 0, 0},
3062      0,
3063      0,
3064      0,
3065      false,
3066      false,
3067      false,
3068      false,
3069      {false, false, false, false},
3070      {0.0f, 0.0f, 0.0f, 0.0f},
3071      1,
3072      1},
3073     // padding (0xAA)
3074     {nullptr,
3075      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3076      {0, 0, 0, 0},
3077      {0, 0, 0, 0},
3078      {0, 0, 0, 0},
3079      0,
3080      0,
3081      0,
3082      false,
3083      false,
3084      false,
3085      false,
3086      {false, false, false, false},
3087      {0.0f, 0.0f, 0.0f, 0.0f},
3088      1,
3089      1},
3090     // padding (0xAB)
3091     {nullptr,
3092      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3093      {0, 0, 0, 0},
3094      {0, 0, 0, 0},
3095      {0, 0, 0, 0},
3096      0,
3097      0,
3098      0,
3099      false,
3100      false,
3101      false,
3102      false,
3103      {false, false, false, false},
3104      {0.0f, 0.0f, 0.0f, 0.0f},
3105      1,
3106      1},
3107     // padding (0xAC)
3108     {nullptr,
3109      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3110      {0, 0, 0, 0},
3111      {0, 0, 0, 0},
3112      {0, 0, 0, 0},
3113      0,
3114      0,
3115      0,
3116      false,
3117      false,
3118      false,
3119      false,
3120      {false, false, false, false},
3121      {0.0f, 0.0f, 0.0f, 0.0f},
3122      1,
3123      1},
3124     // padding (0xAD)
3125     {nullptr,
3126      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3127      {0, 0, 0, 0},
3128      {0, 0, 0, 0},
3129      {0, 0, 0, 0},
3130      0,
3131      0,
3132      0,
3133      false,
3134      false,
3135      false,
3136      false,
3137      {false, false, false, false},
3138      {0.0f, 0.0f, 0.0f, 0.0f},
3139      1,
3140      1},
3141     // padding (0xAE)
3142     {nullptr,
3143      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3144      {0, 0, 0, 0},
3145      {0, 0, 0, 0},
3146      {0, 0, 0, 0},
3147      0,
3148      0,
3149      0,
3150      false,
3151      false,
3152      false,
3153      false,
3154      {false, false, false, false},
3155      {0.0f, 0.0f, 0.0f, 0.0f},
3156      1,
3157      1},
3158     // padding (0xAF)
3159     {nullptr,
3160      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3161      {0, 0, 0, 0},
3162      {0, 0, 0, 0},
3163      {0, 0, 0, 0},
3164      0,
3165      0,
3166      0,
3167      false,
3168      false,
3169      false,
3170      false,
3171      {false, false, false, false},
3172      {0.0f, 0.0f, 0.0f, 0.0f},
3173      1,
3174      1},
3175     // padding (0xB0)
3176     {nullptr,
3177      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3178      {0, 0, 0, 0},
3179      {0, 0, 0, 0},
3180      {0, 0, 0, 0},
3181      0,
3182      0,
3183      0,
3184      false,
3185      false,
3186      false,
3187      false,
3188      {false, false, false, false},
3189      {0.0f, 0.0f, 0.0f, 0.0f},
3190      1,
3191      1},
3192     // padding (0xB1)
3193     {nullptr,
3194      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3195      {0, 0, 0, 0},
3196      {0, 0, 0, 0},
3197      {0, 0, 0, 0},
3198      0,
3199      0,
3200      0,
3201      false,
3202      false,
3203      false,
3204      false,
3205      {false, false, false, false},
3206      {0.0f, 0.0f, 0.0f, 0.0f},
3207      1,
3208      1},
3209     // padding (0xB2)
3210     {nullptr,
3211      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3212      {0, 0, 0, 0},
3213      {0, 0, 0, 0},
3214      {0, 0, 0, 0},
3215      0,
3216      0,
3217      0,
3218      false,
3219      false,
3220      false,
3221      false,
3222      {false, false, false, false},
3223      {0.0f, 0.0f, 0.0f, 0.0f},
3224      1,
3225      1},
3226     // padding (0xB3)
3227     {nullptr,
3228      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3229      {0, 0, 0, 0},
3230      {0, 0, 0, 0},
3231      {0, 0, 0, 0},
3232      0,
3233      0,
3234      0,
3235      false,
3236      false,
3237      false,
3238      false,
3239      {false, false, false, false},
3240      {0.0f, 0.0f, 0.0f, 0.0f},
3241      1,
3242      1},
3243     // padding (0xB4)
3244     {nullptr,
3245      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3246      {0, 0, 0, 0},
3247      {0, 0, 0, 0},
3248      {0, 0, 0, 0},
3249      0,
3250      0,
3251      0,
3252      false,
3253      false,
3254      false,
3255      false,
3256      {false, false, false, false},
3257      {0.0f, 0.0f, 0.0f, 0.0f},
3258      1,
3259      1},
3260     // padding (0xB5)
3261     {nullptr,
3262      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3263      {0, 0, 0, 0},
3264      {0, 0, 0, 0},
3265      {0, 0, 0, 0},
3266      0,
3267      0,
3268      0,
3269      false,
3270      false,
3271      false,
3272      false,
3273      {false, false, false, false},
3274      {0.0f, 0.0f, 0.0f, 0.0f},
3275      1,
3276      1},
3277     // padding (0xB6)
3278     {nullptr,
3279      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3280      {0, 0, 0, 0},
3281      {0, 0, 0, 0},
3282      {0, 0, 0, 0},
3283      0,
3284      0,
3285      0,
3286      false,
3287      false,
3288      false,
3289      false,
3290      {false, false, false, false},
3291      {0.0f, 0.0f, 0.0f, 0.0f},
3292      1,
3293      1},
3294     // padding (0xB7)
3295     {nullptr,
3296      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3297      {0, 0, 0, 0},
3298      {0, 0, 0, 0},
3299      {0, 0, 0, 0},
3300      0,
3301      0,
3302      0,
3303      false,
3304      false,
3305      false,
3306      false,
3307      {false, false, false, false},
3308      {0.0f, 0.0f, 0.0f, 0.0f},
3309      1,
3310      1},
3311     // padding (0xB8)
3312     {nullptr,
3313      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3314      {0, 0, 0, 0},
3315      {0, 0, 0, 0},
3316      {0, 0, 0, 0},
3317      0,
3318      0,
3319      0,
3320      false,
3321      false,
3322      false,
3323      false,
3324      {false, false, false, false},
3325      {0.0f, 0.0f, 0.0f, 0.0f},
3326      1,
3327      1},
3328     // padding (0xB9)
3329     {nullptr,
3330      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3331      {0, 0, 0, 0},
3332      {0, 0, 0, 0},
3333      {0, 0, 0, 0},
3334      0,
3335      0,
3336      0,
3337      false,
3338      false,
3339      false,
3340      false,
3341      {false, false, false, false},
3342      {0.0f, 0.0f, 0.0f, 0.0f},
3343      1,
3344      1},
3345     // padding (0xBA)
3346     {nullptr,
3347      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3348      {0, 0, 0, 0},
3349      {0, 0, 0, 0},
3350      {0, 0, 0, 0},
3351      0,
3352      0,
3353      0,
3354      false,
3355      false,
3356      false,
3357      false,
3358      {false, false, false, false},
3359      {0.0f, 0.0f, 0.0f, 0.0f},
3360      1,
3361      1},
3362     // padding (0xBB)
3363     {nullptr,
3364      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3365      {0, 0, 0, 0},
3366      {0, 0, 0, 0},
3367      {0, 0, 0, 0},
3368      0,
3369      0,
3370      0,
3371      false,
3372      false,
3373      false,
3374      false,
3375      {false, false, false, false},
3376      {0.0f, 0.0f, 0.0f, 0.0f},
3377      1,
3378      1},
3379     // padding (0xBC)
3380     {nullptr,
3381      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3382      {0, 0, 0, 0},
3383      {0, 0, 0, 0},
3384      {0, 0, 0, 0},
3385      0,
3386      0,
3387      0,
3388      false,
3389      false,
3390      false,
3391      false,
3392      {false, false, false, false},
3393      {0.0f, 0.0f, 0.0f, 0.0f},
3394      1,
3395      1},
3396     // padding (0xBD)
3397     {nullptr,
3398      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3399      {0, 0, 0, 0},
3400      {0, 0, 0, 0},
3401      {0, 0, 0, 0},
3402      0,
3403      0,
3404      0,
3405      false,
3406      false,
3407      false,
3408      false,
3409      {false, false, false, false},
3410      {0.0f, 0.0f, 0.0f, 0.0f},
3411      1,
3412      1},
3413     // padding (0xBE)
3414     {nullptr,
3415      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3416      {0, 0, 0, 0},
3417      {0, 0, 0, 0},
3418      {0, 0, 0, 0},
3419      0,
3420      0,
3421      0,
3422      false,
3423      false,
3424      false,
3425      false,
3426      {false, false, false, false},
3427      {0.0f, 0.0f, 0.0f, 0.0f},
3428      1,
3429      1},
3430     // padding (0xBF)
3431     {nullptr,
3432      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3433      {0, 0, 0, 0},
3434      {0, 0, 0, 0},
3435      {0, 0, 0, 0},
3436      0,
3437      0,
3438      0,
3439      false,
3440      false,
3441      false,
3442      false,
3443      {false, false, false, false},
3444      {0.0f, 0.0f, 0.0f, 0.0f},
3445      1,
3446      1},
3447     // B8G8R8A8_UNORM (0xC0)
3448     {
3449         "B8G8R8A8_UNORM",
3450         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
3451         {0, 0, 0, 0x3f800000},    // Defaults for missing components
3452         {2, 1, 0, 3},             // Swizzle
3453         {8, 8, 8, 8},             // Bits per component
3454         32,                       // Bits per element
3455         4,                        // Bytes per element
3456         4,                        // Num components
3457         false,                    // isSRGB
3458         false,                    // isBC
3459         false,                    // isSubsampled
3460         false,                    // isLuminance
3461         {true, true, true, true}, // Is normalized?
3462         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f}, // To float scale factor
3463         1,                                                            // bcWidth
3464         1,                                                            // bcHeight
3465     },
3466 
3467     // B8G8R8A8_UNORM_SRGB (0xC1)
3468     {
3469         "B8G8R8A8_UNORM_SRGB",
3470         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
3471         {0, 0, 0, 0x3f800000},    // Defaults for missing components
3472         {2, 1, 0, 3},             // Swizzle
3473         {8, 8, 8, 8},             // Bits per component
3474         32,                       // Bits per element
3475         4,                        // Bytes per element
3476         4,                        // Num components
3477         true,                     // isSRGB
3478         false,                    // isBC
3479         false,                    // isSubsampled
3480         false,                    // isLuminance
3481         {true, true, true, true}, // Is normalized?
3482         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f}, // To float scale factor
3483         1,                                                            // bcWidth
3484         1,                                                            // bcHeight
3485     },
3486 
3487     // R10G10B10A2_UNORM (0xC2)
3488     {
3489         "R10G10B10A2_UNORM",
3490         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
3491         {0, 0, 0, 0x3f800000},    // Defaults for missing components
3492         {0, 1, 2, 3},             // Swizzle
3493         {10, 10, 10, 2},          // Bits per component
3494         32,                       // Bits per element
3495         4,                        // Bytes per element
3496         4,                        // Num components
3497         false,                    // isSRGB
3498         false,                    // isBC
3499         false,                    // isSubsampled
3500         false,                    // isLuminance
3501         {true, true, true, true}, // Is normalized?
3502         {1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f}, // To float scale factor
3503         1,                                                             // bcWidth
3504         1,                                                             // bcHeight
3505     },
3506 
3507     // R10G10B10A2_UNORM_SRGB (0xC3)
3508     {
3509         "R10G10B10A2_UNORM_SRGB",
3510         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
3511         {0, 0, 0, 0x3f800000},    // Defaults for missing components
3512         {0, 1, 2, 3},             // Swizzle
3513         {10, 10, 10, 2},          // Bits per component
3514         32,                       // Bits per element
3515         4,                        // Bytes per element
3516         4,                        // Num components
3517         true,                     // isSRGB
3518         false,                    // isBC
3519         false,                    // isSubsampled
3520         false,                    // isLuminance
3521         {true, true, true, true}, // Is normalized?
3522         {1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f}, // To float scale factor
3523         1,                                                             // bcWidth
3524         1,                                                             // bcHeight
3525     },
3526 
3527     // R10G10B10A2_UINT (0xC4)
3528     {
3529         "R10G10B10A2_UINT",
3530         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
3531         {0, 0, 0, 0x1},               // Defaults for missing components
3532         {0, 1, 2, 3},                 // Swizzle
3533         {10, 10, 10, 2},              // Bits per component
3534         32,                           // Bits per element
3535         4,                            // Bytes per element
3536         4,                            // Num components
3537         false,                        // isSRGB
3538         false,                        // isBC
3539         false,                        // isSubsampled
3540         false,                        // isLuminance
3541         {false, false, false, false}, // Is normalized?
3542         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
3543         1,                            // bcWidth
3544         1,                            // bcHeight
3545     },
3546 
3547     // padding (0xC5)
3548     {nullptr,
3549      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3550      {0, 0, 0, 0},
3551      {0, 0, 0, 0},
3552      {0, 0, 0, 0},
3553      0,
3554      0,
3555      0,
3556      false,
3557      false,
3558      false,
3559      false,
3560      {false, false, false, false},
3561      {0.0f, 0.0f, 0.0f, 0.0f},
3562      1,
3563      1},
3564     // padding (0xC6)
3565     {nullptr,
3566      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3567      {0, 0, 0, 0},
3568      {0, 0, 0, 0},
3569      {0, 0, 0, 0},
3570      0,
3571      0,
3572      0,
3573      false,
3574      false,
3575      false,
3576      false,
3577      {false, false, false, false},
3578      {0.0f, 0.0f, 0.0f, 0.0f},
3579      1,
3580      1},
3581     // R8G8B8A8_UNORM (0xC7)
3582     {
3583         "R8G8B8A8_UNORM",
3584         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
3585         {0, 0, 0, 0x3f800000},    // Defaults for missing components
3586         {0, 1, 2, 3},             // Swizzle
3587         {8, 8, 8, 8},             // Bits per component
3588         32,                       // Bits per element
3589         4,                        // Bytes per element
3590         4,                        // Num components
3591         false,                    // isSRGB
3592         false,                    // isBC
3593         false,                    // isSubsampled
3594         false,                    // isLuminance
3595         {true, true, true, true}, // Is normalized?
3596         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f}, // To float scale factor
3597         1,                                                            // bcWidth
3598         1,                                                            // bcHeight
3599     },
3600 
3601     // R8G8B8A8_UNORM_SRGB (0xC8)
3602     {
3603         "R8G8B8A8_UNORM_SRGB",
3604         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
3605         {0, 0, 0, 0x3f800000},    // Defaults for missing components
3606         {0, 1, 2, 3},             // Swizzle
3607         {8, 8, 8, 8},             // Bits per component
3608         32,                       // Bits per element
3609         4,                        // Bytes per element
3610         4,                        // Num components
3611         true,                     // isSRGB
3612         false,                    // isBC
3613         false,                    // isSubsampled
3614         false,                    // isLuminance
3615         {true, true, true, true}, // Is normalized?
3616         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f}, // To float scale factor
3617         1,                                                            // bcWidth
3618         1,                                                            // bcHeight
3619     },
3620 
3621     // R8G8B8A8_SNORM (0xC9)
3622     {
3623         "R8G8B8A8_SNORM",
3624         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM},
3625         {0, 0, 0, 0x3f800000},    // Defaults for missing components
3626         {0, 1, 2, 3},             // Swizzle
3627         {8, 8, 8, 8},             // Bits per component
3628         32,                       // Bits per element
3629         4,                        // Bytes per element
3630         4,                        // Num components
3631         false,                    // isSRGB
3632         false,                    // isBC
3633         false,                    // isSubsampled
3634         false,                    // isLuminance
3635         {true, true, true, true}, // Is normalized?
3636         {1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f}, // To float scale factor
3637         1,                                                            // bcWidth
3638         1,                                                            // bcHeight
3639     },
3640 
3641     // R8G8B8A8_SINT (0xCA)
3642     {
3643         "R8G8B8A8_SINT",
3644         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT},
3645         {0, 0, 0, 0x1},               // Defaults for missing components
3646         {0, 1, 2, 3},                 // Swizzle
3647         {8, 8, 8, 8},                 // Bits per component
3648         32,                           // Bits per element
3649         4,                            // Bytes per element
3650         4,                            // Num components
3651         false,                        // isSRGB
3652         false,                        // isBC
3653         false,                        // isSubsampled
3654         false,                        // isLuminance
3655         {false, false, false, false}, // Is normalized?
3656         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
3657         1,                            // bcWidth
3658         1,                            // bcHeight
3659     },
3660 
3661     // R8G8B8A8_UINT (0xCB)
3662     {
3663         "R8G8B8A8_UINT",
3664         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
3665         {0, 0, 0, 0x1},               // Defaults for missing components
3666         {0, 1, 2, 3},                 // Swizzle
3667         {8, 8, 8, 8},                 // Bits per component
3668         32,                           // Bits per element
3669         4,                            // Bytes per element
3670         4,                            // Num components
3671         false,                        // isSRGB
3672         false,                        // isBC
3673         false,                        // isSubsampled
3674         false,                        // isLuminance
3675         {false, false, false, false}, // Is normalized?
3676         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
3677         1,                            // bcWidth
3678         1,                            // bcHeight
3679     },
3680 
3681     // R16G16_UNORM (0xCC)
3682     {
3683         "R16G16_UNORM",
3684         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3685         {0, 0, 0, 0x3f800000},                    // Defaults for missing components
3686         {0, 1, 0, 0},                             // Swizzle
3687         {16, 16, 0, 0},                           // Bits per component
3688         32,                                       // Bits per element
3689         4,                                        // Bytes per element
3690         2,                                        // Num components
3691         false,                                    // isSRGB
3692         false,                                    // isBC
3693         false,                                    // isSubsampled
3694         false,                                    // isLuminance
3695         {true, true, false, false},               // Is normalized?
3696         {1.0f / 65535.0f, 1.0f / 65535.0f, 0, 0}, // To float scale factor
3697         1,                                        // bcWidth
3698         1,                                        // bcHeight
3699     },
3700 
3701     // R16G16_SNORM (0xCD)
3702     {
3703         "R16G16_SNORM",
3704         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3705         {0, 0, 0, 0x3f800000},                    // Defaults for missing components
3706         {0, 1, 0, 0},                             // Swizzle
3707         {16, 16, 0, 0},                           // Bits per component
3708         32,                                       // Bits per element
3709         4,                                        // Bytes per element
3710         2,                                        // Num components
3711         false,                                    // isSRGB
3712         false,                                    // isBC
3713         false,                                    // isSubsampled
3714         false,                                    // isLuminance
3715         {true, true, false, false},               // Is normalized?
3716         {1.0f / 32767.0f, 1.0f / 32767.0f, 0, 0}, // To float scale factor
3717         1,                                        // bcWidth
3718         1,                                        // bcHeight
3719     },
3720 
3721     // R16G16_SINT (0xCE)
3722     {
3723         "R16G16_SINT",
3724         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3725         {0, 0, 0, 0x1},               // Defaults for missing components
3726         {0, 1, 0, 0},                 // Swizzle
3727         {16, 16, 0, 0},               // Bits per component
3728         32,                           // Bits per element
3729         4,                            // Bytes per element
3730         2,                            // Num components
3731         false,                        // isSRGB
3732         false,                        // isBC
3733         false,                        // isSubsampled
3734         false,                        // isLuminance
3735         {false, false, false, false}, // Is normalized?
3736         {1.0f, 1.0f, 0, 0},           // To float scale factor
3737         1,                            // bcWidth
3738         1,                            // bcHeight
3739     },
3740 
3741     // R16G16_UINT (0xCF)
3742     {
3743         "R16G16_UINT",
3744         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3745         {0, 0, 0, 0x1},               // Defaults for missing components
3746         {0, 1, 0, 0},                 // Swizzle
3747         {16, 16, 0, 0},               // Bits per component
3748         32,                           // Bits per element
3749         4,                            // Bytes per element
3750         2,                            // Num components
3751         false,                        // isSRGB
3752         false,                        // isBC
3753         false,                        // isSubsampled
3754         false,                        // isLuminance
3755         {false, false, false, false}, // Is normalized?
3756         {1.0f, 1.0f, 0, 0},           // To float scale factor
3757         1,                            // bcWidth
3758         1,                            // bcHeight
3759     },
3760 
3761     // R16G16_FLOAT (0xD0)
3762     {
3763         "R16G16_FLOAT",
3764         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3765         {0, 0, 0, 0x3f800000},        // Defaults for missing components
3766         {0, 1, 0, 0},                 // Swizzle
3767         {16, 16, 0, 0},               // Bits per component
3768         32,                           // Bits per element
3769         4,                            // Bytes per element
3770         2,                            // Num components
3771         false,                        // isSRGB
3772         false,                        // isBC
3773         false,                        // isSubsampled
3774         false,                        // isLuminance
3775         {false, false, false, false}, // Is normalized?
3776         {1.0f, 1.0f, 0, 0},           // To float scale factor
3777         1,                            // bcWidth
3778         1,                            // bcHeight
3779     },
3780 
3781     // B10G10R10A2_UNORM (0xD1)
3782     {
3783         "B10G10R10A2_UNORM",
3784         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
3785         {0, 0, 0, 0x3f800000},    // Defaults for missing components
3786         {2, 1, 0, 3},             // Swizzle
3787         {10, 10, 10, 2},          // Bits per component
3788         32,                       // Bits per element
3789         4,                        // Bytes per element
3790         4,                        // Num components
3791         false,                    // isSRGB
3792         false,                    // isBC
3793         false,                    // isSubsampled
3794         false,                    // isLuminance
3795         {true, true, true, true}, // Is normalized?
3796         {1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f}, // To float scale factor
3797         1,                                                             // bcWidth
3798         1,                                                             // bcHeight
3799     },
3800 
3801     // B10G10R10A2_UNORM_SRGB (0xD2)
3802     {
3803         "B10G10R10A2_UNORM_SRGB",
3804         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
3805         {0, 0, 0, 0x3f800000},    // Defaults for missing components
3806         {2, 1, 0, 3},             // Swizzle
3807         {10, 10, 10, 2},          // Bits per component
3808         32,                       // Bits per element
3809         4,                        // Bytes per element
3810         4,                        // Num components
3811         true,                     // isSRGB
3812         false,                    // isBC
3813         false,                    // isSubsampled
3814         false,                    // isLuminance
3815         {true, true, true, true}, // Is normalized?
3816         {1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f}, // To float scale factor
3817         1,                                                             // bcWidth
3818         1,                                                             // bcHeight
3819     },
3820 
3821     // R11G11B10_FLOAT (0xD3)
3822     {
3823         "R11G11B10_FLOAT",
3824         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN},
3825         {0, 0, 0, 0x3f800000},        // Defaults for missing components
3826         {0, 1, 2, 0},                 // Swizzle
3827         {11, 11, 10, 0},              // Bits per component
3828         32,                           // Bits per element
3829         4,                            // Bytes per element
3830         3,                            // Num components
3831         false,                        // isSRGB
3832         false,                        // isBC
3833         false,                        // isSubsampled
3834         false,                        // isLuminance
3835         {false, false, false, false}, // Is normalized?
3836         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
3837         1,                            // bcWidth
3838         1,                            // bcHeight
3839     },
3840 
3841     // padding (0xD4)
3842     {nullptr,
3843      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3844      {0, 0, 0, 0},
3845      {0, 0, 0, 0},
3846      {0, 0, 0, 0},
3847      0,
3848      0,
3849      0,
3850      false,
3851      false,
3852      false,
3853      false,
3854      {false, false, false, false},
3855      {0.0f, 0.0f, 0.0f, 0.0f},
3856      1,
3857      1},
3858 
3859     // R10G10B10_FLOAT_A2_UNORM (0xD5)
3860     {
3861         "R10G10B10_FLOAT_A2_UNORM",
3862         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNORM},
3863         {0, 0, 0, 0x3f800000},           // Defaults for missing components
3864         {0, 1, 2, 3},                    // Swizzle
3865         {10, 10, 10, 2},                 // Bits per component
3866         32,                              // Bits per element
3867         4,                               // Bytes per element
3868         4,                               // Num components
3869         false,                           // isSRGB
3870         false,                           // isBC
3871         false,                           // isSubsampled
3872         false,                           // isLuminance
3873         {false, false, false, false},    // Is normalized?
3874         {1.0f, 1.0f, 1.0f, 1.0f / 3.0f}, // To float scale factor
3875         1,                               // bcWidth
3876         1,                               // bcHeight
3877     },
3878 
3879     // R32_SINT (0xD6)
3880     {
3881         "R32_SINT",
3882         {SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3883         {0, 0, 0, 0x1},               // Defaults for missing components
3884         {0, 0, 0, 0},                 // Swizzle
3885         {32, 0, 0, 0},                // Bits per component
3886         32,                           // Bits per element
3887         4,                            // Bytes per element
3888         1,                            // Num components
3889         false,                        // isSRGB
3890         false,                        // isBC
3891         false,                        // isSubsampled
3892         false,                        // isLuminance
3893         {false, false, false, false}, // Is normalized?
3894         {1.0f, 0, 0, 0},              // To float scale factor
3895         1,                            // bcWidth
3896         1,                            // bcHeight
3897     },
3898 
3899     // R32_UINT (0xD7)
3900     {
3901         "R32_UINT",
3902         {SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3903         {0, 0, 0, 0x1},               // Defaults for missing components
3904         {0, 0, 0, 0},                 // Swizzle
3905         {32, 0, 0, 0},                // Bits per component
3906         32,                           // Bits per element
3907         4,                            // Bytes per element
3908         1,                            // Num components
3909         false,                        // isSRGB
3910         false,                        // isBC
3911         false,                        // isSubsampled
3912         false,                        // isLuminance
3913         {false, false, false, false}, // Is normalized?
3914         {1.0f, 0, 0, 0},              // To float scale factor
3915         1,                            // bcWidth
3916         1,                            // bcHeight
3917     },
3918 
3919     // R32_FLOAT (0xD8)
3920     {
3921         "R32_FLOAT",
3922         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3923         {0, 0, 0, 0x3f800000},        // Defaults for missing components
3924         {0, 0, 0, 0},                 // Swizzle
3925         {32, 0, 0, 0},                // Bits per component
3926         32,                           // Bits per element
3927         4,                            // Bytes per element
3928         1,                            // Num components
3929         false,                        // isSRGB
3930         false,                        // isBC
3931         false,                        // isSubsampled
3932         false,                        // isLuminance
3933         {false, false, false, false}, // Is normalized?
3934         {1.0f, 0, 0, 0},              // To float scale factor
3935         1,                            // bcWidth
3936         1,                            // bcHeight
3937     },
3938 
3939     // R24_UNORM_X8_TYPELESS (0xD9)
3940     {
3941         "R24_UNORM_X8_TYPELESS",
3942         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3943         {0, 0, 0, 0x3f800000},         // Defaults for missing components
3944         {0, 1, 2, 3},                  // Swizzle
3945         {24, 0, 0, 0},                 // Bits per component
3946         32,                            // Bits per element
3947         4,                             // Bytes per element
3948         1,                             // Num components
3949         false,                         // isSRGB
3950         false,                         // isBC
3951         false,                         // isSubsampled
3952         false,                         // isLuminance
3953         {true, false, false, false},   // Is normalized?
3954         {1.0f / 16777215.0f, 0, 0, 0}, // To float scale factor
3955         1,                             // bcWidth
3956         1,                             // bcHeight
3957     },
3958 
3959     // X24_TYPELESS_G8_UINT (0xDA)
3960     {
3961         "X24_TYPELESS_G8_UINT",
3962         {SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3963         {0, 0, 0, 0x1},               // Defaults for missing components
3964         {1, 0, 0, 0},                 // Swizzle
3965         {32, 0, 0, 0},                // Bits per component
3966         32,                           // Bits per element
3967         4,                            // Bytes per element
3968         1,                            // Num components
3969         false,                        // isSRGB
3970         false,                        // isBC
3971         false,                        // isSubsampled
3972         false,                        // isLuminance
3973         {false, false, false, false}, // Is normalized?
3974         {1.0f, 0, 0, 0},              // To float scale factor
3975         1,                            // bcWidth
3976         1,                            // bcHeight
3977     },
3978 
3979     // padding (0xDB)
3980     {nullptr,
3981      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3982      {0, 0, 0, 0},
3983      {0, 0, 0, 0},
3984      {0, 0, 0, 0},
3985      0,
3986      0,
3987      0,
3988      false,
3989      false,
3990      false,
3991      false,
3992      {false, false, false, false},
3993      {0.0f, 0.0f, 0.0f, 0.0f},
3994      1,
3995      1},
3996     // padding (0xDC)
3997     {nullptr,
3998      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
3999      {0, 0, 0, 0},
4000      {0, 0, 0, 0},
4001      {0, 0, 0, 0},
4002      0,
4003      0,
4004      0,
4005      false,
4006      false,
4007      false,
4008      false,
4009      {false, false, false, false},
4010      {0.0f, 0.0f, 0.0f, 0.0f},
4011      1,
4012      1},
4013     // L32_UNORM (0xDD)
4014     {
4015         "L32_UNORM",
4016         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4017         {0, 0, 0, 0x3f800000},           // Defaults for missing components
4018         {0, 0, 0, 0},                    // Swizzle
4019         {32, 0, 0, 0},                   // Bits per component
4020         32,                              // Bits per element
4021         4,                               // Bytes per element
4022         1,                               // Num components
4023         false,                           // isSRGB
4024         false,                           // isBC
4025         false,                           // isSubsampled
4026         true,                            // isLuminance
4027         {true, false, false, false},     // Is normalized?
4028         {1.0f / 4294967295.0f, 0, 0, 0}, // To float scale factor
4029         1,                               // bcWidth
4030         1,                               // bcHeight
4031     },
4032 
4033     // padding (0xDE)
4034     {nullptr,
4035      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4036      {0, 0, 0, 0},
4037      {0, 0, 0, 0},
4038      {0, 0, 0, 0},
4039      0,
4040      0,
4041      0,
4042      false,
4043      false,
4044      false,
4045      false,
4046      {false, false, false, false},
4047      {0.0f, 0.0f, 0.0f, 0.0f},
4048      1,
4049      1},
4050     // L16A16_UNORM (0xDF)
4051     {
4052         "L16A16_UNORM",
4053         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4054         {0, 0, 0, 0x3f800000},                    // Defaults for missing components
4055         {0, 3, 0, 0},                             // Swizzle
4056         {16, 16, 0, 0},                           // Bits per component
4057         32,                                       // Bits per element
4058         4,                                        // Bytes per element
4059         2,                                        // Num components
4060         false,                                    // isSRGB
4061         false,                                    // isBC
4062         false,                                    // isSubsampled
4063         true,                                     // isLuminance
4064         {true, true, false, false},               // Is normalized?
4065         {1.0f / 65535.0f, 1.0f / 65535.0f, 0, 0}, // To float scale factor
4066         1,                                        // bcWidth
4067         1,                                        // bcHeight
4068     },
4069 
4070     // I24X8_UNORM (0xE0)
4071     {
4072         "I24X8_UNORM",
4073         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4074         {0, 0, 0, 0x3f800000},                     // Defaults for missing components
4075         {0, 3, 0, 0},                              // Swizzle
4076         {24, 8, 0, 0},                             // Bits per component
4077         32,                                        // Bits per element
4078         4,                                         // Bytes per element
4079         2,                                         // Num components
4080         false,                                     // isSRGB
4081         false,                                     // isBC
4082         false,                                     // isSubsampled
4083         true,                                      // isLuminance
4084         {true, true, false, false},                // Is normalized?
4085         {1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0}, // To float scale factor
4086         1,                                         // bcWidth
4087         1,                                         // bcHeight
4088     },
4089 
4090     // L24X8_UNORM (0xE1)
4091     {
4092         "L24X8_UNORM",
4093         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4094         {0, 0, 0, 0x3f800000},                     // Defaults for missing components
4095         {0, 3, 0, 0},                              // Swizzle
4096         {24, 8, 0, 0},                             // Bits per component
4097         32,                                        // Bits per element
4098         4,                                         // Bytes per element
4099         2,                                         // Num components
4100         false,                                     // isSRGB
4101         false,                                     // isBC
4102         false,                                     // isSubsampled
4103         true,                                      // isLuminance
4104         {true, true, false, false},                // Is normalized?
4105         {1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0}, // To float scale factor
4106         1,                                         // bcWidth
4107         1,                                         // bcHeight
4108     },
4109 
4110     // padding (0xE2)
4111     {nullptr,
4112      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4113      {0, 0, 0, 0},
4114      {0, 0, 0, 0},
4115      {0, 0, 0, 0},
4116      0,
4117      0,
4118      0,
4119      false,
4120      false,
4121      false,
4122      false,
4123      {false, false, false, false},
4124      {0.0f, 0.0f, 0.0f, 0.0f},
4125      1,
4126      1},
4127     // I32_FLOAT (0xE3)
4128     {
4129         "I32_FLOAT",
4130         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4131         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4132         {0, 0, 0, 0},                 // Swizzle
4133         {32, 0, 0, 0},                // Bits per component
4134         32,                           // Bits per element
4135         4,                            // Bytes per element
4136         1,                            // Num components
4137         false,                        // isSRGB
4138         false,                        // isBC
4139         false,                        // isSubsampled
4140         true,                         // isLuminance
4141         {false, false, false, false}, // Is normalized?
4142         {1.0f, 0, 0, 0},              // To float scale factor
4143         1,                            // bcWidth
4144         1,                            // bcHeight
4145     },
4146 
4147     // L32_FLOAT (0xE4)
4148     {
4149         "L32_FLOAT",
4150         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4151         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4152         {0, 0, 0, 0},                 // Swizzle
4153         {32, 0, 0, 0},                // Bits per component
4154         32,                           // Bits per element
4155         4,                            // Bytes per element
4156         1,                            // Num components
4157         false,                        // isSRGB
4158         false,                        // isBC
4159         false,                        // isSubsampled
4160         true,                         // isLuminance
4161         {false, false, false, false}, // Is normalized?
4162         {1.0f, 0, 0, 0},              // To float scale factor
4163         1,                            // bcWidth
4164         1,                            // bcHeight
4165     },
4166 
4167     // A32_FLOAT (0xE5)
4168     {
4169         "A32_FLOAT",
4170         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4171         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4172         {3, 0, 0, 0},                 // Swizzle
4173         {32, 0, 0, 0},                // Bits per component
4174         32,                           // Bits per element
4175         4,                            // Bytes per element
4176         1,                            // Num components
4177         false,                        // isSRGB
4178         false,                        // isBC
4179         false,                        // isSubsampled
4180         false,                        // isLuminance
4181         {false, false, false, false}, // Is normalized?
4182         {1.0f, 0, 0, 0},              // To float scale factor
4183         1,                            // bcWidth
4184         1,                            // bcHeight
4185     },
4186 
4187     // padding (0xE6)
4188     {nullptr,
4189      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4190      {0, 0, 0, 0},
4191      {0, 0, 0, 0},
4192      {0, 0, 0, 0},
4193      0,
4194      0,
4195      0,
4196      false,
4197      false,
4198      false,
4199      false,
4200      {false, false, false, false},
4201      {0.0f, 0.0f, 0.0f, 0.0f},
4202      1,
4203      1},
4204     // padding (0xE7)
4205     {nullptr,
4206      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4207      {0, 0, 0, 0},
4208      {0, 0, 0, 0},
4209      {0, 0, 0, 0},
4210      0,
4211      0,
4212      0,
4213      false,
4214      false,
4215      false,
4216      false,
4217      {false, false, false, false},
4218      {0.0f, 0.0f, 0.0f, 0.0f},
4219      1,
4220      1},
4221     // padding (0xE8)
4222     {nullptr,
4223      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4224      {0, 0, 0, 0},
4225      {0, 0, 0, 0},
4226      {0, 0, 0, 0},
4227      0,
4228      0,
4229      0,
4230      false,
4231      false,
4232      false,
4233      false,
4234      {false, false, false, false},
4235      {0.0f, 0.0f, 0.0f, 0.0f},
4236      1,
4237      1},
4238     // B8G8R8X8_UNORM (0xE9)
4239     {
4240         "B8G8R8X8_UNORM",
4241         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED},
4242         {0, 0, 0, 0x3f800000},                               // Defaults for missing components
4243         {2, 1, 0, 3},                                        // Swizzle
4244         {8, 8, 8, 8},                                        // Bits per component
4245         32,                                                  // Bits per element
4246         4,                                                   // Bytes per element
4247         4,                                                   // Num components
4248         false,                                               // isSRGB
4249         false,                                               // isBC
4250         false,                                               // isSubsampled
4251         false,                                               // isLuminance
4252         {true, true, true, false},                           // Is normalized?
4253         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f}, // To float scale factor
4254         1,                                                   // bcWidth
4255         1,                                                   // bcHeight
4256     },
4257 
4258     // B8G8R8X8_UNORM_SRGB (0xEA)
4259     {
4260         "B8G8R8X8_UNORM_SRGB",
4261         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED},
4262         {0, 0, 0, 0x3f800000},                               // Defaults for missing components
4263         {2, 1, 0, 3},                                        // Swizzle
4264         {8, 8, 8, 8},                                        // Bits per component
4265         32,                                                  // Bits per element
4266         4,                                                   // Bytes per element
4267         4,                                                   // Num components
4268         true,                                                // isSRGB
4269         false,                                               // isBC
4270         false,                                               // isSubsampled
4271         false,                                               // isLuminance
4272         {true, true, true, false},                           // Is normalized?
4273         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f}, // To float scale factor
4274         1,                                                   // bcWidth
4275         1,                                                   // bcHeight
4276     },
4277 
4278     // R8G8B8X8_UNORM (0xEB)
4279     {
4280         "R8G8B8X8_UNORM",
4281         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED},
4282         {0, 0, 0, 0x3f800000},                               // Defaults for missing components
4283         {0, 1, 2, 3},                                        // Swizzle
4284         {8, 8, 8, 8},                                        // Bits per component
4285         32,                                                  // Bits per element
4286         4,                                                   // Bytes per element
4287         4,                                                   // Num components
4288         false,                                               // isSRGB
4289         false,                                               // isBC
4290         false,                                               // isSubsampled
4291         false,                                               // isLuminance
4292         {true, true, true, false},                           // Is normalized?
4293         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f}, // To float scale factor
4294         1,                                                   // bcWidth
4295         1,                                                   // bcHeight
4296     },
4297 
4298     // R8G8B8X8_UNORM_SRGB (0xEC)
4299     {
4300         "R8G8B8X8_UNORM_SRGB",
4301         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED},
4302         {0, 0, 0, 0x3f800000},                               // Defaults for missing components
4303         {0, 1, 2, 3},                                        // Swizzle
4304         {8, 8, 8, 8},                                        // Bits per component
4305         32,                                                  // Bits per element
4306         4,                                                   // Bytes per element
4307         4,                                                   // Num components
4308         true,                                                // isSRGB
4309         false,                                               // isBC
4310         false,                                               // isSubsampled
4311         false,                                               // isLuminance
4312         {true, true, true, false},                           // Is normalized?
4313         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f}, // To float scale factor
4314         1,                                                   // bcWidth
4315         1,                                                   // bcHeight
4316     },
4317 
4318     // R9G9B9E5_SHAREDEXP (0xED)
4319     {
4320         "R9G9B9E5_SHAREDEXP",
4321         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
4322         {0, 0, 0, 0x1},               // Defaults for missing components
4323         {0, 1, 2, 3},                 // Swizzle
4324         {9, 9, 9, 5},                 // Bits per component
4325         32,                           // Bits per element
4326         4,                            // Bytes per element
4327         4,                            // Num components
4328         false,                        // isSRGB
4329         false,                        // isBC
4330         false,                        // isSubsampled
4331         false,                        // isLuminance
4332         {false, false, false, false}, // Is normalized?
4333         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
4334         1,                            // bcWidth
4335         1,                            // bcHeight
4336     },
4337 
4338     // B10G10R10X2_UNORM (0xEE)
4339     {
4340         "B10G10R10X2_UNORM",
4341         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED},
4342         {0, 0, 0, 0x3f800000},                                  // Defaults for missing components
4343         {2, 1, 0, 3},                                           // Swizzle
4344         {10, 10, 10, 2},                                        // Bits per component
4345         32,                                                     // Bits per element
4346         4,                                                      // Bytes per element
4347         4,                                                      // Num components
4348         false,                                                  // isSRGB
4349         false,                                                  // isBC
4350         false,                                                  // isSubsampled
4351         false,                                                  // isLuminance
4352         {true, true, true, false},                              // Is normalized?
4353         {1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f}, // To float scale factor
4354         1,                                                      // bcWidth
4355         1,                                                      // bcHeight
4356     },
4357 
4358     // padding (0xEF)
4359     {nullptr,
4360      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4361      {0, 0, 0, 0},
4362      {0, 0, 0, 0},
4363      {0, 0, 0, 0},
4364      0,
4365      0,
4366      0,
4367      false,
4368      false,
4369      false,
4370      false,
4371      {false, false, false, false},
4372      {0.0f, 0.0f, 0.0f, 0.0f},
4373      1,
4374      1},
4375     // L16A16_FLOAT (0xF0)
4376     {
4377         "L16A16_FLOAT",
4378         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4379         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4380         {0, 3, 0, 0},                 // Swizzle
4381         {16, 16, 0, 0},               // Bits per component
4382         32,                           // Bits per element
4383         4,                            // Bytes per element
4384         2,                            // Num components
4385         false,                        // isSRGB
4386         false,                        // isBC
4387         false,                        // isSubsampled
4388         true,                         // isLuminance
4389         {false, false, false, false}, // Is normalized?
4390         {1.0f, 1.0f, 0, 0},           // To float scale factor
4391         1,                            // bcWidth
4392         1,                            // bcHeight
4393     },
4394 
4395     // padding (0xF1)
4396     {nullptr,
4397      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4398      {0, 0, 0, 0},
4399      {0, 0, 0, 0},
4400      {0, 0, 0, 0},
4401      0,
4402      0,
4403      0,
4404      false,
4405      false,
4406      false,
4407      false,
4408      {false, false, false, false},
4409      {0.0f, 0.0f, 0.0f, 0.0f},
4410      1,
4411      1},
4412     // padding (0xF2)
4413     {nullptr,
4414      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4415      {0, 0, 0, 0},
4416      {0, 0, 0, 0},
4417      {0, 0, 0, 0},
4418      0,
4419      0,
4420      0,
4421      false,
4422      false,
4423      false,
4424      false,
4425      {false, false, false, false},
4426      {0.0f, 0.0f, 0.0f, 0.0f},
4427      1,
4428      1},
4429     // R10G10B10X2_USCALED (0xF3)
4430     {
4431         "R10G10B10X2_USCALED",
4432         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNUSED},
4433         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4434         {0, 1, 2, 3},                 // Swizzle
4435         {10, 10, 10, 2},              // Bits per component
4436         32,                           // Bits per element
4437         4,                            // Bytes per element
4438         4,                            // Num components
4439         false,                        // isSRGB
4440         false,                        // isBC
4441         false,                        // isSubsampled
4442         false,                        // isLuminance
4443         {false, false, false, false}, // Is normalized?
4444         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
4445         1,                            // bcWidth
4446         1,                            // bcHeight
4447     },
4448 
4449     // R8G8B8A8_SSCALED (0xF4)
4450     {
4451         "R8G8B8A8_SSCALED",
4452         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED},
4453         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4454         {0, 1, 2, 3},                 // Swizzle
4455         {8, 8, 8, 8},                 // Bits per component
4456         32,                           // Bits per element
4457         4,                            // Bytes per element
4458         4,                            // Num components
4459         false,                        // isSRGB
4460         false,                        // isBC
4461         false,                        // isSubsampled
4462         false,                        // isLuminance
4463         {false, false, false, false}, // Is normalized?
4464         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
4465         1,                            // bcWidth
4466         1,                            // bcHeight
4467     },
4468 
4469     // R8G8B8A8_USCALED (0xF5)
4470     {
4471         "R8G8B8A8_USCALED",
4472         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED},
4473         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4474         {0, 1, 2, 3},                 // Swizzle
4475         {8, 8, 8, 8},                 // Bits per component
4476         32,                           // Bits per element
4477         4,                            // Bytes per element
4478         4,                            // Num components
4479         false,                        // isSRGB
4480         false,                        // isBC
4481         false,                        // isSubsampled
4482         false,                        // isLuminance
4483         {false, false, false, false}, // Is normalized?
4484         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
4485         1,                            // bcWidth
4486         1,                            // bcHeight
4487     },
4488 
4489     // R16G16_SSCALED (0xF6)
4490     {
4491         "R16G16_SSCALED",
4492         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4493         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4494         {0, 1, 0, 0},                 // Swizzle
4495         {16, 16, 0, 0},               // Bits per component
4496         32,                           // Bits per element
4497         4,                            // Bytes per element
4498         2,                            // Num components
4499         false,                        // isSRGB
4500         false,                        // isBC
4501         false,                        // isSubsampled
4502         false,                        // isLuminance
4503         {false, false, false, false}, // Is normalized?
4504         {1.0f, 1.0f, 0, 0},           // To float scale factor
4505         1,                            // bcWidth
4506         1,                            // bcHeight
4507     },
4508 
4509     // R16G16_USCALED (0xF7)
4510     {
4511         "R16G16_USCALED",
4512         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4513         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4514         {0, 1, 0, 0},                 // Swizzle
4515         {16, 16, 0, 0},               // Bits per component
4516         32,                           // Bits per element
4517         4,                            // Bytes per element
4518         2,                            // Num components
4519         false,                        // isSRGB
4520         false,                        // isBC
4521         false,                        // isSubsampled
4522         false,                        // isLuminance
4523         {false, false, false, false}, // Is normalized?
4524         {1.0f, 1.0f, 0, 0},           // To float scale factor
4525         1,                            // bcWidth
4526         1,                            // bcHeight
4527     },
4528 
4529     // R32_SSCALED (0xF8)
4530     {
4531         "R32_SSCALED",
4532         {SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4533         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4534         {0, 0, 0, 0},                 // Swizzle
4535         {32, 0, 0, 0},                // Bits per component
4536         32,                           // Bits per element
4537         4,                            // Bytes per element
4538         1,                            // Num components
4539         false,                        // isSRGB
4540         false,                        // isBC
4541         false,                        // isSubsampled
4542         false,                        // isLuminance
4543         {false, false, false, false}, // Is normalized?
4544         {1.0f, 0, 0, 0},              // To float scale factor
4545         1,                            // bcWidth
4546         1,                            // bcHeight
4547     },
4548 
4549     // R32_USCALED (0xF9)
4550     {
4551         "R32_USCALED",
4552         {SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4553         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4554         {0, 0, 0, 0},                 // Swizzle
4555         {32, 0, 0, 0},                // Bits per component
4556         32,                           // Bits per element
4557         4,                            // Bytes per element
4558         1,                            // Num components
4559         false,                        // isSRGB
4560         false,                        // isBC
4561         false,                        // isSubsampled
4562         false,                        // isLuminance
4563         {false, false, false, false}, // Is normalized?
4564         {1.0f, 0, 0, 0},              // To float scale factor
4565         1,                            // bcWidth
4566         1,                            // bcHeight
4567     },
4568 
4569     // padding (0xFA)
4570     {nullptr,
4571      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4572      {0, 0, 0, 0},
4573      {0, 0, 0, 0},
4574      {0, 0, 0, 0},
4575      0,
4576      0,
4577      0,
4578      false,
4579      false,
4580      false,
4581      false,
4582      {false, false, false, false},
4583      {0.0f, 0.0f, 0.0f, 0.0f},
4584      1,
4585      1},
4586     // padding (0xFB)
4587     {nullptr,
4588      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4589      {0, 0, 0, 0},
4590      {0, 0, 0, 0},
4591      {0, 0, 0, 0},
4592      0,
4593      0,
4594      0,
4595      false,
4596      false,
4597      false,
4598      false,
4599      {false, false, false, false},
4600      {0.0f, 0.0f, 0.0f, 0.0f},
4601      1,
4602      1},
4603     // padding (0xFC)
4604     {nullptr,
4605      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4606      {0, 0, 0, 0},
4607      {0, 0, 0, 0},
4608      {0, 0, 0, 0},
4609      0,
4610      0,
4611      0,
4612      false,
4613      false,
4614      false,
4615      false,
4616      {false, false, false, false},
4617      {0.0f, 0.0f, 0.0f, 0.0f},
4618      1,
4619      1},
4620     // padding (0xFD)
4621     {nullptr,
4622      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4623      {0, 0, 0, 0},
4624      {0, 0, 0, 0},
4625      {0, 0, 0, 0},
4626      0,
4627      0,
4628      0,
4629      false,
4630      false,
4631      false,
4632      false,
4633      {false, false, false, false},
4634      {0.0f, 0.0f, 0.0f, 0.0f},
4635      1,
4636      1},
4637     // padding (0xFE)
4638     {nullptr,
4639      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4640      {0, 0, 0, 0},
4641      {0, 0, 0, 0},
4642      {0, 0, 0, 0},
4643      0,
4644      0,
4645      0,
4646      false,
4647      false,
4648      false,
4649      false,
4650      {false, false, false, false},
4651      {0.0f, 0.0f, 0.0f, 0.0f},
4652      1,
4653      1},
4654     // padding (0xFF)
4655     {nullptr,
4656      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4657      {0, 0, 0, 0},
4658      {0, 0, 0, 0},
4659      {0, 0, 0, 0},
4660      0,
4661      0,
4662      0,
4663      false,
4664      false,
4665      false,
4666      false,
4667      {false, false, false, false},
4668      {0.0f, 0.0f, 0.0f, 0.0f},
4669      1,
4670      1},
4671     // B5G6R5_UNORM (0x100)
4672     {
4673         "B5G6R5_UNORM",
4674         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN},
4675         {0, 0, 0, 0x3f800000},                         // Defaults for missing components
4676         {2, 1, 0, 0},                                  // Swizzle
4677         {5, 6, 5, 0},                                  // Bits per component
4678         16,                                            // Bits per element
4679         2,                                             // Bytes per element
4680         3,                                             // Num components
4681         false,                                         // isSRGB
4682         false,                                         // isBC
4683         false,                                         // isSubsampled
4684         false,                                         // isLuminance
4685         {true, true, true, false},                     // Is normalized?
4686         {1.0f / 31.0f, 1.0f / 63.0f, 1.0f / 31.0f, 0}, // To float scale factor
4687         1,                                             // bcWidth
4688         1,                                             // bcHeight
4689     },
4690 
4691     // B5G6R5_UNORM_SRGB (0x101)
4692     {
4693         "B5G6R5_UNORM_SRGB",
4694         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN},
4695         {0, 0, 0, 0x3f800000},                         // Defaults for missing components
4696         {2, 1, 0, 0},                                  // Swizzle
4697         {5, 6, 5, 0},                                  // Bits per component
4698         16,                                            // Bits per element
4699         2,                                             // Bytes per element
4700         3,                                             // Num components
4701         true,                                          // isSRGB
4702         false,                                         // isBC
4703         false,                                         // isSubsampled
4704         false,                                         // isLuminance
4705         {true, true, true, false},                     // Is normalized?
4706         {1.0f / 31.0f, 1.0f / 63.0f, 1.0f / 31.0f, 0}, // To float scale factor
4707         1,                                             // bcWidth
4708         1,                                             // bcHeight
4709     },
4710 
4711     // B5G5R5A1_UNORM (0x102)
4712     {
4713         "B5G5R5A1_UNORM",
4714         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
4715         {0, 0, 0, 0x3f800000},                                   // Defaults for missing components
4716         {2, 1, 0, 3},                                            // Swizzle
4717         {5, 5, 5, 1},                                            // Bits per component
4718         16,                                                      // Bits per element
4719         2,                                                       // Bytes per element
4720         4,                                                       // Num components
4721         false,                                                   // isSRGB
4722         false,                                                   // isBC
4723         false,                                                   // isSubsampled
4724         false,                                                   // isLuminance
4725         {true, true, true, true},                                // Is normalized?
4726         {1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 1.0f}, // To float scale factor
4727         1,                                                       // bcWidth
4728         1,                                                       // bcHeight
4729     },
4730 
4731     // B5G5R5A1_UNORM_SRGB (0x103)
4732     {
4733         "B5G5R5A1_UNORM_SRGB",
4734         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
4735         {0, 0, 0, 0x3f800000},                                   // Defaults for missing components
4736         {2, 1, 0, 3},                                            // Swizzle
4737         {5, 5, 5, 1},                                            // Bits per component
4738         16,                                                      // Bits per element
4739         2,                                                       // Bytes per element
4740         4,                                                       // Num components
4741         true,                                                    // isSRGB
4742         false,                                                   // isBC
4743         false,                                                   // isSubsampled
4744         false,                                                   // isLuminance
4745         {true, true, true, true},                                // Is normalized?
4746         {1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 1.0f}, // To float scale factor
4747         1,                                                       // bcWidth
4748         1,                                                       // bcHeight
4749     },
4750 
4751     // B4G4R4A4_UNORM (0x104)
4752     {
4753         "B4G4R4A4_UNORM",
4754         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
4755         {0, 0, 0, 0x3f800000},                                    // Defaults for missing components
4756         {2, 1, 0, 3},                                             // Swizzle
4757         {4, 4, 4, 4},                                             // Bits per component
4758         16,                                                       // Bits per element
4759         2,                                                        // Bytes per element
4760         4,                                                        // Num components
4761         false,                                                    // isSRGB
4762         false,                                                    // isBC
4763         false,                                                    // isSubsampled
4764         false,                                                    // isLuminance
4765         {true, true, true, true},                                 // Is normalized?
4766         {1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f}, // To float scale factor
4767         1,                                                        // bcWidth
4768         1,                                                        // bcHeight
4769     },
4770 
4771     // B4G4R4A4_UNORM_SRGB (0x105)
4772     {
4773         "B4G4R4A4_UNORM_SRGB",
4774         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
4775         {0, 0, 0, 0x3f800000},                                    // Defaults for missing components
4776         {2, 1, 0, 3},                                             // Swizzle
4777         {4, 4, 4, 4},                                             // Bits per component
4778         16,                                                       // Bits per element
4779         2,                                                        // Bytes per element
4780         4,                                                        // Num components
4781         true,                                                     // isSRGB
4782         false,                                                    // isBC
4783         false,                                                    // isSubsampled
4784         false,                                                    // isLuminance
4785         {true, true, true, true},                                 // Is normalized?
4786         {1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f}, // To float scale factor
4787         1,                                                        // bcWidth
4788         1,                                                        // bcHeight
4789     },
4790 
4791     // R8G8_UNORM (0x106)
4792     {
4793         "R8G8_UNORM",
4794         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4795         {0, 0, 0, 0x3f800000},                // Defaults for missing components
4796         {0, 1, 0, 0},                         // Swizzle
4797         {8, 8, 0, 0},                         // Bits per component
4798         16,                                   // Bits per element
4799         2,                                    // Bytes per element
4800         2,                                    // Num components
4801         false,                                // isSRGB
4802         false,                                // isBC
4803         false,                                // isSubsampled
4804         false,                                // isLuminance
4805         {true, true, false, false},           // Is normalized?
4806         {1.0f / 255.0f, 1.0f / 255.0f, 0, 0}, // To float scale factor
4807         1,                                    // bcWidth
4808         1,                                    // bcHeight
4809     },
4810 
4811     // R8G8_SNORM (0x107)
4812     {
4813         "R8G8_SNORM",
4814         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4815         {0, 0, 0, 0x3f800000},                // Defaults for missing components
4816         {0, 1, 0, 0},                         // Swizzle
4817         {8, 8, 0, 0},                         // Bits per component
4818         16,                                   // Bits per element
4819         2,                                    // Bytes per element
4820         2,                                    // Num components
4821         false,                                // isSRGB
4822         false,                                // isBC
4823         false,                                // isSubsampled
4824         false,                                // isLuminance
4825         {true, true, false, false},           // Is normalized?
4826         {1.0f / 127.0f, 1.0f / 127.0f, 0, 0}, // To float scale factor
4827         1,                                    // bcWidth
4828         1,                                    // bcHeight
4829     },
4830 
4831     // R8G8_SINT (0x108)
4832     {
4833         "R8G8_SINT",
4834         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4835         {0, 0, 0, 0x1},               // Defaults for missing components
4836         {0, 1, 0, 0},                 // Swizzle
4837         {8, 8, 0, 0},                 // Bits per component
4838         16,                           // Bits per element
4839         2,                            // Bytes per element
4840         2,                            // Num components
4841         false,                        // isSRGB
4842         false,                        // isBC
4843         false,                        // isSubsampled
4844         false,                        // isLuminance
4845         {false, false, false, false}, // Is normalized?
4846         {1.0f, 1.0f, 0, 0},           // To float scale factor
4847         1,                            // bcWidth
4848         1,                            // bcHeight
4849     },
4850 
4851     // R8G8_UINT (0x109)
4852     {
4853         "R8G8_UINT",
4854         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4855         {0, 0, 0, 0x1},               // Defaults for missing components
4856         {0, 1, 0, 0},                 // Swizzle
4857         {8, 8, 0, 0},                 // Bits per component
4858         16,                           // Bits per element
4859         2,                            // Bytes per element
4860         2,                            // Num components
4861         false,                        // isSRGB
4862         false,                        // isBC
4863         false,                        // isSubsampled
4864         false,                        // isLuminance
4865         {false, false, false, false}, // Is normalized?
4866         {1.0f, 1.0f, 0, 0},           // To float scale factor
4867         1,                            // bcWidth
4868         1,                            // bcHeight
4869     },
4870 
4871     // R16_UNORM (0x10A)
4872     {
4873         "R16_UNORM",
4874         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4875         {0, 0, 0, 0x3f800000},       // Defaults for missing components
4876         {0, 0, 0, 0},                // Swizzle
4877         {16, 0, 0, 0},               // Bits per component
4878         16,                          // Bits per element
4879         2,                           // Bytes per element
4880         1,                           // Num components
4881         false,                       // isSRGB
4882         false,                       // isBC
4883         false,                       // isSubsampled
4884         false,                       // isLuminance
4885         {true, false, false, false}, // Is normalized?
4886         {1.0f / 65535.0f, 0, 0, 0},  // To float scale factor
4887         1,                           // bcWidth
4888         1,                           // bcHeight
4889     },
4890 
4891     // R16_SNORM (0x10B)
4892     {
4893         "R16_SNORM",
4894         {SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4895         {0, 0, 0, 0x3f800000},       // Defaults for missing components
4896         {0, 0, 0, 0},                // Swizzle
4897         {16, 0, 0, 0},               // Bits per component
4898         16,                          // Bits per element
4899         2,                           // Bytes per element
4900         1,                           // Num components
4901         false,                       // isSRGB
4902         false,                       // isBC
4903         false,                       // isSubsampled
4904         false,                       // isLuminance
4905         {true, false, false, false}, // Is normalized?
4906         {1.0f / 32767.0f, 0, 0, 0},  // To float scale factor
4907         1,                           // bcWidth
4908         1,                           // bcHeight
4909     },
4910 
4911     // R16_SINT (0x10C)
4912     {
4913         "R16_SINT",
4914         {SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4915         {0, 0, 0, 0x1},               // Defaults for missing components
4916         {0, 0, 0, 0},                 // Swizzle
4917         {16, 0, 0, 0},                // Bits per component
4918         16,                           // Bits per element
4919         2,                            // Bytes per element
4920         1,                            // Num components
4921         false,                        // isSRGB
4922         false,                        // isBC
4923         false,                        // isSubsampled
4924         false,                        // isLuminance
4925         {false, false, false, false}, // Is normalized?
4926         {1.0f, 0, 0, 0},              // To float scale factor
4927         1,                            // bcWidth
4928         1,                            // bcHeight
4929     },
4930 
4931     // R16_UINT (0x10D)
4932     {
4933         "R16_UINT",
4934         {SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4935         {0, 0, 0, 0x1},               // Defaults for missing components
4936         {0, 0, 0, 0},                 // Swizzle
4937         {16, 0, 0, 0},                // Bits per component
4938         16,                           // Bits per element
4939         2,                            // Bytes per element
4940         1,                            // Num components
4941         false,                        // isSRGB
4942         false,                        // isBC
4943         false,                        // isSubsampled
4944         false,                        // isLuminance
4945         {false, false, false, false}, // Is normalized?
4946         {1.0f, 0, 0, 0},              // To float scale factor
4947         1,                            // bcWidth
4948         1,                            // bcHeight
4949     },
4950 
4951     // R16_FLOAT (0x10E)
4952     {
4953         "R16_FLOAT",
4954         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4955         {0, 0, 0, 0x3f800000},        // Defaults for missing components
4956         {0, 0, 0, 0},                 // Swizzle
4957         {16, 0, 0, 0},                // Bits per component
4958         16,                           // Bits per element
4959         2,                            // Bytes per element
4960         1,                            // Num components
4961         false,                        // isSRGB
4962         false,                        // isBC
4963         false,                        // isSubsampled
4964         false,                        // isLuminance
4965         {false, false, false, false}, // Is normalized?
4966         {1.0f, 0, 0, 0},              // To float scale factor
4967         1,                            // bcWidth
4968         1,                            // bcHeight
4969     },
4970 
4971     // padding (0x10F)
4972     {nullptr,
4973      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4974      {0, 0, 0, 0},
4975      {0, 0, 0, 0},
4976      {0, 0, 0, 0},
4977      0,
4978      0,
4979      0,
4980      false,
4981      false,
4982      false,
4983      false,
4984      {false, false, false, false},
4985      {0.0f, 0.0f, 0.0f, 0.0f},
4986      1,
4987      1},
4988     // padding (0x110)
4989     {nullptr,
4990      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
4991      {0, 0, 0, 0},
4992      {0, 0, 0, 0},
4993      {0, 0, 0, 0},
4994      0,
4995      0,
4996      0,
4997      false,
4998      false,
4999      false,
5000      false,
5001      {false, false, false, false},
5002      {0.0f, 0.0f, 0.0f, 0.0f},
5003      1,
5004      1},
5005     // I16_UNORM (0x111)
5006     {
5007         "I16_UNORM",
5008         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5009         {0, 0, 0, 0x3f800000},       // Defaults for missing components
5010         {0, 0, 0, 0},                // Swizzle
5011         {16, 0, 0, 0},               // Bits per component
5012         16,                          // Bits per element
5013         2,                           // Bytes per element
5014         1,                           // Num components
5015         false,                       // isSRGB
5016         false,                       // isBC
5017         false,                       // isSubsampled
5018         true,                        // isLuminance
5019         {true, false, false, false}, // Is normalized?
5020         {1.0f / 65535.0f, 0, 0, 0},  // To float scale factor
5021         1,                           // bcWidth
5022         1,                           // bcHeight
5023     },
5024 
5025     // L16_UNORM (0x112)
5026     {
5027         "L16_UNORM",
5028         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5029         {0, 0, 0, 0x3f800000},       // Defaults for missing components
5030         {0, 0, 0, 0},                // Swizzle
5031         {16, 0, 0, 0},               // Bits per component
5032         16,                          // Bits per element
5033         2,                           // Bytes per element
5034         1,                           // Num components
5035         false,                       // isSRGB
5036         false,                       // isBC
5037         false,                       // isSubsampled
5038         true,                        // isLuminance
5039         {true, false, false, false}, // Is normalized?
5040         {1.0f / 65535.0f, 0, 0, 0},  // To float scale factor
5041         1,                           // bcWidth
5042         1,                           // bcHeight
5043     },
5044 
5045     // A16_UNORM (0x113)
5046     {
5047         "A16_UNORM",
5048         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5049         {0, 0, 0, 0x3f800000},       // Defaults for missing components
5050         {3, 0, 0, 0},                // Swizzle
5051         {16, 0, 0, 0},               // Bits per component
5052         16,                          // Bits per element
5053         2,                           // Bytes per element
5054         1,                           // Num components
5055         false,                       // isSRGB
5056         false,                       // isBC
5057         false,                       // isSubsampled
5058         false,                       // isLuminance
5059         {true, false, false, false}, // Is normalized?
5060         {1.0f / 65535.0f, 0, 0, 0},  // To float scale factor
5061         1,                           // bcWidth
5062         1,                           // bcHeight
5063     },
5064 
5065     // L8A8_UNORM (0x114)
5066     {
5067         "L8A8_UNORM",
5068         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5069         {0, 0, 0, 0x3f800000},                // Defaults for missing components
5070         {0, 3, 0, 0},                         // Swizzle
5071         {8, 8, 0, 0},                         // Bits per component
5072         16,                                   // Bits per element
5073         2,                                    // Bytes per element
5074         2,                                    // Num components
5075         false,                                // isSRGB
5076         false,                                // isBC
5077         false,                                // isSubsampled
5078         true,                                 // isLuminance
5079         {true, true, false, false},           // Is normalized?
5080         {1.0f / 255.0f, 1.0f / 255.0f, 0, 0}, // To float scale factor
5081         1,                                    // bcWidth
5082         1,                                    // bcHeight
5083     },
5084 
5085     // I16_FLOAT (0x115)
5086     {
5087         "I16_FLOAT",
5088         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5089         {0, 0, 0, 0x3f800000},        // Defaults for missing components
5090         {0, 0, 0, 0},                 // Swizzle
5091         {16, 0, 0, 0},                // Bits per component
5092         16,                           // Bits per element
5093         2,                            // Bytes per element
5094         1,                            // Num components
5095         false,                        // isSRGB
5096         false,                        // isBC
5097         false,                        // isSubsampled
5098         true,                         // isLuminance
5099         {false, false, false, false}, // Is normalized?
5100         {1.0f, 0, 0, 0},              // To float scale factor
5101         1,                            // bcWidth
5102         1,                            // bcHeight
5103     },
5104 
5105     // L16_FLOAT (0x116)
5106     {
5107         "L16_FLOAT",
5108         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5109         {0, 0, 0, 0x3f800000},        // Defaults for missing components
5110         {0, 0, 0, 0},                 // Swizzle
5111         {16, 0, 0, 0},                // Bits per component
5112         16,                           // Bits per element
5113         2,                            // Bytes per element
5114         1,                            // Num components
5115         false,                        // isSRGB
5116         false,                        // isBC
5117         false,                        // isSubsampled
5118         true,                         // isLuminance
5119         {false, false, false, false}, // Is normalized?
5120         {1.0f, 0, 0, 0},              // To float scale factor
5121         1,                            // bcWidth
5122         1,                            // bcHeight
5123     },
5124 
5125     // A16_FLOAT (0x117)
5126     {
5127         "A16_FLOAT",
5128         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5129         {0, 0, 0, 0x3f800000},        // Defaults for missing components
5130         {3, 0, 0, 0},                 // Swizzle
5131         {16, 0, 0, 0},                // Bits per component
5132         16,                           // Bits per element
5133         2,                            // Bytes per element
5134         1,                            // Num components
5135         false,                        // isSRGB
5136         false,                        // isBC
5137         false,                        // isSubsampled
5138         false,                        // isLuminance
5139         {false, false, false, false}, // Is normalized?
5140         {1.0f, 0, 0, 0},              // To float scale factor
5141         1,                            // bcWidth
5142         1,                            // bcHeight
5143     },
5144 
5145     // L8A8_UNORM_SRGB (0x118)
5146     {
5147         "L8A8_UNORM_SRGB",
5148         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5149         {0, 0, 0, 0x3f800000},                // Defaults for missing components
5150         {0, 3, 0, 0},                         // Swizzle
5151         {8, 8, 0, 0},                         // Bits per component
5152         16,                                   // Bits per element
5153         2,                                    // Bytes per element
5154         2,                                    // Num components
5155         true,                                 // isSRGB
5156         false,                                // isBC
5157         false,                                // isSubsampled
5158         true,                                 // isLuminance
5159         {true, true, false, false},           // Is normalized?
5160         {1.0f / 255.0f, 1.0f / 255.0f, 0, 0}, // To float scale factor
5161         1,                                    // bcWidth
5162         1,                                    // bcHeight
5163     },
5164 
5165     // padding (0x119)
5166     {nullptr,
5167      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5168      {0, 0, 0, 0},
5169      {0, 0, 0, 0},
5170      {0, 0, 0, 0},
5171      0,
5172      0,
5173      0,
5174      false,
5175      false,
5176      false,
5177      false,
5178      {false, false, false, false},
5179      {0.0f, 0.0f, 0.0f, 0.0f},
5180      1,
5181      1},
5182     // B5G5R5X1_UNORM (0x11A)
5183     {
5184         "B5G5R5X1_UNORM",
5185         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED},
5186         {0, 0, 0, 0x3f800000},                            // Defaults for missing components
5187         {2, 1, 0, 3},                                     // Swizzle
5188         {5, 5, 5, 1},                                     // Bits per component
5189         16,                                               // Bits per element
5190         2,                                                // Bytes per element
5191         4,                                                // Num components
5192         false,                                            // isSRGB
5193         false,                                            // isBC
5194         false,                                            // isSubsampled
5195         false,                                            // isLuminance
5196         {true, true, true, false},                        // Is normalized?
5197         {1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f}, // To float scale factor
5198         1,                                                // bcWidth
5199         1,                                                // bcHeight
5200     },
5201 
5202     // B5G5R5X1_UNORM_SRGB (0x11B)
5203     {
5204         "B5G5R5X1_UNORM_SRGB",
5205         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED},
5206         {0, 0, 0, 0x3f800000},                            // Defaults for missing components
5207         {2, 1, 0, 3},                                     // Swizzle
5208         {5, 5, 5, 1},                                     // Bits per component
5209         16,                                               // Bits per element
5210         2,                                                // Bytes per element
5211         4,                                                // Num components
5212         true,                                             // isSRGB
5213         false,                                            // isBC
5214         false,                                            // isSubsampled
5215         false,                                            // isLuminance
5216         {true, true, true, false},                        // Is normalized?
5217         {1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f}, // To float scale factor
5218         1,                                                // bcWidth
5219         1,                                                // bcHeight
5220     },
5221 
5222     // R8G8_SSCALED (0x11C)
5223     {
5224         "R8G8_SSCALED",
5225         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5226         {0, 0, 0, 0x3f800000},        // Defaults for missing components
5227         {0, 1, 0, 0},                 // Swizzle
5228         {8, 8, 0, 0},                 // Bits per component
5229         16,                           // Bits per element
5230         2,                            // Bytes per element
5231         2,                            // Num components
5232         false,                        // isSRGB
5233         false,                        // isBC
5234         false,                        // isSubsampled
5235         false,                        // isLuminance
5236         {false, false, false, false}, // Is normalized?
5237         {1.0f, 1.0f, 0, 0},           // To float scale factor
5238         1,                            // bcWidth
5239         1,                            // bcHeight
5240     },
5241 
5242     // R8G8_USCALED (0x11D)
5243     {
5244         "R8G8_USCALED",
5245         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5246         {0, 0, 0, 0x3f800000},        // Defaults for missing components
5247         {0, 1, 0, 0},                 // Swizzle
5248         {8, 8, 0, 0},                 // Bits per component
5249         16,                           // Bits per element
5250         2,                            // Bytes per element
5251         2,                            // Num components
5252         false,                        // isSRGB
5253         false,                        // isBC
5254         false,                        // isSubsampled
5255         false,                        // isLuminance
5256         {false, false, false, false}, // Is normalized?
5257         {1.0f, 1.0f, 0, 0},           // To float scale factor
5258         1,                            // bcWidth
5259         1,                            // bcHeight
5260     },
5261 
5262     // R16_SSCALED (0x11E)
5263     {
5264         "R16_SSCALED",
5265         {SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5266         {0, 0, 0, 0x3f800000},        // Defaults for missing components
5267         {0, 0, 0, 0},                 // Swizzle
5268         {16, 0, 0, 0},                // Bits per component
5269         16,                           // Bits per element
5270         2,                            // Bytes per element
5271         1,                            // Num components
5272         false,                        // isSRGB
5273         false,                        // isBC
5274         false,                        // isSubsampled
5275         false,                        // isLuminance
5276         {false, false, false, false}, // Is normalized?
5277         {1.0f, 0, 0, 0},              // To float scale factor
5278         1,                            // bcWidth
5279         1,                            // bcHeight
5280     },
5281 
5282     // R16_USCALED (0x11F)
5283     {
5284         "R16_USCALED",
5285         {SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5286         {0, 0, 0, 0x3f800000},        // Defaults for missing components
5287         {0, 0, 0, 0},                 // Swizzle
5288         {16, 0, 0, 0},                // Bits per component
5289         16,                           // Bits per element
5290         2,                            // Bytes per element
5291         1,                            // Num components
5292         false,                        // isSRGB
5293         false,                        // isBC
5294         false,                        // isSubsampled
5295         false,                        // isLuminance
5296         {false, false, false, false}, // Is normalized?
5297         {1.0f, 0, 0, 0},              // To float scale factor
5298         1,                            // bcWidth
5299         1,                            // bcHeight
5300     },
5301 
5302     // padding (0x120)
5303     {nullptr,
5304      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5305      {0, 0, 0, 0},
5306      {0, 0, 0, 0},
5307      {0, 0, 0, 0},
5308      0,
5309      0,
5310      0,
5311      false,
5312      false,
5313      false,
5314      false,
5315      {false, false, false, false},
5316      {0.0f, 0.0f, 0.0f, 0.0f},
5317      1,
5318      1},
5319     // padding (0x121)
5320     {nullptr,
5321      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5322      {0, 0, 0, 0},
5323      {0, 0, 0, 0},
5324      {0, 0, 0, 0},
5325      0,
5326      0,
5327      0,
5328      false,
5329      false,
5330      false,
5331      false,
5332      {false, false, false, false},
5333      {0.0f, 0.0f, 0.0f, 0.0f},
5334      1,
5335      1},
5336     // padding (0x122)
5337     {nullptr,
5338      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5339      {0, 0, 0, 0},
5340      {0, 0, 0, 0},
5341      {0, 0, 0, 0},
5342      0,
5343      0,
5344      0,
5345      false,
5346      false,
5347      false,
5348      false,
5349      {false, false, false, false},
5350      {0.0f, 0.0f, 0.0f, 0.0f},
5351      1,
5352      1},
5353     // padding (0x123)
5354     {nullptr,
5355      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5356      {0, 0, 0, 0},
5357      {0, 0, 0, 0},
5358      {0, 0, 0, 0},
5359      0,
5360      0,
5361      0,
5362      false,
5363      false,
5364      false,
5365      false,
5366      {false, false, false, false},
5367      {0.0f, 0.0f, 0.0f, 0.0f},
5368      1,
5369      1},
5370     // A1B5G5R5_UNORM (0x124)
5371     {
5372         "A1B5G5R5_UNORM",
5373         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
5374         {0, 0, 0, 0x3f800000},                                   // Defaults for missing components
5375         {3, 2, 1, 0},                                            // Swizzle
5376         {1, 5, 5, 5},                                            // Bits per component
5377         16,                                                      // Bits per element
5378         2,                                                       // Bytes per element
5379         4,                                                       // Num components
5380         false,                                                   // isSRGB
5381         false,                                                   // isBC
5382         false,                                                   // isSubsampled
5383         false,                                                   // isLuminance
5384         {true, true, true, true},                                // Is normalized?
5385         {1.0f / 1.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f}, // To float scale factor
5386         1,                                                       // bcWidth
5387         1,                                                       // bcHeight
5388     },
5389 
5390     // A4B4G4R4_UNORM (0x125)
5391     {
5392         "A4B4G4R4_UNORM",
5393         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
5394         {0, 0, 0, 0x3f800000},                                    // Defaults for missing components
5395         {3, 2, 1, 0},                                             // Swizzle
5396         {4, 4, 4, 4},                                             // Bits per component
5397         16,                                                       // Bits per element
5398         2,                                                        // Bytes per element
5399         4,                                                        // Num components
5400         false,                                                    // isSRGB
5401         false,                                                    // isBC
5402         false,                                                    // isSubsampled
5403         false,                                                    // isLuminance
5404         {true, true, true, true},                                 // Is normalized?
5405         {1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f}, // To float scale factor
5406         1,                                                        // bcWidth
5407         1,                                                        // bcHeight
5408     },
5409 
5410     // L8A8_UINT (0x126)
5411     {
5412         "L8A8_UINT",
5413         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5414         {0, 0, 0, 0x1},               // Defaults for missing components
5415         {0, 3, 0, 0},                 // Swizzle
5416         {8, 8, 0, 0},                 // Bits per component
5417         16,                           // Bits per element
5418         2,                            // Bytes per element
5419         2,                            // Num components
5420         false,                        // isSRGB
5421         false,                        // isBC
5422         false,                        // isSubsampled
5423         true,                         // isLuminance
5424         {false, false, false, false}, // Is normalized?
5425         {1.0f, 1.0f, 0, 0},           // To float scale factor
5426         1,                            // bcWidth
5427         1,                            // bcHeight
5428     },
5429 
5430     // L8A8_SINT (0x127)
5431     {
5432         "L8A8_SINT",
5433         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5434         {0, 0, 0, 0x1},               // Defaults for missing components
5435         {0, 3, 0, 0},                 // Swizzle
5436         {8, 8, 0, 0},                 // Bits per component
5437         16,                           // Bits per element
5438         2,                            // Bytes per element
5439         2,                            // Num components
5440         false,                        // isSRGB
5441         false,                        // isBC
5442         false,                        // isSubsampled
5443         true,                         // isLuminance
5444         {false, false, false, false}, // Is normalized?
5445         {1.0f, 1.0f, 0, 0},           // To float scale factor
5446         1,                            // bcWidth
5447         1,                            // bcHeight
5448     },
5449 
5450     // padding (0x128)
5451     {nullptr,
5452      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5453      {0, 0, 0, 0},
5454      {0, 0, 0, 0},
5455      {0, 0, 0, 0},
5456      0,
5457      0,
5458      0,
5459      false,
5460      false,
5461      false,
5462      false,
5463      {false, false, false, false},
5464      {0.0f, 0.0f, 0.0f, 0.0f},
5465      1,
5466      1},
5467     // padding (0x129)
5468     {nullptr,
5469      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5470      {0, 0, 0, 0},
5471      {0, 0, 0, 0},
5472      {0, 0, 0, 0},
5473      0,
5474      0,
5475      0,
5476      false,
5477      false,
5478      false,
5479      false,
5480      {false, false, false, false},
5481      {0.0f, 0.0f, 0.0f, 0.0f},
5482      1,
5483      1},
5484     // padding (0x12A)
5485     {nullptr,
5486      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5487      {0, 0, 0, 0},
5488      {0, 0, 0, 0},
5489      {0, 0, 0, 0},
5490      0,
5491      0,
5492      0,
5493      false,
5494      false,
5495      false,
5496      false,
5497      {false, false, false, false},
5498      {0.0f, 0.0f, 0.0f, 0.0f},
5499      1,
5500      1},
5501     // padding (0x12B)
5502     {nullptr,
5503      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5504      {0, 0, 0, 0},
5505      {0, 0, 0, 0},
5506      {0, 0, 0, 0},
5507      0,
5508      0,
5509      0,
5510      false,
5511      false,
5512      false,
5513      false,
5514      {false, false, false, false},
5515      {0.0f, 0.0f, 0.0f, 0.0f},
5516      1,
5517      1},
5518     // padding (0x12C)
5519     {nullptr,
5520      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5521      {0, 0, 0, 0},
5522      {0, 0, 0, 0},
5523      {0, 0, 0, 0},
5524      0,
5525      0,
5526      0,
5527      false,
5528      false,
5529      false,
5530      false,
5531      {false, false, false, false},
5532      {0.0f, 0.0f, 0.0f, 0.0f},
5533      1,
5534      1},
5535     // padding (0x12D)
5536     {nullptr,
5537      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5538      {0, 0, 0, 0},
5539      {0, 0, 0, 0},
5540      {0, 0, 0, 0},
5541      0,
5542      0,
5543      0,
5544      false,
5545      false,
5546      false,
5547      false,
5548      {false, false, false, false},
5549      {0.0f, 0.0f, 0.0f, 0.0f},
5550      1,
5551      1},
5552     // padding (0x12E)
5553     {nullptr,
5554      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5555      {0, 0, 0, 0},
5556      {0, 0, 0, 0},
5557      {0, 0, 0, 0},
5558      0,
5559      0,
5560      0,
5561      false,
5562      false,
5563      false,
5564      false,
5565      {false, false, false, false},
5566      {0.0f, 0.0f, 0.0f, 0.0f},
5567      1,
5568      1},
5569     // padding (0x12F)
5570     {nullptr,
5571      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5572      {0, 0, 0, 0},
5573      {0, 0, 0, 0},
5574      {0, 0, 0, 0},
5575      0,
5576      0,
5577      0,
5578      false,
5579      false,
5580      false,
5581      false,
5582      {false, false, false, false},
5583      {0.0f, 0.0f, 0.0f, 0.0f},
5584      1,
5585      1},
5586     // padding (0x130)
5587     {nullptr,
5588      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5589      {0, 0, 0, 0},
5590      {0, 0, 0, 0},
5591      {0, 0, 0, 0},
5592      0,
5593      0,
5594      0,
5595      false,
5596      false,
5597      false,
5598      false,
5599      {false, false, false, false},
5600      {0.0f, 0.0f, 0.0f, 0.0f},
5601      1,
5602      1},
5603     // padding (0x131)
5604     {nullptr,
5605      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5606      {0, 0, 0, 0},
5607      {0, 0, 0, 0},
5608      {0, 0, 0, 0},
5609      0,
5610      0,
5611      0,
5612      false,
5613      false,
5614      false,
5615      false,
5616      {false, false, false, false},
5617      {0.0f, 0.0f, 0.0f, 0.0f},
5618      1,
5619      1},
5620     // padding (0x132)
5621     {nullptr,
5622      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5623      {0, 0, 0, 0},
5624      {0, 0, 0, 0},
5625      {0, 0, 0, 0},
5626      0,
5627      0,
5628      0,
5629      false,
5630      false,
5631      false,
5632      false,
5633      {false, false, false, false},
5634      {0.0f, 0.0f, 0.0f, 0.0f},
5635      1,
5636      1},
5637     // padding (0x133)
5638     {nullptr,
5639      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5640      {0, 0, 0, 0},
5641      {0, 0, 0, 0},
5642      {0, 0, 0, 0},
5643      0,
5644      0,
5645      0,
5646      false,
5647      false,
5648      false,
5649      false,
5650      {false, false, false, false},
5651      {0.0f, 0.0f, 0.0f, 0.0f},
5652      1,
5653      1},
5654     // padding (0x134)
5655     {nullptr,
5656      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5657      {0, 0, 0, 0},
5658      {0, 0, 0, 0},
5659      {0, 0, 0, 0},
5660      0,
5661      0,
5662      0,
5663      false,
5664      false,
5665      false,
5666      false,
5667      {false, false, false, false},
5668      {0.0f, 0.0f, 0.0f, 0.0f},
5669      1,
5670      1},
5671     // padding (0x135)
5672     {nullptr,
5673      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5674      {0, 0, 0, 0},
5675      {0, 0, 0, 0},
5676      {0, 0, 0, 0},
5677      0,
5678      0,
5679      0,
5680      false,
5681      false,
5682      false,
5683      false,
5684      {false, false, false, false},
5685      {0.0f, 0.0f, 0.0f, 0.0f},
5686      1,
5687      1},
5688     // padding (0x136)
5689     {nullptr,
5690      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5691      {0, 0, 0, 0},
5692      {0, 0, 0, 0},
5693      {0, 0, 0, 0},
5694      0,
5695      0,
5696      0,
5697      false,
5698      false,
5699      false,
5700      false,
5701      {false, false, false, false},
5702      {0.0f, 0.0f, 0.0f, 0.0f},
5703      1,
5704      1},
5705     // padding (0x137)
5706     {nullptr,
5707      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5708      {0, 0, 0, 0},
5709      {0, 0, 0, 0},
5710      {0, 0, 0, 0},
5711      0,
5712      0,
5713      0,
5714      false,
5715      false,
5716      false,
5717      false,
5718      {false, false, false, false},
5719      {0.0f, 0.0f, 0.0f, 0.0f},
5720      1,
5721      1},
5722     // padding (0x138)
5723     {nullptr,
5724      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5725      {0, 0, 0, 0},
5726      {0, 0, 0, 0},
5727      {0, 0, 0, 0},
5728      0,
5729      0,
5730      0,
5731      false,
5732      false,
5733      false,
5734      false,
5735      {false, false, false, false},
5736      {0.0f, 0.0f, 0.0f, 0.0f},
5737      1,
5738      1},
5739     // padding (0x139)
5740     {nullptr,
5741      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5742      {0, 0, 0, 0},
5743      {0, 0, 0, 0},
5744      {0, 0, 0, 0},
5745      0,
5746      0,
5747      0,
5748      false,
5749      false,
5750      false,
5751      false,
5752      {false, false, false, false},
5753      {0.0f, 0.0f, 0.0f, 0.0f},
5754      1,
5755      1},
5756     // padding (0x13A)
5757     {nullptr,
5758      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5759      {0, 0, 0, 0},
5760      {0, 0, 0, 0},
5761      {0, 0, 0, 0},
5762      0,
5763      0,
5764      0,
5765      false,
5766      false,
5767      false,
5768      false,
5769      {false, false, false, false},
5770      {0.0f, 0.0f, 0.0f, 0.0f},
5771      1,
5772      1},
5773     // padding (0x13B)
5774     {nullptr,
5775      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5776      {0, 0, 0, 0},
5777      {0, 0, 0, 0},
5778      {0, 0, 0, 0},
5779      0,
5780      0,
5781      0,
5782      false,
5783      false,
5784      false,
5785      false,
5786      {false, false, false, false},
5787      {0.0f, 0.0f, 0.0f, 0.0f},
5788      1,
5789      1},
5790     // padding (0x13C)
5791     {nullptr,
5792      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5793      {0, 0, 0, 0},
5794      {0, 0, 0, 0},
5795      {0, 0, 0, 0},
5796      0,
5797      0,
5798      0,
5799      false,
5800      false,
5801      false,
5802      false,
5803      {false, false, false, false},
5804      {0.0f, 0.0f, 0.0f, 0.0f},
5805      1,
5806      1},
5807     // padding (0x13D)
5808     {nullptr,
5809      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5810      {0, 0, 0, 0},
5811      {0, 0, 0, 0},
5812      {0, 0, 0, 0},
5813      0,
5814      0,
5815      0,
5816      false,
5817      false,
5818      false,
5819      false,
5820      {false, false, false, false},
5821      {0.0f, 0.0f, 0.0f, 0.0f},
5822      1,
5823      1},
5824     // padding (0x13E)
5825     {nullptr,
5826      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5827      {0, 0, 0, 0},
5828      {0, 0, 0, 0},
5829      {0, 0, 0, 0},
5830      0,
5831      0,
5832      0,
5833      false,
5834      false,
5835      false,
5836      false,
5837      {false, false, false, false},
5838      {0.0f, 0.0f, 0.0f, 0.0f},
5839      1,
5840      1},
5841     // padding (0x13F)
5842     {nullptr,
5843      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5844      {0, 0, 0, 0},
5845      {0, 0, 0, 0},
5846      {0, 0, 0, 0},
5847      0,
5848      0,
5849      0,
5850      false,
5851      false,
5852      false,
5853      false,
5854      {false, false, false, false},
5855      {0.0f, 0.0f, 0.0f, 0.0f},
5856      1,
5857      1},
5858     // R8_UNORM (0x140)
5859     {
5860         "R8_UNORM",
5861         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5862         {0, 0, 0, 0x3f800000},       // Defaults for missing components
5863         {0, 0, 0, 0},                // Swizzle
5864         {8, 0, 0, 0},                // Bits per component
5865         8,                           // Bits per element
5866         1,                           // Bytes per element
5867         1,                           // Num components
5868         false,                       // isSRGB
5869         false,                       // isBC
5870         false,                       // isSubsampled
5871         false,                       // isLuminance
5872         {true, false, false, false}, // Is normalized?
5873         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
5874         1,                           // bcWidth
5875         1,                           // bcHeight
5876     },
5877 
5878     // R8_SNORM (0x141)
5879     {
5880         "R8_SNORM",
5881         {SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5882         {0, 0, 0, 0x3f800000},       // Defaults for missing components
5883         {0, 0, 0, 0},                // Swizzle
5884         {8, 0, 0, 0},                // Bits per component
5885         8,                           // Bits per element
5886         1,                           // Bytes per element
5887         1,                           // Num components
5888         false,                       // isSRGB
5889         false,                       // isBC
5890         false,                       // isSubsampled
5891         false,                       // isLuminance
5892         {true, false, false, false}, // Is normalized?
5893         {1.0f / 127.0f, 0, 0, 0},    // To float scale factor
5894         1,                           // bcWidth
5895         1,                           // bcHeight
5896     },
5897 
5898     // R8_SINT (0x142)
5899     {
5900         "R8_SINT",
5901         {SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5902         {0, 0, 0, 0x1},               // Defaults for missing components
5903         {0, 0, 0, 0},                 // Swizzle
5904         {8, 0, 0, 0},                 // Bits per component
5905         8,                            // Bits per element
5906         1,                            // Bytes per element
5907         1,                            // Num components
5908         false,                        // isSRGB
5909         false,                        // isBC
5910         false,                        // isSubsampled
5911         false,                        // isLuminance
5912         {false, false, false, false}, // Is normalized?
5913         {1.0f, 0, 0, 0},              // To float scale factor
5914         1,                            // bcWidth
5915         1,                            // bcHeight
5916     },
5917 
5918     // R8_UINT (0x143)
5919     {
5920         "R8_UINT",
5921         {SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5922         {0, 0, 0, 0x1},               // Defaults for missing components
5923         {0, 0, 0, 0},                 // Swizzle
5924         {8, 0, 0, 0},                 // Bits per component
5925         8,                            // Bits per element
5926         1,                            // Bytes per element
5927         1,                            // Num components
5928         false,                        // isSRGB
5929         false,                        // isBC
5930         false,                        // isSubsampled
5931         false,                        // isLuminance
5932         {false, false, false, false}, // Is normalized?
5933         {1.0f, 0, 0, 0},              // To float scale factor
5934         1,                            // bcWidth
5935         1,                            // bcHeight
5936     },
5937 
5938     // A8_UNORM (0x144)
5939     {
5940         "A8_UNORM",
5941         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5942         {0, 0, 0, 0x3f800000},       // Defaults for missing components
5943         {3, 0, 0, 0},                // Swizzle
5944         {8, 0, 0, 0},                // Bits per component
5945         8,                           // Bits per element
5946         1,                           // Bytes per element
5947         1,                           // Num components
5948         false,                       // isSRGB
5949         false,                       // isBC
5950         false,                       // isSubsampled
5951         false,                       // isLuminance
5952         {true, false, false, false}, // Is normalized?
5953         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
5954         1,                           // bcWidth
5955         1,                           // bcHeight
5956     },
5957 
5958     // I8_UNORM (0x145)
5959     {
5960         "I8_UNORM",
5961         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5962         {0, 0, 0, 0x3f800000},       // Defaults for missing components
5963         {0, 0, 0, 0},                // Swizzle
5964         {8, 0, 0, 0},                // Bits per component
5965         8,                           // Bits per element
5966         1,                           // Bytes per element
5967         1,                           // Num components
5968         false,                       // isSRGB
5969         false,                       // isBC
5970         false,                       // isSubsampled
5971         true,                        // isLuminance
5972         {true, false, false, false}, // Is normalized?
5973         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
5974         1,                           // bcWidth
5975         1,                           // bcHeight
5976     },
5977 
5978     // L8_UNORM (0x146)
5979     {
5980         "L8_UNORM",
5981         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
5982         {0, 0, 0, 0x3f800000},       // Defaults for missing components
5983         {0, 0, 0, 0},                // Swizzle
5984         {8, 0, 0, 0},                // Bits per component
5985         8,                           // Bits per element
5986         1,                           // Bytes per element
5987         1,                           // Num components
5988         false,                       // isSRGB
5989         false,                       // isBC
5990         false,                       // isSubsampled
5991         true,                        // isLuminance
5992         {true, false, false, false}, // Is normalized?
5993         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
5994         1,                           // bcWidth
5995         1,                           // bcHeight
5996     },
5997 
5998     // padding (0x147)
5999     {nullptr,
6000      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6001      {0, 0, 0, 0},
6002      {0, 0, 0, 0},
6003      {0, 0, 0, 0},
6004      0,
6005      0,
6006      0,
6007      false,
6008      false,
6009      false,
6010      false,
6011      {false, false, false, false},
6012      {0.0f, 0.0f, 0.0f, 0.0f},
6013      1,
6014      1},
6015     // padding (0x148)
6016     {nullptr,
6017      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6018      {0, 0, 0, 0},
6019      {0, 0, 0, 0},
6020      {0, 0, 0, 0},
6021      0,
6022      0,
6023      0,
6024      false,
6025      false,
6026      false,
6027      false,
6028      {false, false, false, false},
6029      {0.0f, 0.0f, 0.0f, 0.0f},
6030      1,
6031      1},
6032     // R8_SSCALED (0x149)
6033     {
6034         "R8_SSCALED",
6035         {SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6036         {0, 0, 0, 0x3f800000},        // Defaults for missing components
6037         {0, 0, 0, 0},                 // Swizzle
6038         {8, 0, 0, 0},                 // Bits per component
6039         8,                            // Bits per element
6040         1,                            // Bytes per element
6041         1,                            // Num components
6042         false,                        // isSRGB
6043         false,                        // isBC
6044         false,                        // isSubsampled
6045         false,                        // isLuminance
6046         {false, false, false, false}, // Is normalized?
6047         {1.0f, 0, 0, 0},              // To float scale factor
6048         1,                            // bcWidth
6049         1,                            // bcHeight
6050     },
6051 
6052     // R8_USCALED (0x14A)
6053     {
6054         "R8_USCALED",
6055         {SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6056         {0, 0, 0, 0x3f800000},        // Defaults for missing components
6057         {0, 0, 0, 0},                 // Swizzle
6058         {8, 0, 0, 0},                 // Bits per component
6059         8,                            // Bits per element
6060         1,                            // Bytes per element
6061         1,                            // Num components
6062         false,                        // isSRGB
6063         false,                        // isBC
6064         false,                        // isSubsampled
6065         false,                        // isLuminance
6066         {false, false, false, false}, // Is normalized?
6067         {1.0f, 0, 0, 0},              // To float scale factor
6068         1,                            // bcWidth
6069         1,                            // bcHeight
6070     },
6071 
6072     // padding (0x14B)
6073     {nullptr,
6074      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6075      {0, 0, 0, 0},
6076      {0, 0, 0, 0},
6077      {0, 0, 0, 0},
6078      0,
6079      0,
6080      0,
6081      false,
6082      false,
6083      false,
6084      false,
6085      {false, false, false, false},
6086      {0.0f, 0.0f, 0.0f, 0.0f},
6087      1,
6088      1},
6089     // L8_UNORM_SRGB (0x14C)
6090     {
6091         "L8_UNORM_SRGB",
6092         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6093         {0, 0, 0, 0x3f800000},       // Defaults for missing components
6094         {0, 0, 0, 0},                // Swizzle
6095         {8, 0, 0, 0},                // Bits per component
6096         8,                           // Bits per element
6097         1,                           // Bytes per element
6098         1,                           // Num components
6099         true,                        // isSRGB
6100         false,                       // isBC
6101         false,                       // isSubsampled
6102         true,                        // isLuminance
6103         {true, false, false, false}, // Is normalized?
6104         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
6105         1,                           // bcWidth
6106         1,                           // bcHeight
6107     },
6108 
6109     // padding (0x14D)
6110     {nullptr,
6111      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6112      {0, 0, 0, 0},
6113      {0, 0, 0, 0},
6114      {0, 0, 0, 0},
6115      0,
6116      0,
6117      0,
6118      false,
6119      false,
6120      false,
6121      false,
6122      {false, false, false, false},
6123      {0.0f, 0.0f, 0.0f, 0.0f},
6124      1,
6125      1},
6126     // padding (0x14E)
6127     {nullptr,
6128      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6129      {0, 0, 0, 0},
6130      {0, 0, 0, 0},
6131      {0, 0, 0, 0},
6132      0,
6133      0,
6134      0,
6135      false,
6136      false,
6137      false,
6138      false,
6139      {false, false, false, false},
6140      {0.0f, 0.0f, 0.0f, 0.0f},
6141      1,
6142      1},
6143     // padding (0x14F)
6144     {nullptr,
6145      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6146      {0, 0, 0, 0},
6147      {0, 0, 0, 0},
6148      {0, 0, 0, 0},
6149      0,
6150      0,
6151      0,
6152      false,
6153      false,
6154      false,
6155      false,
6156      {false, false, false, false},
6157      {0.0f, 0.0f, 0.0f, 0.0f},
6158      1,
6159      1},
6160     // padding (0x150)
6161     {nullptr,
6162      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6163      {0, 0, 0, 0},
6164      {0, 0, 0, 0},
6165      {0, 0, 0, 0},
6166      0,
6167      0,
6168      0,
6169      false,
6170      false,
6171      false,
6172      false,
6173      {false, false, false, false},
6174      {0.0f, 0.0f, 0.0f, 0.0f},
6175      1,
6176      1},
6177     // padding (0x151)
6178     {nullptr,
6179      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6180      {0, 0, 0, 0},
6181      {0, 0, 0, 0},
6182      {0, 0, 0, 0},
6183      0,
6184      0,
6185      0,
6186      false,
6187      false,
6188      false,
6189      false,
6190      {false, false, false, false},
6191      {0.0f, 0.0f, 0.0f, 0.0f},
6192      1,
6193      1},
6194     // L8_UINT (0x152)
6195     {
6196         "L8_UINT",
6197         {SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6198         {0, 0, 0, 0x1},               // Defaults for missing components
6199         {0, 0, 0, 0},                 // Swizzle
6200         {8, 0, 0, 0},                 // Bits per component
6201         8,                            // Bits per element
6202         1,                            // Bytes per element
6203         1,                            // Num components
6204         false,                        // isSRGB
6205         false,                        // isBC
6206         false,                        // isSubsampled
6207         true,                         // isLuminance
6208         {false, false, false, false}, // Is normalized?
6209         {1.0f, 0, 0, 0},              // To float scale factor
6210         1,                            // bcWidth
6211         1,                            // bcHeight
6212     },
6213 
6214     // L8_SINT (0x153)
6215     {
6216         "L8_SINT",
6217         {SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6218         {0, 0, 0, 0x1},               // Defaults for missing components
6219         {0, 0, 0, 0},                 // Swizzle
6220         {8, 0, 0, 0},                 // Bits per component
6221         8,                            // Bits per element
6222         1,                            // Bytes per element
6223         1,                            // Num components
6224         false,                        // isSRGB
6225         false,                        // isBC
6226         false,                        // isSubsampled
6227         true,                         // isLuminance
6228         {false, false, false, false}, // Is normalized?
6229         {1.0f, 0, 0, 0},              // To float scale factor
6230         1,                            // bcWidth
6231         1,                            // bcHeight
6232     },
6233 
6234     // I8_UINT (0x154)
6235     {
6236         "I8_UINT",
6237         {SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6238         {0, 0, 0, 0x1},               // Defaults for missing components
6239         {0, 0, 0, 0},                 // Swizzle
6240         {8, 0, 0, 0},                 // Bits per component
6241         8,                            // Bits per element
6242         1,                            // Bytes per element
6243         1,                            // Num components
6244         false,                        // isSRGB
6245         false,                        // isBC
6246         false,                        // isSubsampled
6247         true,                         // isLuminance
6248         {false, false, false, false}, // Is normalized?
6249         {1.0f, 0, 0, 0},              // To float scale factor
6250         1,                            // bcWidth
6251         1,                            // bcHeight
6252     },
6253 
6254     // I8_SINT (0x155)
6255     {
6256         "I8_SINT",
6257         {SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6258         {0, 0, 0, 0x1},               // Defaults for missing components
6259         {0, 0, 0, 0},                 // Swizzle
6260         {8, 0, 0, 0},                 // Bits per component
6261         8,                            // Bits per element
6262         1,                            // Bytes per element
6263         1,                            // Num components
6264         false,                        // isSRGB
6265         false,                        // isBC
6266         false,                        // isSubsampled
6267         true,                         // isLuminance
6268         {false, false, false, false}, // Is normalized?
6269         {1.0f, 0, 0, 0},              // To float scale factor
6270         1,                            // bcWidth
6271         1,                            // bcHeight
6272     },
6273 
6274     // padding (0x156)
6275     {nullptr,
6276      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6277      {0, 0, 0, 0},
6278      {0, 0, 0, 0},
6279      {0, 0, 0, 0},
6280      0,
6281      0,
6282      0,
6283      false,
6284      false,
6285      false,
6286      false,
6287      {false, false, false, false},
6288      {0.0f, 0.0f, 0.0f, 0.0f},
6289      1,
6290      1},
6291     // padding (0x157)
6292     {nullptr,
6293      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6294      {0, 0, 0, 0},
6295      {0, 0, 0, 0},
6296      {0, 0, 0, 0},
6297      0,
6298      0,
6299      0,
6300      false,
6301      false,
6302      false,
6303      false,
6304      {false, false, false, false},
6305      {0.0f, 0.0f, 0.0f, 0.0f},
6306      1,
6307      1},
6308     // padding (0x158)
6309     {nullptr,
6310      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6311      {0, 0, 0, 0},
6312      {0, 0, 0, 0},
6313      {0, 0, 0, 0},
6314      0,
6315      0,
6316      0,
6317      false,
6318      false,
6319      false,
6320      false,
6321      {false, false, false, false},
6322      {0.0f, 0.0f, 0.0f, 0.0f},
6323      1,
6324      1},
6325     // padding (0x159)
6326     {nullptr,
6327      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6328      {0, 0, 0, 0},
6329      {0, 0, 0, 0},
6330      {0, 0, 0, 0},
6331      0,
6332      0,
6333      0,
6334      false,
6335      false,
6336      false,
6337      false,
6338      {false, false, false, false},
6339      {0.0f, 0.0f, 0.0f, 0.0f},
6340      1,
6341      1},
6342     // padding (0x15A)
6343     {nullptr,
6344      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6345      {0, 0, 0, 0},
6346      {0, 0, 0, 0},
6347      {0, 0, 0, 0},
6348      0,
6349      0,
6350      0,
6351      false,
6352      false,
6353      false,
6354      false,
6355      {false, false, false, false},
6356      {0.0f, 0.0f, 0.0f, 0.0f},
6357      1,
6358      1},
6359     // padding (0x15B)
6360     {nullptr,
6361      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6362      {0, 0, 0, 0},
6363      {0, 0, 0, 0},
6364      {0, 0, 0, 0},
6365      0,
6366      0,
6367      0,
6368      false,
6369      false,
6370      false,
6371      false,
6372      {false, false, false, false},
6373      {0.0f, 0.0f, 0.0f, 0.0f},
6374      1,
6375      1},
6376     // padding (0x15C)
6377     {nullptr,
6378      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6379      {0, 0, 0, 0},
6380      {0, 0, 0, 0},
6381      {0, 0, 0, 0},
6382      0,
6383      0,
6384      0,
6385      false,
6386      false,
6387      false,
6388      false,
6389      {false, false, false, false},
6390      {0.0f, 0.0f, 0.0f, 0.0f},
6391      1,
6392      1},
6393     // padding (0x15D)
6394     {nullptr,
6395      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6396      {0, 0, 0, 0},
6397      {0, 0, 0, 0},
6398      {0, 0, 0, 0},
6399      0,
6400      0,
6401      0,
6402      false,
6403      false,
6404      false,
6405      false,
6406      {false, false, false, false},
6407      {0.0f, 0.0f, 0.0f, 0.0f},
6408      1,
6409      1},
6410     // padding (0x15E)
6411     {nullptr,
6412      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6413      {0, 0, 0, 0},
6414      {0, 0, 0, 0},
6415      {0, 0, 0, 0},
6416      0,
6417      0,
6418      0,
6419      false,
6420      false,
6421      false,
6422      false,
6423      {false, false, false, false},
6424      {0.0f, 0.0f, 0.0f, 0.0f},
6425      1,
6426      1},
6427     // padding (0x15F)
6428     {nullptr,
6429      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6430      {0, 0, 0, 0},
6431      {0, 0, 0, 0},
6432      {0, 0, 0, 0},
6433      0,
6434      0,
6435      0,
6436      false,
6437      false,
6438      false,
6439      false,
6440      {false, false, false, false},
6441      {0.0f, 0.0f, 0.0f, 0.0f},
6442      1,
6443      1},
6444     // padding (0x160)
6445     {nullptr,
6446      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6447      {0, 0, 0, 0},
6448      {0, 0, 0, 0},
6449      {0, 0, 0, 0},
6450      0,
6451      0,
6452      0,
6453      false,
6454      false,
6455      false,
6456      false,
6457      {false, false, false, false},
6458      {0.0f, 0.0f, 0.0f, 0.0f},
6459      1,
6460      1},
6461     // padding (0x161)
6462     {nullptr,
6463      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6464      {0, 0, 0, 0},
6465      {0, 0, 0, 0},
6466      {0, 0, 0, 0},
6467      0,
6468      0,
6469      0,
6470      false,
6471      false,
6472      false,
6473      false,
6474      {false, false, false, false},
6475      {0.0f, 0.0f, 0.0f, 0.0f},
6476      1,
6477      1},
6478     // padding (0x162)
6479     {nullptr,
6480      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6481      {0, 0, 0, 0},
6482      {0, 0, 0, 0},
6483      {0, 0, 0, 0},
6484      0,
6485      0,
6486      0,
6487      false,
6488      false,
6489      false,
6490      false,
6491      {false, false, false, false},
6492      {0.0f, 0.0f, 0.0f, 0.0f},
6493      1,
6494      1},
6495     // padding (0x163)
6496     {nullptr,
6497      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6498      {0, 0, 0, 0},
6499      {0, 0, 0, 0},
6500      {0, 0, 0, 0},
6501      0,
6502      0,
6503      0,
6504      false,
6505      false,
6506      false,
6507      false,
6508      {false, false, false, false},
6509      {0.0f, 0.0f, 0.0f, 0.0f},
6510      1,
6511      1},
6512     // padding (0x164)
6513     {nullptr,
6514      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6515      {0, 0, 0, 0},
6516      {0, 0, 0, 0},
6517      {0, 0, 0, 0},
6518      0,
6519      0,
6520      0,
6521      false,
6522      false,
6523      false,
6524      false,
6525      {false, false, false, false},
6526      {0.0f, 0.0f, 0.0f, 0.0f},
6527      1,
6528      1},
6529     // padding (0x165)
6530     {nullptr,
6531      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6532      {0, 0, 0, 0},
6533      {0, 0, 0, 0},
6534      {0, 0, 0, 0},
6535      0,
6536      0,
6537      0,
6538      false,
6539      false,
6540      false,
6541      false,
6542      {false, false, false, false},
6543      {0.0f, 0.0f, 0.0f, 0.0f},
6544      1,
6545      1},
6546     // padding (0x166)
6547     {nullptr,
6548      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6549      {0, 0, 0, 0},
6550      {0, 0, 0, 0},
6551      {0, 0, 0, 0},
6552      0,
6553      0,
6554      0,
6555      false,
6556      false,
6557      false,
6558      false,
6559      {false, false, false, false},
6560      {0.0f, 0.0f, 0.0f, 0.0f},
6561      1,
6562      1},
6563     // padding (0x167)
6564     {nullptr,
6565      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6566      {0, 0, 0, 0},
6567      {0, 0, 0, 0},
6568      {0, 0, 0, 0},
6569      0,
6570      0,
6571      0,
6572      false,
6573      false,
6574      false,
6575      false,
6576      {false, false, false, false},
6577      {0.0f, 0.0f, 0.0f, 0.0f},
6578      1,
6579      1},
6580     // padding (0x168)
6581     {nullptr,
6582      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6583      {0, 0, 0, 0},
6584      {0, 0, 0, 0},
6585      {0, 0, 0, 0},
6586      0,
6587      0,
6588      0,
6589      false,
6590      false,
6591      false,
6592      false,
6593      {false, false, false, false},
6594      {0.0f, 0.0f, 0.0f, 0.0f},
6595      1,
6596      1},
6597     // padding (0x169)
6598     {nullptr,
6599      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6600      {0, 0, 0, 0},
6601      {0, 0, 0, 0},
6602      {0, 0, 0, 0},
6603      0,
6604      0,
6605      0,
6606      false,
6607      false,
6608      false,
6609      false,
6610      {false, false, false, false},
6611      {0.0f, 0.0f, 0.0f, 0.0f},
6612      1,
6613      1},
6614     // padding (0x16A)
6615     {nullptr,
6616      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6617      {0, 0, 0, 0},
6618      {0, 0, 0, 0},
6619      {0, 0, 0, 0},
6620      0,
6621      0,
6622      0,
6623      false,
6624      false,
6625      false,
6626      false,
6627      {false, false, false, false},
6628      {0.0f, 0.0f, 0.0f, 0.0f},
6629      1,
6630      1},
6631     // padding (0x16B)
6632     {nullptr,
6633      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6634      {0, 0, 0, 0},
6635      {0, 0, 0, 0},
6636      {0, 0, 0, 0},
6637      0,
6638      0,
6639      0,
6640      false,
6641      false,
6642      false,
6643      false,
6644      {false, false, false, false},
6645      {0.0f, 0.0f, 0.0f, 0.0f},
6646      1,
6647      1},
6648     // padding (0x16C)
6649     {nullptr,
6650      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6651      {0, 0, 0, 0},
6652      {0, 0, 0, 0},
6653      {0, 0, 0, 0},
6654      0,
6655      0,
6656      0,
6657      false,
6658      false,
6659      false,
6660      false,
6661      {false, false, false, false},
6662      {0.0f, 0.0f, 0.0f, 0.0f},
6663      1,
6664      1},
6665     // padding (0x16D)
6666     {nullptr,
6667      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6668      {0, 0, 0, 0},
6669      {0, 0, 0, 0},
6670      {0, 0, 0, 0},
6671      0,
6672      0,
6673      0,
6674      false,
6675      false,
6676      false,
6677      false,
6678      {false, false, false, false},
6679      {0.0f, 0.0f, 0.0f, 0.0f},
6680      1,
6681      1},
6682     // padding (0x16E)
6683     {nullptr,
6684      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6685      {0, 0, 0, 0},
6686      {0, 0, 0, 0},
6687      {0, 0, 0, 0},
6688      0,
6689      0,
6690      0,
6691      false,
6692      false,
6693      false,
6694      false,
6695      {false, false, false, false},
6696      {0.0f, 0.0f, 0.0f, 0.0f},
6697      1,
6698      1},
6699     // padding (0x16F)
6700     {nullptr,
6701      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6702      {0, 0, 0, 0},
6703      {0, 0, 0, 0},
6704      {0, 0, 0, 0},
6705      0,
6706      0,
6707      0,
6708      false,
6709      false,
6710      false,
6711      false,
6712      {false, false, false, false},
6713      {0.0f, 0.0f, 0.0f, 0.0f},
6714      1,
6715      1},
6716     // padding (0x170)
6717     {nullptr,
6718      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6719      {0, 0, 0, 0},
6720      {0, 0, 0, 0},
6721      {0, 0, 0, 0},
6722      0,
6723      0,
6724      0,
6725      false,
6726      false,
6727      false,
6728      false,
6729      {false, false, false, false},
6730      {0.0f, 0.0f, 0.0f, 0.0f},
6731      1,
6732      1},
6733     // padding (0x171)
6734     {nullptr,
6735      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6736      {0, 0, 0, 0},
6737      {0, 0, 0, 0},
6738      {0, 0, 0, 0},
6739      0,
6740      0,
6741      0,
6742      false,
6743      false,
6744      false,
6745      false,
6746      {false, false, false, false},
6747      {0.0f, 0.0f, 0.0f, 0.0f},
6748      1,
6749      1},
6750     // padding (0x172)
6751     {nullptr,
6752      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6753      {0, 0, 0, 0},
6754      {0, 0, 0, 0},
6755      {0, 0, 0, 0},
6756      0,
6757      0,
6758      0,
6759      false,
6760      false,
6761      false,
6762      false,
6763      {false, false, false, false},
6764      {0.0f, 0.0f, 0.0f, 0.0f},
6765      1,
6766      1},
6767     // padding (0x173)
6768     {nullptr,
6769      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6770      {0, 0, 0, 0},
6771      {0, 0, 0, 0},
6772      {0, 0, 0, 0},
6773      0,
6774      0,
6775      0,
6776      false,
6777      false,
6778      false,
6779      false,
6780      {false, false, false, false},
6781      {0.0f, 0.0f, 0.0f, 0.0f},
6782      1,
6783      1},
6784     // padding (0x174)
6785     {nullptr,
6786      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6787      {0, 0, 0, 0},
6788      {0, 0, 0, 0},
6789      {0, 0, 0, 0},
6790      0,
6791      0,
6792      0,
6793      false,
6794      false,
6795      false,
6796      false,
6797      {false, false, false, false},
6798      {0.0f, 0.0f, 0.0f, 0.0f},
6799      1,
6800      1},
6801     // padding (0x175)
6802     {nullptr,
6803      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6804      {0, 0, 0, 0},
6805      {0, 0, 0, 0},
6806      {0, 0, 0, 0},
6807      0,
6808      0,
6809      0,
6810      false,
6811      false,
6812      false,
6813      false,
6814      {false, false, false, false},
6815      {0.0f, 0.0f, 0.0f, 0.0f},
6816      1,
6817      1},
6818     // padding (0x176)
6819     {nullptr,
6820      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6821      {0, 0, 0, 0},
6822      {0, 0, 0, 0},
6823      {0, 0, 0, 0},
6824      0,
6825      0,
6826      0,
6827      false,
6828      false,
6829      false,
6830      false,
6831      {false, false, false, false},
6832      {0.0f, 0.0f, 0.0f, 0.0f},
6833      1,
6834      1},
6835     // padding (0x177)
6836     {nullptr,
6837      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6838      {0, 0, 0, 0},
6839      {0, 0, 0, 0},
6840      {0, 0, 0, 0},
6841      0,
6842      0,
6843      0,
6844      false,
6845      false,
6846      false,
6847      false,
6848      {false, false, false, false},
6849      {0.0f, 0.0f, 0.0f, 0.0f},
6850      1,
6851      1},
6852     // padding (0x178)
6853     {nullptr,
6854      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6855      {0, 0, 0, 0},
6856      {0, 0, 0, 0},
6857      {0, 0, 0, 0},
6858      0,
6859      0,
6860      0,
6861      false,
6862      false,
6863      false,
6864      false,
6865      {false, false, false, false},
6866      {0.0f, 0.0f, 0.0f, 0.0f},
6867      1,
6868      1},
6869     // padding (0x179)
6870     {nullptr,
6871      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6872      {0, 0, 0, 0},
6873      {0, 0, 0, 0},
6874      {0, 0, 0, 0},
6875      0,
6876      0,
6877      0,
6878      false,
6879      false,
6880      false,
6881      false,
6882      {false, false, false, false},
6883      {0.0f, 0.0f, 0.0f, 0.0f},
6884      1,
6885      1},
6886     // padding (0x17A)
6887     {nullptr,
6888      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6889      {0, 0, 0, 0},
6890      {0, 0, 0, 0},
6891      {0, 0, 0, 0},
6892      0,
6893      0,
6894      0,
6895      false,
6896      false,
6897      false,
6898      false,
6899      {false, false, false, false},
6900      {0.0f, 0.0f, 0.0f, 0.0f},
6901      1,
6902      1},
6903     // padding (0x17B)
6904     {nullptr,
6905      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6906      {0, 0, 0, 0},
6907      {0, 0, 0, 0},
6908      {0, 0, 0, 0},
6909      0,
6910      0,
6911      0,
6912      false,
6913      false,
6914      false,
6915      false,
6916      {false, false, false, false},
6917      {0.0f, 0.0f, 0.0f, 0.0f},
6918      1,
6919      1},
6920     // padding (0x17C)
6921     {nullptr,
6922      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6923      {0, 0, 0, 0},
6924      {0, 0, 0, 0},
6925      {0, 0, 0, 0},
6926      0,
6927      0,
6928      0,
6929      false,
6930      false,
6931      false,
6932      false,
6933      {false, false, false, false},
6934      {0.0f, 0.0f, 0.0f, 0.0f},
6935      1,
6936      1},
6937     // padding (0x17D)
6938     {nullptr,
6939      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6940      {0, 0, 0, 0},
6941      {0, 0, 0, 0},
6942      {0, 0, 0, 0},
6943      0,
6944      0,
6945      0,
6946      false,
6947      false,
6948      false,
6949      false,
6950      {false, false, false, false},
6951      {0.0f, 0.0f, 0.0f, 0.0f},
6952      1,
6953      1},
6954     // padding (0x17E)
6955     {nullptr,
6956      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6957      {0, 0, 0, 0},
6958      {0, 0, 0, 0},
6959      {0, 0, 0, 0},
6960      0,
6961      0,
6962      0,
6963      false,
6964      false,
6965      false,
6966      false,
6967      {false, false, false, false},
6968      {0.0f, 0.0f, 0.0f, 0.0f},
6969      1,
6970      1},
6971     // padding (0x17F)
6972     {nullptr,
6973      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6974      {0, 0, 0, 0},
6975      {0, 0, 0, 0},
6976      {0, 0, 0, 0},
6977      0,
6978      0,
6979      0,
6980      false,
6981      false,
6982      false,
6983      false,
6984      {false, false, false, false},
6985      {0.0f, 0.0f, 0.0f, 0.0f},
6986      1,
6987      1},
6988     // DXT1_RGB_SRGB (0x180)
6989     {
6990         "DXT1_RGB_SRGB",
6991         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
6992         {0, 0, 0, 0x3f800000},       // Defaults for missing components
6993         {0, 1, 2, 3},                // Swizzle
6994         {8, 8, 8, 8},                // Bits per component
6995         64,                          // Bits per element
6996         8,                           // Bytes per element
6997         1,                           // Num components
6998         false,                       // isSRGB
6999         true,                        // isBC
7000         false,                       // isSubsampled
7001         false,                       // isLuminance
7002         {true, false, false, false}, // Is normalized?
7003         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7004         4,                           // bcWidth
7005         4,                           // bcHeight
7006     },
7007 
7008     // padding (0x181)
7009     {nullptr,
7010      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7011      {0, 0, 0, 0},
7012      {0, 0, 0, 0},
7013      {0, 0, 0, 0},
7014      0,
7015      0,
7016      0,
7017      false,
7018      false,
7019      false,
7020      false,
7021      {false, false, false, false},
7022      {0.0f, 0.0f, 0.0f, 0.0f},
7023      1,
7024      1},
7025     // padding (0x182)
7026     {nullptr,
7027      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7028      {0, 0, 0, 0},
7029      {0, 0, 0, 0},
7030      {0, 0, 0, 0},
7031      0,
7032      0,
7033      0,
7034      false,
7035      false,
7036      false,
7037      false,
7038      {false, false, false, false},
7039      {0.0f, 0.0f, 0.0f, 0.0f},
7040      1,
7041      1},
7042     // YCRCB_SWAPUVY (0x183)
7043     {
7044         "YCRCB_SWAPUVY",
7045         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
7046         {0, 0, 0, 0x1},               // Defaults for missing components
7047         {0, 1, 2, 3},                 // Swizzle
7048         {8, 8, 8, 8},                 // Bits per component
7049         32,                           // Bits per element
7050         4,                            // Bytes per element
7051         4,                            // Num components
7052         false,                        // isSRGB
7053         false,                        // isBC
7054         true,                         // isSubsampled
7055         false,                        // isLuminance
7056         {false, false, false, false}, // Is normalized?
7057         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
7058         2,                            // bcWidth
7059         1,                            // bcHeight
7060     },
7061 
7062     // padding (0x184)
7063     {nullptr,
7064      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7065      {0, 0, 0, 0},
7066      {0, 0, 0, 0},
7067      {0, 0, 0, 0},
7068      0,
7069      0,
7070      0,
7071      false,
7072      false,
7073      false,
7074      false,
7075      {false, false, false, false},
7076      {0.0f, 0.0f, 0.0f, 0.0f},
7077      1,
7078      1},
7079     // padding (0x185)
7080     {nullptr,
7081      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7082      {0, 0, 0, 0},
7083      {0, 0, 0, 0},
7084      {0, 0, 0, 0},
7085      0,
7086      0,
7087      0,
7088      false,
7089      false,
7090      false,
7091      false,
7092      {false, false, false, false},
7093      {0.0f, 0.0f, 0.0f, 0.0f},
7094      1,
7095      1},
7096     // BC1_UNORM (0x186)
7097     {
7098         "BC1_UNORM",
7099         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7100         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7101         {0, 1, 2, 3},                // Swizzle
7102         {8, 8, 8, 8},                // Bits per component
7103         64,                          // Bits per element
7104         8,                           // Bytes per element
7105         1,                           // Num components
7106         false,                       // isSRGB
7107         true,                        // isBC
7108         false,                       // isSubsampled
7109         false,                       // isLuminance
7110         {true, false, false, false}, // Is normalized?
7111         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7112         4,                           // bcWidth
7113         4,                           // bcHeight
7114     },
7115 
7116     // BC2_UNORM (0x187)
7117     {
7118         "BC2_UNORM",
7119         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7120         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7121         {0, 1, 2, 3},                // Swizzle
7122         {8, 8, 8, 8},                // Bits per component
7123         128,                         // Bits per element
7124         16,                          // Bytes per element
7125         1,                           // Num components
7126         false,                       // isSRGB
7127         true,                        // isBC
7128         false,                       // isSubsampled
7129         false,                       // isLuminance
7130         {true, false, false, false}, // Is normalized?
7131         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7132         4,                           // bcWidth
7133         4,                           // bcHeight
7134     },
7135 
7136     // BC3_UNORM (0x188)
7137     {
7138         "BC3_UNORM",
7139         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7140         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7141         {0, 1, 2, 3},                // Swizzle
7142         {8, 8, 8, 8},                // Bits per component
7143         128,                         // Bits per element
7144         16,                          // Bytes per element
7145         1,                           // Num components
7146         false,                       // isSRGB
7147         true,                        // isBC
7148         false,                       // isSubsampled
7149         false,                       // isLuminance
7150         {true, false, false, false}, // Is normalized?
7151         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7152         4,                           // bcWidth
7153         4,                           // bcHeight
7154     },
7155 
7156     // BC4_UNORM (0x189)
7157     {
7158         "BC4_UNORM",
7159         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7160         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7161         {0, 1, 2, 3},                // Swizzle
7162         {8, 8, 8, 8},                // Bits per component
7163         64,                          // Bits per element
7164         8,                           // Bytes per element
7165         1,                           // Num components
7166         false,                       // isSRGB
7167         true,                        // isBC
7168         false,                       // isSubsampled
7169         false,                       // isLuminance
7170         {true, false, false, false}, // Is normalized?
7171         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7172         4,                           // bcWidth
7173         4,                           // bcHeight
7174     },
7175 
7176     // BC5_UNORM (0x18A)
7177     {
7178         "BC5_UNORM",
7179         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7180         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7181         {0, 1, 2, 3},                // Swizzle
7182         {8, 8, 8, 8},                // Bits per component
7183         128,                         // Bits per element
7184         16,                          // Bytes per element
7185         1,                           // Num components
7186         false,                       // isSRGB
7187         true,                        // isBC
7188         false,                       // isSubsampled
7189         false,                       // isLuminance
7190         {true, false, false, false}, // Is normalized?
7191         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7192         4,                           // bcWidth
7193         4,                           // bcHeight
7194     },
7195 
7196     // BC1_UNORM_SRGB (0x18B)
7197     {
7198         "BC1_UNORM_SRGB",
7199         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7200         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7201         {0, 1, 2, 3},                // Swizzle
7202         {8, 8, 8, 8},                // Bits per component
7203         64,                          // Bits per element
7204         8,                           // Bytes per element
7205         1,                           // Num components
7206         true,                        // isSRGB
7207         true,                        // isBC
7208         false,                       // isSubsampled
7209         false,                       // isLuminance
7210         {true, false, false, false}, // Is normalized?
7211         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7212         4,                           // bcWidth
7213         4,                           // bcHeight
7214     },
7215 
7216     // BC2_UNORM_SRGB (0x18C)
7217     {
7218         "BC2_UNORM_SRGB",
7219         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7220         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7221         {0, 1, 2, 3},                // Swizzle
7222         {8, 8, 8, 8},                // Bits per component
7223         128,                         // Bits per element
7224         16,                          // Bytes per element
7225         1,                           // Num components
7226         true,                        // isSRGB
7227         true,                        // isBC
7228         false,                       // isSubsampled
7229         false,                       // isLuminance
7230         {true, false, false, false}, // Is normalized?
7231         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7232         4,                           // bcWidth
7233         4,                           // bcHeight
7234     },
7235 
7236     // BC3_UNORM_SRGB (0x18D)
7237     {
7238         "BC3_UNORM_SRGB",
7239         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7240         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7241         {0, 1, 2, 3},                // Swizzle
7242         {8, 8, 8, 8},                // Bits per component
7243         128,                         // Bits per element
7244         16,                          // Bytes per element
7245         1,                           // Num components
7246         true,                        // isSRGB
7247         true,                        // isBC
7248         false,                       // isSubsampled
7249         false,                       // isLuminance
7250         {true, false, false, false}, // Is normalized?
7251         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7252         4,                           // bcWidth
7253         4,                           // bcHeight
7254     },
7255 
7256     // padding (0x18E)
7257     {nullptr,
7258      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7259      {0, 0, 0, 0},
7260      {0, 0, 0, 0},
7261      {0, 0, 0, 0},
7262      0,
7263      0,
7264      0,
7265      false,
7266      false,
7267      false,
7268      false,
7269      {false, false, false, false},
7270      {0.0f, 0.0f, 0.0f, 0.0f},
7271      1,
7272      1},
7273     // YCRCB_SWAPUV (0x18F)
7274     {
7275         "YCRCB_SWAPUV",
7276         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
7277         {0, 0, 0, 0x1},               // Defaults for missing components
7278         {0, 1, 2, 3},                 // Swizzle
7279         {8, 8, 8, 8},                 // Bits per component
7280         32,                           // Bits per element
7281         4,                            // Bytes per element
7282         4,                            // Num components
7283         false,                        // isSRGB
7284         false,                        // isBC
7285         true,                         // isSubsampled
7286         false,                        // isLuminance
7287         {false, false, false, false}, // Is normalized?
7288         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
7289         2,                            // bcWidth
7290         1,                            // bcHeight
7291     },
7292 
7293     // padding (0x190)
7294     {nullptr,
7295      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7296      {0, 0, 0, 0},
7297      {0, 0, 0, 0},
7298      {0, 0, 0, 0},
7299      0,
7300      0,
7301      0,
7302      false,
7303      false,
7304      false,
7305      false,
7306      {false, false, false, false},
7307      {0.0f, 0.0f, 0.0f, 0.0f},
7308      1,
7309      1},
7310     // DXT1_RGB (0x191)
7311     {
7312         "DXT1_RGB",
7313         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7314         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7315         {0, 1, 2, 3},                // Swizzle
7316         {8, 8, 8, 8},                // Bits per component
7317         64,                          // Bits per element
7318         8,                           // Bytes per element
7319         1,                           // Num components
7320         false,                       // isSRGB
7321         true,                        // isBC
7322         false,                       // isSubsampled
7323         false,                       // isLuminance
7324         {true, false, false, false}, // Is normalized?
7325         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7326         4,                           // bcWidth
7327         4,                           // bcHeight
7328     },
7329 
7330     // padding (0x192)
7331     {nullptr,
7332      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7333      {0, 0, 0, 0},
7334      {0, 0, 0, 0},
7335      {0, 0, 0, 0},
7336      0,
7337      0,
7338      0,
7339      false,
7340      false,
7341      false,
7342      false,
7343      {false, false, false, false},
7344      {0.0f, 0.0f, 0.0f, 0.0f},
7345      1,
7346      1},
7347     // R8G8B8_UNORM (0x193)
7348     {
7349         "R8G8B8_UNORM",
7350         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN},
7351         {0, 0, 0, 0x3f800000},                            // Defaults for missing components
7352         {0, 1, 2, 0},                                     // Swizzle
7353         {8, 8, 8, 0},                                     // Bits per component
7354         24,                                               // Bits per element
7355         3,                                                // Bytes per element
7356         3,                                                // Num components
7357         false,                                            // isSRGB
7358         false,                                            // isBC
7359         false,                                            // isSubsampled
7360         false,                                            // isLuminance
7361         {true, true, true, false},                        // Is normalized?
7362         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 0}, // To float scale factor
7363         1,                                                // bcWidth
7364         1,                                                // bcHeight
7365     },
7366 
7367     // R8G8B8_SNORM (0x194)
7368     {
7369         "R8G8B8_SNORM",
7370         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN},
7371         {0, 0, 0, 0x3f800000},                            // Defaults for missing components
7372         {0, 1, 2, 0},                                     // Swizzle
7373         {8, 8, 8, 0},                                     // Bits per component
7374         24,                                               // Bits per element
7375         3,                                                // Bytes per element
7376         3,                                                // Num components
7377         false,                                            // isSRGB
7378         false,                                            // isBC
7379         false,                                            // isSubsampled
7380         false,                                            // isLuminance
7381         {true, true, true, false},                        // Is normalized?
7382         {1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f, 0}, // To float scale factor
7383         1,                                                // bcWidth
7384         1,                                                // bcHeight
7385     },
7386 
7387     // R8G8B8_SSCALED (0x195)
7388     {
7389         "R8G8B8_SSCALED",
7390         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN},
7391         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7392         {0, 1, 2, 0},                 // Swizzle
7393         {8, 8, 8, 0},                 // Bits per component
7394         24,                           // Bits per element
7395         3,                            // Bytes per element
7396         3,                            // Num components
7397         false,                        // isSRGB
7398         false,                        // isBC
7399         false,                        // isSubsampled
7400         false,                        // isLuminance
7401         {false, false, false, false}, // Is normalized?
7402         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
7403         1,                            // bcWidth
7404         1,                            // bcHeight
7405     },
7406 
7407     // R8G8B8_USCALED (0x196)
7408     {
7409         "R8G8B8_USCALED",
7410         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN},
7411         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7412         {0, 1, 2, 0},                 // Swizzle
7413         {8, 8, 8, 0},                 // Bits per component
7414         24,                           // Bits per element
7415         3,                            // Bytes per element
7416         3,                            // Num components
7417         false,                        // isSRGB
7418         false,                        // isBC
7419         false,                        // isSubsampled
7420         false,                        // isLuminance
7421         {false, false, false, false}, // Is normalized?
7422         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
7423         1,                            // bcWidth
7424         1,                            // bcHeight
7425     },
7426 
7427     // R64G64B64A64_FLOAT (0x197)
7428     {
7429         "R64G64B64A64_FLOAT",
7430         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT},
7431         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7432         {0, 1, 2, 3},                 // Swizzle
7433         {64, 64, 64, 64},             // Bits per component
7434         256,                          // Bits per element
7435         32,                           // Bytes per element
7436         4,                            // Num components
7437         false,                        // isSRGB
7438         false,                        // isBC
7439         false,                        // isSubsampled
7440         false,                        // isLuminance
7441         {false, false, false, false}, // Is normalized?
7442         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
7443         1,                            // bcWidth
7444         1,                            // bcHeight
7445     },
7446 
7447     // R64G64B64_FLOAT (0x198)
7448     {
7449         "R64G64B64_FLOAT",
7450         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN},
7451         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7452         {0, 1, 2, 0},                 // Swizzle
7453         {64, 64, 64, 0},              // Bits per component
7454         192,                          // Bits per element
7455         24,                           // Bytes per element
7456         3,                            // Num components
7457         false,                        // isSRGB
7458         false,                        // isBC
7459         false,                        // isSubsampled
7460         false,                        // isLuminance
7461         {false, false, false, false}, // Is normalized?
7462         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
7463         1,                            // bcWidth
7464         1,                            // bcHeight
7465     },
7466 
7467     // BC4_SNORM (0x199)
7468     {
7469         "BC4_SNORM",
7470         {SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7471         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7472         {0, 1, 2, 3},                // Swizzle
7473         {8, 8, 8, 8},                // Bits per component
7474         64,                          // Bits per element
7475         8,                           // Bytes per element
7476         1,                           // Num components
7477         false,                       // isSRGB
7478         true,                        // isBC
7479         false,                       // isSubsampled
7480         false,                       // isLuminance
7481         {true, false, false, false}, // Is normalized?
7482         {1.0f / 127.0f, 0, 0, 0},    // To float scale factor
7483         4,                           // bcWidth
7484         4,                           // bcHeight
7485     },
7486 
7487     // BC5_SNORM (0x19A)
7488     {
7489         "BC5_SNORM",
7490         {SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7491         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7492         {0, 1, 2, 3},                // Swizzle
7493         {8, 8, 8, 8},                // Bits per component
7494         128,                         // Bits per element
7495         16,                          // Bytes per element
7496         1,                           // Num components
7497         false,                       // isSRGB
7498         true,                        // isBC
7499         false,                       // isSubsampled
7500         false,                       // isLuminance
7501         {true, false, false, false}, // Is normalized?
7502         {1.0f / 127.0f, 0, 0, 0},    // To float scale factor
7503         4,                           // bcWidth
7504         4,                           // bcHeight
7505     },
7506 
7507     // R16G16B16_FLOAT (0x19B)
7508     {
7509         "R16G16B16_FLOAT",
7510         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN},
7511         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7512         {0, 1, 2, 0},                 // Swizzle
7513         {16, 16, 16, 0},              // Bits per component
7514         48,                           // Bits per element
7515         6,                            // Bytes per element
7516         3,                            // Num components
7517         false,                        // isSRGB
7518         false,                        // isBC
7519         false,                        // isSubsampled
7520         false,                        // isLuminance
7521         {false, false, false, false}, // Is normalized?
7522         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
7523         1,                            // bcWidth
7524         1,                            // bcHeight
7525     },
7526 
7527     // R16G16B16_UNORM (0x19C)
7528     {
7529         "R16G16B16_UNORM",
7530         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN},
7531         {0, 0, 0, 0x3f800000},                                  // Defaults for missing components
7532         {0, 1, 2, 0},                                           // Swizzle
7533         {16, 16, 16, 0},                                        // Bits per component
7534         48,                                                     // Bits per element
7535         6,                                                      // Bytes per element
7536         3,                                                      // Num components
7537         false,                                                  // isSRGB
7538         false,                                                  // isBC
7539         false,                                                  // isSubsampled
7540         false,                                                  // isLuminance
7541         {true, true, true, false},                              // Is normalized?
7542         {1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 0}, // To float scale factor
7543         1,                                                      // bcWidth
7544         1,                                                      // bcHeight
7545     },
7546 
7547     // R16G16B16_SNORM (0x19D)
7548     {
7549         "R16G16B16_SNORM",
7550         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN},
7551         {0, 0, 0, 0x3f800000},                                  // Defaults for missing components
7552         {0, 1, 2, 0},                                           // Swizzle
7553         {16, 16, 16, 0},                                        // Bits per component
7554         48,                                                     // Bits per element
7555         6,                                                      // Bytes per element
7556         3,                                                      // Num components
7557         false,                                                  // isSRGB
7558         false,                                                  // isBC
7559         false,                                                  // isSubsampled
7560         false,                                                  // isLuminance
7561         {true, true, true, false},                              // Is normalized?
7562         {1.0f / 32767.0f, 1.0f / 32767.0f, 1.0f / 32767.0f, 0}, // To float scale factor
7563         1,                                                      // bcWidth
7564         1,                                                      // bcHeight
7565     },
7566 
7567     // R16G16B16_SSCALED (0x19E)
7568     {
7569         "R16G16B16_SSCALED",
7570         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN},
7571         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7572         {0, 1, 2, 0},                 // Swizzle
7573         {16, 16, 16, 0},              // Bits per component
7574         48,                           // Bits per element
7575         6,                            // Bytes per element
7576         3,                            // Num components
7577         false,                        // isSRGB
7578         false,                        // isBC
7579         false,                        // isSubsampled
7580         false,                        // isLuminance
7581         {false, false, false, false}, // Is normalized?
7582         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
7583         1,                            // bcWidth
7584         1,                            // bcHeight
7585     },
7586 
7587     // R16G16B16_USCALED (0x19F)
7588     {
7589         "R16G16B16_USCALED",
7590         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN},
7591         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7592         {0, 1, 2, 0},                 // Swizzle
7593         {16, 16, 16, 0},              // Bits per component
7594         48,                           // Bits per element
7595         6,                            // Bytes per element
7596         3,                            // Num components
7597         false,                        // isSRGB
7598         false,                        // isBC
7599         false,                        // isSubsampled
7600         false,                        // isLuminance
7601         {false, false, false, false}, // Is normalized?
7602         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
7603         1,                            // bcWidth
7604         1,                            // bcHeight
7605     },
7606 
7607     // padding (0x1A0)
7608     {nullptr,
7609      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7610      {0, 0, 0, 0},
7611      {0, 0, 0, 0},
7612      {0, 0, 0, 0},
7613      0,
7614      0,
7615      0,
7616      false,
7617      false,
7618      false,
7619      false,
7620      {false, false, false, false},
7621      {0.0f, 0.0f, 0.0f, 0.0f},
7622      1,
7623      1},
7624     // BC6H_SF16 (0x1A1)
7625     {
7626         "BC6H_SF16",
7627         {SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7628         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7629         {0, 1, 2, 3},                // Swizzle
7630         {8, 8, 8, 8},                // Bits per component
7631         128,                         // Bits per element
7632         16,                          // Bytes per element
7633         1,                           // Num components
7634         false,                       // isSRGB
7635         true,                        // isBC
7636         false,                       // isSubsampled
7637         false,                       // isLuminance
7638         {true, false, false, false}, // Is normalized?
7639         {1.0f / 127.0f, 0, 0, 0},    // To float scale factor
7640         4,                           // bcWidth
7641         4,                           // bcHeight
7642     },
7643 
7644     // BC7_UNORM (0x1A2)
7645     {
7646         "BC7_UNORM",
7647         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7648         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7649         {0, 1, 2, 3},                // Swizzle
7650         {8, 8, 8, 8},                // Bits per component
7651         128,                         // Bits per element
7652         16,                          // Bytes per element
7653         1,                           // Num components
7654         false,                       // isSRGB
7655         true,                        // isBC
7656         false,                       // isSubsampled
7657         false,                       // isLuminance
7658         {true, false, false, false}, // Is normalized?
7659         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7660         4,                           // bcWidth
7661         4,                           // bcHeight
7662     },
7663 
7664     // BC7_UNORM_SRGB (0x1A3)
7665     {
7666         "BC7_UNORM_SRGB",
7667         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7668         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7669         {0, 1, 2, 3},                // Swizzle
7670         {8, 8, 8, 8},                // Bits per component
7671         128,                         // Bits per element
7672         16,                          // Bytes per element
7673         1,                           // Num components
7674         true,                        // isSRGB
7675         true,                        // isBC
7676         false,                       // isSubsampled
7677         false,                       // isLuminance
7678         {true, false, false, false}, // Is normalized?
7679         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7680         4,                           // bcWidth
7681         4,                           // bcHeight
7682     },
7683 
7684     // BC6H_UF16 (0x1A4)
7685     {
7686         "BC6H_UF16",
7687         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7688         {0, 0, 0, 0x3f800000},       // Defaults for missing components
7689         {0, 1, 2, 3},                // Swizzle
7690         {8, 8, 8, 8},                // Bits per component
7691         128,                         // Bits per element
7692         16,                          // Bytes per element
7693         1,                           // Num components
7694         false,                       // isSRGB
7695         true,                        // isBC
7696         false,                       // isSubsampled
7697         false,                       // isLuminance
7698         {true, false, false, false}, // Is normalized?
7699         {1.0f / 255.0f, 0, 0, 0},    // To float scale factor
7700         4,                           // bcWidth
7701         4,                           // bcHeight
7702     },
7703 
7704     // padding (0x1A5)
7705     {nullptr,
7706      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7707      {0, 0, 0, 0},
7708      {0, 0, 0, 0},
7709      {0, 0, 0, 0},
7710      0,
7711      0,
7712      0,
7713      false,
7714      false,
7715      false,
7716      false,
7717      {false, false, false, false},
7718      {0.0f, 0.0f, 0.0f, 0.0f},
7719      1,
7720      1},
7721     // padding (0x1A6)
7722     {nullptr,
7723      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7724      {0, 0, 0, 0},
7725      {0, 0, 0, 0},
7726      {0, 0, 0, 0},
7727      0,
7728      0,
7729      0,
7730      false,
7731      false,
7732      false,
7733      false,
7734      {false, false, false, false},
7735      {0.0f, 0.0f, 0.0f, 0.0f},
7736      1,
7737      1},
7738     // padding (0x1A7)
7739     {nullptr,
7740      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7741      {0, 0, 0, 0},
7742      {0, 0, 0, 0},
7743      {0, 0, 0, 0},
7744      0,
7745      0,
7746      0,
7747      false,
7748      false,
7749      false,
7750      false,
7751      {false, false, false, false},
7752      {0.0f, 0.0f, 0.0f, 0.0f},
7753      1,
7754      1},
7755     // R8G8B8_UNORM_SRGB (0x1A8)
7756     {
7757         "R8G8B8_UNORM_SRGB",
7758         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN},
7759         {0, 0, 0, 0x3f800000},                            // Defaults for missing components
7760         {0, 1, 2, 0},                                     // Swizzle
7761         {8, 8, 8, 0},                                     // Bits per component
7762         24,                                               // Bits per element
7763         3,                                                // Bytes per element
7764         3,                                                // Num components
7765         true,                                             // isSRGB
7766         false,                                            // isBC
7767         false,                                            // isSubsampled
7768         false,                                            // isLuminance
7769         {true, true, true, false},                        // Is normalized?
7770         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 0}, // To float scale factor
7771         1,                                                // bcWidth
7772         1,                                                // bcHeight
7773     },
7774 
7775     // padding (0x1A9)
7776     {nullptr,
7777      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7778      {0, 0, 0, 0},
7779      {0, 0, 0, 0},
7780      {0, 0, 0, 0},
7781      0,
7782      0,
7783      0,
7784      false,
7785      false,
7786      false,
7787      false,
7788      {false, false, false, false},
7789      {0.0f, 0.0f, 0.0f, 0.0f},
7790      1,
7791      1},
7792     // padding (0x1AA)
7793     {nullptr,
7794      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7795      {0, 0, 0, 0},
7796      {0, 0, 0, 0},
7797      {0, 0, 0, 0},
7798      0,
7799      0,
7800      0,
7801      false,
7802      false,
7803      false,
7804      false,
7805      {false, false, false, false},
7806      {0.0f, 0.0f, 0.0f, 0.0f},
7807      1,
7808      1},
7809     // padding (0x1AB)
7810     {nullptr,
7811      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7812      {0, 0, 0, 0},
7813      {0, 0, 0, 0},
7814      {0, 0, 0, 0},
7815      0,
7816      0,
7817      0,
7818      false,
7819      false,
7820      false,
7821      false,
7822      {false, false, false, false},
7823      {0.0f, 0.0f, 0.0f, 0.0f},
7824      1,
7825      1},
7826     // padding (0x1AC)
7827     {nullptr,
7828      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7829      {0, 0, 0, 0},
7830      {0, 0, 0, 0},
7831      {0, 0, 0, 0},
7832      0,
7833      0,
7834      0,
7835      false,
7836      false,
7837      false,
7838      false,
7839      {false, false, false, false},
7840      {0.0f, 0.0f, 0.0f, 0.0f},
7841      1,
7842      1},
7843     // padding (0x1AD)
7844     {nullptr,
7845      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7846      {0, 0, 0, 0},
7847      {0, 0, 0, 0},
7848      {0, 0, 0, 0},
7849      0,
7850      0,
7851      0,
7852      false,
7853      false,
7854      false,
7855      false,
7856      {false, false, false, false},
7857      {0.0f, 0.0f, 0.0f, 0.0f},
7858      1,
7859      1},
7860     // padding (0x1AE)
7861     {nullptr,
7862      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7863      {0, 0, 0, 0},
7864      {0, 0, 0, 0},
7865      {0, 0, 0, 0},
7866      0,
7867      0,
7868      0,
7869      false,
7870      false,
7871      false,
7872      false,
7873      {false, false, false, false},
7874      {0.0f, 0.0f, 0.0f, 0.0f},
7875      1,
7876      1},
7877     // padding (0x1AF)
7878     {nullptr,
7879      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7880      {0, 0, 0, 0},
7881      {0, 0, 0, 0},
7882      {0, 0, 0, 0},
7883      0,
7884      0,
7885      0,
7886      false,
7887      false,
7888      false,
7889      false,
7890      {false, false, false, false},
7891      {0.0f, 0.0f, 0.0f, 0.0f},
7892      1,
7893      1},
7894     // R16G16B16_UINT (0x1B0)
7895     {
7896         "R16G16B16_UINT",
7897         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN},
7898         {0, 0, 0, 0x1},               // Defaults for missing components
7899         {0, 1, 2, 0},                 // Swizzle
7900         {16, 16, 16, 0},              // Bits per component
7901         48,                           // Bits per element
7902         6,                            // Bytes per element
7903         3,                            // Num components
7904         false,                        // isSRGB
7905         false,                        // isBC
7906         false,                        // isSubsampled
7907         false,                        // isLuminance
7908         {false, false, false, false}, // Is normalized?
7909         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
7910         1,                            // bcWidth
7911         1,                            // bcHeight
7912     },
7913 
7914     // R16G16B16_SINT (0x1B1)
7915     {
7916         "R16G16B16_SINT",
7917         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN},
7918         {0, 0, 0, 0x1},               // Defaults for missing components
7919         {0, 1, 2, 0},                 // Swizzle
7920         {16, 16, 16, 0},              // Bits per component
7921         48,                           // Bits per element
7922         6,                            // Bytes per element
7923         3,                            // Num components
7924         false,                        // isSRGB
7925         false,                        // isBC
7926         false,                        // isSubsampled
7927         false,                        // isLuminance
7928         {false, false, false, false}, // Is normalized?
7929         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
7930         1,                            // bcWidth
7931         1,                            // bcHeight
7932     },
7933 
7934     // R32_SFIXED (0x1B2)
7935     {
7936         "R32_SFIXED",
7937         {SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
7938         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7939         {0, 0, 0, 0},                 // Swizzle
7940         {32, 0, 0, 0},                // Bits per component
7941         32,                           // Bits per element
7942         4,                            // Bytes per element
7943         1,                            // Num components
7944         false,                        // isSRGB
7945         false,                        // isBC
7946         false,                        // isSubsampled
7947         false,                        // isLuminance
7948         {false, false, false, false}, // Is normalized?
7949         {1.0f, 0, 0, 0},              // To float scale factor
7950         1,                            // bcWidth
7951         1,                            // bcHeight
7952     },
7953 
7954     // R10G10B10A2_SNORM (0x1B3)
7955     {
7956         "R10G10B10A2_SNORM",
7957         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM},
7958         {0, 0, 0, 0x3f800000},    // Defaults for missing components
7959         {0, 1, 2, 3},             // Swizzle
7960         {10, 10, 10, 2},          // Bits per component
7961         32,                       // Bits per element
7962         4,                        // Bytes per element
7963         4,                        // Num components
7964         false,                    // isSRGB
7965         false,                    // isBC
7966         false,                    // isSubsampled
7967         false,                    // isLuminance
7968         {true, true, true, true}, // Is normalized?
7969         {1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 1.0f}, // To float scale factor
7970         1,                                                          // bcWidth
7971         1,                                                          // bcHeight
7972     },
7973 
7974     // R10G10B10A2_USCALED (0x1B4)
7975     {
7976         "R10G10B10A2_USCALED",
7977         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED},
7978         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7979         {0, 1, 2, 3},                 // Swizzle
7980         {10, 10, 10, 2},              // Bits per component
7981         32,                           // Bits per element
7982         4,                            // Bytes per element
7983         4,                            // Num components
7984         false,                        // isSRGB
7985         false,                        // isBC
7986         false,                        // isSubsampled
7987         false,                        // isLuminance
7988         {false, false, false, false}, // Is normalized?
7989         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
7990         1,                            // bcWidth
7991         1,                            // bcHeight
7992     },
7993 
7994     // R10G10B10A2_SSCALED (0x1B5)
7995     {
7996         "R10G10B10A2_SSCALED",
7997         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED},
7998         {0, 0, 0, 0x3f800000},        // Defaults for missing components
7999         {0, 1, 2, 3},                 // Swizzle
8000         {10, 10, 10, 2},              // Bits per component
8001         32,                           // Bits per element
8002         4,                            // Bytes per element
8003         4,                            // Num components
8004         false,                        // isSRGB
8005         false,                        // isBC
8006         false,                        // isSubsampled
8007         false,                        // isLuminance
8008         {false, false, false, false}, // Is normalized?
8009         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
8010         1,                            // bcWidth
8011         1,                            // bcHeight
8012     },
8013 
8014     // R10G10B10A2_SINT (0x1B6)
8015     {
8016         "R10G10B10A2_SINT",
8017         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT},
8018         {0, 0, 0, 0x1},               // Defaults for missing components
8019         {0, 1, 2, 3},                 // Swizzle
8020         {10, 10, 10, 2},              // Bits per component
8021         32,                           // Bits per element
8022         4,                            // Bytes per element
8023         4,                            // Num components
8024         false,                        // isSRGB
8025         false,                        // isBC
8026         false,                        // isSubsampled
8027         false,                        // isLuminance
8028         {false, false, false, false}, // Is normalized?
8029         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
8030         1,                            // bcWidth
8031         1,                            // bcHeight
8032     },
8033 
8034     // B10G10R10A2_SNORM (0x1B7)
8035     {
8036         "B10G10R10A2_SNORM",
8037         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM},
8038         {0, 0, 0, 0x3f800000},    // Defaults for missing components
8039         {2, 1, 0, 3},             // Swizzle
8040         {10, 10, 10, 2},          // Bits per component
8041         32,                       // Bits per element
8042         4,                        // Bytes per element
8043         4,                        // Num components
8044         false,                    // isSRGB
8045         false,                    // isBC
8046         false,                    // isSubsampled
8047         false,                    // isLuminance
8048         {true, true, true, true}, // Is normalized?
8049         {1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 1.0f}, // To float scale factor
8050         1,                                                          // bcWidth
8051         1,                                                          // bcHeight
8052     },
8053 
8054     // B10G10R10A2_USCALED (0x1B8)
8055     {
8056         "B10G10R10A2_USCALED",
8057         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED},
8058         {0, 0, 0, 0x3f800000},        // Defaults for missing components
8059         {2, 1, 0, 3},                 // Swizzle
8060         {10, 10, 10, 2},              // Bits per component
8061         32,                           // Bits per element
8062         4,                            // Bytes per element
8063         4,                            // Num components
8064         false,                        // isSRGB
8065         false,                        // isBC
8066         false,                        // isSubsampled
8067         false,                        // isLuminance
8068         {false, false, false, false}, // Is normalized?
8069         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
8070         1,                            // bcWidth
8071         1,                            // bcHeight
8072     },
8073 
8074     // B10G10R10A2_SSCALED (0x1B9)
8075     {
8076         "B10G10R10A2_SSCALED",
8077         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED},
8078         {0, 0, 0, 0x3f800000},        // Defaults for missing components
8079         {2, 1, 0, 3},                 // Swizzle
8080         {10, 10, 10, 2},              // Bits per component
8081         32,                           // Bits per element
8082         4,                            // Bytes per element
8083         4,                            // Num components
8084         false,                        // isSRGB
8085         false,                        // isBC
8086         false,                        // isSubsampled
8087         false,                        // isLuminance
8088         {false, false, false, false}, // Is normalized?
8089         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
8090         1,                            // bcWidth
8091         1,                            // bcHeight
8092     },
8093 
8094     // B10G10R10A2_UINT (0x1BA)
8095     {
8096         "B10G10R10A2_UINT",
8097         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
8098         {0, 0, 0, 0x1},               // Defaults for missing components
8099         {2, 1, 0, 3},                 // Swizzle
8100         {10, 10, 10, 2},              // Bits per component
8101         32,                           // Bits per element
8102         4,                            // Bytes per element
8103         4,                            // Num components
8104         false,                        // isSRGB
8105         false,                        // isBC
8106         false,                        // isSubsampled
8107         false,                        // isLuminance
8108         {false, false, false, false}, // Is normalized?
8109         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
8110         1,                            // bcWidth
8111         1,                            // bcHeight
8112     },
8113 
8114     // B10G10R10A2_SINT (0x1BB)
8115     {
8116         "B10G10R10A2_SINT",
8117         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT},
8118         {0, 0, 0, 0x1},               // Defaults for missing components
8119         {2, 1, 0, 3},                 // Swizzle
8120         {10, 10, 10, 2},              // Bits per component
8121         32,                           // Bits per element
8122         4,                            // Bytes per element
8123         4,                            // Num components
8124         false,                        // isSRGB
8125         false,                        // isBC
8126         false,                        // isSubsampled
8127         false,                        // isLuminance
8128         {false, false, false, false}, // Is normalized?
8129         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
8130         1,                            // bcWidth
8131         1,                            // bcHeight
8132     },
8133 
8134     // padding (0x1BC)
8135     {nullptr,
8136      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8137      {0, 0, 0, 0},
8138      {0, 0, 0, 0},
8139      {0, 0, 0, 0},
8140      0,
8141      0,
8142      0,
8143      false,
8144      false,
8145      false,
8146      false,
8147      {false, false, false, false},
8148      {0.0f, 0.0f, 0.0f, 0.0f},
8149      1,
8150      1},
8151     // padding (0x1BD)
8152     {nullptr,
8153      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8154      {0, 0, 0, 0},
8155      {0, 0, 0, 0},
8156      {0, 0, 0, 0},
8157      0,
8158      0,
8159      0,
8160      false,
8161      false,
8162      false,
8163      false,
8164      {false, false, false, false},
8165      {0.0f, 0.0f, 0.0f, 0.0f},
8166      1,
8167      1},
8168     // padding (0x1BE)
8169     {nullptr,
8170      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8171      {0, 0, 0, 0},
8172      {0, 0, 0, 0},
8173      {0, 0, 0, 0},
8174      0,
8175      0,
8176      0,
8177      false,
8178      false,
8179      false,
8180      false,
8181      {false, false, false, false},
8182      {0.0f, 0.0f, 0.0f, 0.0f},
8183      1,
8184      1},
8185     // padding (0x1BF)
8186     {nullptr,
8187      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8188      {0, 0, 0, 0},
8189      {0, 0, 0, 0},
8190      {0, 0, 0, 0},
8191      0,
8192      0,
8193      0,
8194      false,
8195      false,
8196      false,
8197      false,
8198      {false, false, false, false},
8199      {0.0f, 0.0f, 0.0f, 0.0f},
8200      1,
8201      1},
8202     // padding (0x1C0)
8203     {nullptr,
8204      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8205      {0, 0, 0, 0},
8206      {0, 0, 0, 0},
8207      {0, 0, 0, 0},
8208      0,
8209      0,
8210      0,
8211      false,
8212      false,
8213      false,
8214      false,
8215      {false, false, false, false},
8216      {0.0f, 0.0f, 0.0f, 0.0f},
8217      1,
8218      1},
8219     // padding (0x1C1)
8220     {nullptr,
8221      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8222      {0, 0, 0, 0},
8223      {0, 0, 0, 0},
8224      {0, 0, 0, 0},
8225      0,
8226      0,
8227      0,
8228      false,
8229      false,
8230      false,
8231      false,
8232      {false, false, false, false},
8233      {0.0f, 0.0f, 0.0f, 0.0f},
8234      1,
8235      1},
8236     // padding (0x1C2)
8237     {nullptr,
8238      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8239      {0, 0, 0, 0},
8240      {0, 0, 0, 0},
8241      {0, 0, 0, 0},
8242      0,
8243      0,
8244      0,
8245      false,
8246      false,
8247      false,
8248      false,
8249      {false, false, false, false},
8250      {0.0f, 0.0f, 0.0f, 0.0f},
8251      1,
8252      1},
8253     // padding (0x1C3)
8254     {nullptr,
8255      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8256      {0, 0, 0, 0},
8257      {0, 0, 0, 0},
8258      {0, 0, 0, 0},
8259      0,
8260      0,
8261      0,
8262      false,
8263      false,
8264      false,
8265      false,
8266      {false, false, false, false},
8267      {0.0f, 0.0f, 0.0f, 0.0f},
8268      1,
8269      1},
8270     // padding (0x1C4)
8271     {nullptr,
8272      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8273      {0, 0, 0, 0},
8274      {0, 0, 0, 0},
8275      {0, 0, 0, 0},
8276      0,
8277      0,
8278      0,
8279      false,
8280      false,
8281      false,
8282      false,
8283      {false, false, false, false},
8284      {0.0f, 0.0f, 0.0f, 0.0f},
8285      1,
8286      1},
8287     // padding (0x1C5)
8288     {nullptr,
8289      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8290      {0, 0, 0, 0},
8291      {0, 0, 0, 0},
8292      {0, 0, 0, 0},
8293      0,
8294      0,
8295      0,
8296      false,
8297      false,
8298      false,
8299      false,
8300      {false, false, false, false},
8301      {0.0f, 0.0f, 0.0f, 0.0f},
8302      1,
8303      1},
8304     // padding (0x1C6)
8305     {nullptr,
8306      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8307      {0, 0, 0, 0},
8308      {0, 0, 0, 0},
8309      {0, 0, 0, 0},
8310      0,
8311      0,
8312      0,
8313      false,
8314      false,
8315      false,
8316      false,
8317      {false, false, false, false},
8318      {0.0f, 0.0f, 0.0f, 0.0f},
8319      1,
8320      1},
8321     // padding (0x1C7)
8322     {nullptr,
8323      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8324      {0, 0, 0, 0},
8325      {0, 0, 0, 0},
8326      {0, 0, 0, 0},
8327      0,
8328      0,
8329      0,
8330      false,
8331      false,
8332      false,
8333      false,
8334      {false, false, false, false},
8335      {0.0f, 0.0f, 0.0f, 0.0f},
8336      1,
8337      1},
8338     // R8G8B8_UINT (0x1C8)
8339     {
8340         "R8G8B8_UINT",
8341         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN},
8342         {0, 0, 0, 0x1},               // Defaults for missing components
8343         {0, 1, 2, 0},                 // Swizzle
8344         {8, 8, 8, 0},                 // Bits per component
8345         24,                           // Bits per element
8346         3,                            // Bytes per element
8347         3,                            // Num components
8348         false,                        // isSRGB
8349         false,                        // isBC
8350         false,                        // isSubsampled
8351         false,                        // isLuminance
8352         {false, false, false, false}, // Is normalized?
8353         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
8354         1,                            // bcWidth
8355         1,                            // bcHeight
8356     },
8357 
8358     // R8G8B8_SINT (0x1C9)
8359     {
8360         "R8G8B8_SINT",
8361         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN},
8362         {0, 0, 0, 0x1},               // Defaults for missing components
8363         {0, 1, 2, 0},                 // Swizzle
8364         {8, 8, 8, 0},                 // Bits per component
8365         24,                           // Bits per element
8366         3,                            // Bytes per element
8367         3,                            // Num components
8368         false,                        // isSRGB
8369         false,                        // isBC
8370         false,                        // isSubsampled
8371         false,                        // isLuminance
8372         {false, false, false, false}, // Is normalized?
8373         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
8374         1,                            // bcWidth
8375         1,                            // bcHeight
8376     },
8377 
8378     // padding (0x1CA)
8379     {nullptr,
8380      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8381      {0, 0, 0, 0},
8382      {0, 0, 0, 0},
8383      {0, 0, 0, 0},
8384      0,
8385      0,
8386      0,
8387      false,
8388      false,
8389      false,
8390      false,
8391      {false, false, false, false},
8392      {0.0f, 0.0f, 0.0f, 0.0f},
8393      1,
8394      1},
8395     // padding (0x1CB)
8396     {nullptr,
8397      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8398      {0, 0, 0, 0},
8399      {0, 0, 0, 0},
8400      {0, 0, 0, 0},
8401      0,
8402      0,
8403      0,
8404      false,
8405      false,
8406      false,
8407      false,
8408      {false, false, false, false},
8409      {0.0f, 0.0f, 0.0f, 0.0f},
8410      1,
8411      1},
8412     // padding (0x1CC)
8413     {nullptr,
8414      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8415      {0, 0, 0, 0},
8416      {0, 0, 0, 0},
8417      {0, 0, 0, 0},
8418      0,
8419      0,
8420      0,
8421      false,
8422      false,
8423      false,
8424      false,
8425      {false, false, false, false},
8426      {0.0f, 0.0f, 0.0f, 0.0f},
8427      1,
8428      1},
8429     // padding (0x1CD)
8430     {nullptr,
8431      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8432      {0, 0, 0, 0},
8433      {0, 0, 0, 0},
8434      {0, 0, 0, 0},
8435      0,
8436      0,
8437      0,
8438      false,
8439      false,
8440      false,
8441      false,
8442      {false, false, false, false},
8443      {0.0f, 0.0f, 0.0f, 0.0f},
8444      1,
8445      1},
8446     // padding (0x1CE)
8447     {nullptr,
8448      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8449      {0, 0, 0, 0},
8450      {0, 0, 0, 0},
8451      {0, 0, 0, 0},
8452      0,
8453      0,
8454      0,
8455      false,
8456      false,
8457      false,
8458      false,
8459      {false, false, false, false},
8460      {0.0f, 0.0f, 0.0f, 0.0f},
8461      1,
8462      1},
8463     // padding (0x1CF)
8464     {nullptr,
8465      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8466      {0, 0, 0, 0},
8467      {0, 0, 0, 0},
8468      {0, 0, 0, 0},
8469      0,
8470      0,
8471      0,
8472      false,
8473      false,
8474      false,
8475      false,
8476      {false, false, false, false},
8477      {0.0f, 0.0f, 0.0f, 0.0f},
8478      1,
8479      1},
8480     // padding (0x1D0)
8481     {nullptr,
8482      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8483      {0, 0, 0, 0},
8484      {0, 0, 0, 0},
8485      {0, 0, 0, 0},
8486      0,
8487      0,
8488      0,
8489      false,
8490      false,
8491      false,
8492      false,
8493      {false, false, false, false},
8494      {0.0f, 0.0f, 0.0f, 0.0f},
8495      1,
8496      1},
8497     // padding (0x1D1)
8498     {nullptr,
8499      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8500      {0, 0, 0, 0},
8501      {0, 0, 0, 0},
8502      {0, 0, 0, 0},
8503      0,
8504      0,
8505      0,
8506      false,
8507      false,
8508      false,
8509      false,
8510      {false, false, false, false},
8511      {0.0f, 0.0f, 0.0f, 0.0f},
8512      1,
8513      1},
8514     // padding (0x1D2)
8515     {nullptr,
8516      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8517      {0, 0, 0, 0},
8518      {0, 0, 0, 0},
8519      {0, 0, 0, 0},
8520      0,
8521      0,
8522      0,
8523      false,
8524      false,
8525      false,
8526      false,
8527      {false, false, false, false},
8528      {0.0f, 0.0f, 0.0f, 0.0f},
8529      1,
8530      1},
8531     // padding (0x1D3)
8532     {nullptr,
8533      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8534      {0, 0, 0, 0},
8535      {0, 0, 0, 0},
8536      {0, 0, 0, 0},
8537      0,
8538      0,
8539      0,
8540      false,
8541      false,
8542      false,
8543      false,
8544      {false, false, false, false},
8545      {0.0f, 0.0f, 0.0f, 0.0f},
8546      1,
8547      1},
8548     // padding (0x1D4)
8549     {nullptr,
8550      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8551      {0, 0, 0, 0},
8552      {0, 0, 0, 0},
8553      {0, 0, 0, 0},
8554      0,
8555      0,
8556      0,
8557      false,
8558      false,
8559      false,
8560      false,
8561      {false, false, false, false},
8562      {0.0f, 0.0f, 0.0f, 0.0f},
8563      1,
8564      1},
8565     // padding (0x1D5)
8566     {nullptr,
8567      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8568      {0, 0, 0, 0},
8569      {0, 0, 0, 0},
8570      {0, 0, 0, 0},
8571      0,
8572      0,
8573      0,
8574      false,
8575      false,
8576      false,
8577      false,
8578      {false, false, false, false},
8579      {0.0f, 0.0f, 0.0f, 0.0f},
8580      1,
8581      1},
8582     // padding (0x1D6)
8583     {nullptr,
8584      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8585      {0, 0, 0, 0},
8586      {0, 0, 0, 0},
8587      {0, 0, 0, 0},
8588      0,
8589      0,
8590      0,
8591      false,
8592      false,
8593      false,
8594      false,
8595      {false, false, false, false},
8596      {0.0f, 0.0f, 0.0f, 0.0f},
8597      1,
8598      1},
8599     // padding (0x1D7)
8600     {nullptr,
8601      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8602      {0, 0, 0, 0},
8603      {0, 0, 0, 0},
8604      {0, 0, 0, 0},
8605      0,
8606      0,
8607      0,
8608      false,
8609      false,
8610      false,
8611      false,
8612      {false, false, false, false},
8613      {0.0f, 0.0f, 0.0f, 0.0f},
8614      1,
8615      1},
8616     // padding (0x1D8)
8617     {nullptr,
8618      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8619      {0, 0, 0, 0},
8620      {0, 0, 0, 0},
8621      {0, 0, 0, 0},
8622      0,
8623      0,
8624      0,
8625      false,
8626      false,
8627      false,
8628      false,
8629      {false, false, false, false},
8630      {0.0f, 0.0f, 0.0f, 0.0f},
8631      1,
8632      1},
8633     // padding (0x1D9)
8634     {nullptr,
8635      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8636      {0, 0, 0, 0},
8637      {0, 0, 0, 0},
8638      {0, 0, 0, 0},
8639      0,
8640      0,
8641      0,
8642      false,
8643      false,
8644      false,
8645      false,
8646      {false, false, false, false},
8647      {0.0f, 0.0f, 0.0f, 0.0f},
8648      1,
8649      1},
8650     // padding (0x1DA)
8651     {nullptr,
8652      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8653      {0, 0, 0, 0},
8654      {0, 0, 0, 0},
8655      {0, 0, 0, 0},
8656      0,
8657      0,
8658      0,
8659      false,
8660      false,
8661      false,
8662      false,
8663      {false, false, false, false},
8664      {0.0f, 0.0f, 0.0f, 0.0f},
8665      1,
8666      1},
8667     // padding (0x1DB)
8668     {nullptr,
8669      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8670      {0, 0, 0, 0},
8671      {0, 0, 0, 0},
8672      {0, 0, 0, 0},
8673      0,
8674      0,
8675      0,
8676      false,
8677      false,
8678      false,
8679      false,
8680      {false, false, false, false},
8681      {0.0f, 0.0f, 0.0f, 0.0f},
8682      1,
8683      1},
8684     // padding (0x1DC)
8685     {nullptr,
8686      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8687      {0, 0, 0, 0},
8688      {0, 0, 0, 0},
8689      {0, 0, 0, 0},
8690      0,
8691      0,
8692      0,
8693      false,
8694      false,
8695      false,
8696      false,
8697      {false, false, false, false},
8698      {0.0f, 0.0f, 0.0f, 0.0f},
8699      1,
8700      1},
8701     // padding (0x1DD)
8702     {nullptr,
8703      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8704      {0, 0, 0, 0},
8705      {0, 0, 0, 0},
8706      {0, 0, 0, 0},
8707      0,
8708      0,
8709      0,
8710      false,
8711      false,
8712      false,
8713      false,
8714      {false, false, false, false},
8715      {0.0f, 0.0f, 0.0f, 0.0f},
8716      1,
8717      1},
8718     // padding (0x1DE)
8719     {nullptr,
8720      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8721      {0, 0, 0, 0},
8722      {0, 0, 0, 0},
8723      {0, 0, 0, 0},
8724      0,
8725      0,
8726      0,
8727      false,
8728      false,
8729      false,
8730      false,
8731      {false, false, false, false},
8732      {0.0f, 0.0f, 0.0f, 0.0f},
8733      1,
8734      1},
8735     // padding (0x1DF)
8736     {nullptr,
8737      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8738      {0, 0, 0, 0},
8739      {0, 0, 0, 0},
8740      {0, 0, 0, 0},
8741      0,
8742      0,
8743      0,
8744      false,
8745      false,
8746      false,
8747      false,
8748      {false, false, false, false},
8749      {0.0f, 0.0f, 0.0f, 0.0f},
8750      1,
8751      1},
8752     // padding (0x1E0)
8753     {nullptr,
8754      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8755      {0, 0, 0, 0},
8756      {0, 0, 0, 0},
8757      {0, 0, 0, 0},
8758      0,
8759      0,
8760      0,
8761      false,
8762      false,
8763      false,
8764      false,
8765      {false, false, false, false},
8766      {0.0f, 0.0f, 0.0f, 0.0f},
8767      1,
8768      1},
8769     // padding (0x1E1)
8770     {nullptr,
8771      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8772      {0, 0, 0, 0},
8773      {0, 0, 0, 0},
8774      {0, 0, 0, 0},
8775      0,
8776      0,
8777      0,
8778      false,
8779      false,
8780      false,
8781      false,
8782      {false, false, false, false},
8783      {0.0f, 0.0f, 0.0f, 0.0f},
8784      1,
8785      1},
8786     // padding (0x1E2)
8787     {nullptr,
8788      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8789      {0, 0, 0, 0},
8790      {0, 0, 0, 0},
8791      {0, 0, 0, 0},
8792      0,
8793      0,
8794      0,
8795      false,
8796      false,
8797      false,
8798      false,
8799      {false, false, false, false},
8800      {0.0f, 0.0f, 0.0f, 0.0f},
8801      1,
8802      1},
8803     // padding (0x1E3)
8804     {nullptr,
8805      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8806      {0, 0, 0, 0},
8807      {0, 0, 0, 0},
8808      {0, 0, 0, 0},
8809      0,
8810      0,
8811      0,
8812      false,
8813      false,
8814      false,
8815      false,
8816      {false, false, false, false},
8817      {0.0f, 0.0f, 0.0f, 0.0f},
8818      1,
8819      1},
8820     // padding (0x1E4)
8821     {nullptr,
8822      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8823      {0, 0, 0, 0},
8824      {0, 0, 0, 0},
8825      {0, 0, 0, 0},
8826      0,
8827      0,
8828      0,
8829      false,
8830      false,
8831      false,
8832      false,
8833      {false, false, false, false},
8834      {0.0f, 0.0f, 0.0f, 0.0f},
8835      1,
8836      1},
8837     // padding (0x1E5)
8838     {nullptr,
8839      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8840      {0, 0, 0, 0},
8841      {0, 0, 0, 0},
8842      {0, 0, 0, 0},
8843      0,
8844      0,
8845      0,
8846      false,
8847      false,
8848      false,
8849      false,
8850      {false, false, false, false},
8851      {0.0f, 0.0f, 0.0f, 0.0f},
8852      1,
8853      1},
8854     // padding (0x1E6)
8855     {nullptr,
8856      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8857      {0, 0, 0, 0},
8858      {0, 0, 0, 0},
8859      {0, 0, 0, 0},
8860      0,
8861      0,
8862      0,
8863      false,
8864      false,
8865      false,
8866      false,
8867      {false, false, false, false},
8868      {0.0f, 0.0f, 0.0f, 0.0f},
8869      1,
8870      1},
8871     // padding (0x1E7)
8872     {nullptr,
8873      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8874      {0, 0, 0, 0},
8875      {0, 0, 0, 0},
8876      {0, 0, 0, 0},
8877      0,
8878      0,
8879      0,
8880      false,
8881      false,
8882      false,
8883      false,
8884      {false, false, false, false},
8885      {0.0f, 0.0f, 0.0f, 0.0f},
8886      1,
8887      1},
8888     // padding (0x1E8)
8889     {nullptr,
8890      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8891      {0, 0, 0, 0},
8892      {0, 0, 0, 0},
8893      {0, 0, 0, 0},
8894      0,
8895      0,
8896      0,
8897      false,
8898      false,
8899      false,
8900      false,
8901      {false, false, false, false},
8902      {0.0f, 0.0f, 0.0f, 0.0f},
8903      1,
8904      1},
8905     // padding (0x1E9)
8906     {nullptr,
8907      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8908      {0, 0, 0, 0},
8909      {0, 0, 0, 0},
8910      {0, 0, 0, 0},
8911      0,
8912      0,
8913      0,
8914      false,
8915      false,
8916      false,
8917      false,
8918      {false, false, false, false},
8919      {0.0f, 0.0f, 0.0f, 0.0f},
8920      1,
8921      1},
8922     // padding (0x1EA)
8923     {nullptr,
8924      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8925      {0, 0, 0, 0},
8926      {0, 0, 0, 0},
8927      {0, 0, 0, 0},
8928      0,
8929      0,
8930      0,
8931      false,
8932      false,
8933      false,
8934      false,
8935      {false, false, false, false},
8936      {0.0f, 0.0f, 0.0f, 0.0f},
8937      1,
8938      1},
8939     // padding (0x1EB)
8940     {nullptr,
8941      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8942      {0, 0, 0, 0},
8943      {0, 0, 0, 0},
8944      {0, 0, 0, 0},
8945      0,
8946      0,
8947      0,
8948      false,
8949      false,
8950      false,
8951      false,
8952      {false, false, false, false},
8953      {0.0f, 0.0f, 0.0f, 0.0f},
8954      1,
8955      1},
8956     // padding (0x1EC)
8957     {nullptr,
8958      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8959      {0, 0, 0, 0},
8960      {0, 0, 0, 0},
8961      {0, 0, 0, 0},
8962      0,
8963      0,
8964      0,
8965      false,
8966      false,
8967      false,
8968      false,
8969      {false, false, false, false},
8970      {0.0f, 0.0f, 0.0f, 0.0f},
8971      1,
8972      1},
8973     // padding (0x1ED)
8974     {nullptr,
8975      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8976      {0, 0, 0, 0},
8977      {0, 0, 0, 0},
8978      {0, 0, 0, 0},
8979      0,
8980      0,
8981      0,
8982      false,
8983      false,
8984      false,
8985      false,
8986      {false, false, false, false},
8987      {0.0f, 0.0f, 0.0f, 0.0f},
8988      1,
8989      1},
8990     // padding (0x1EE)
8991     {nullptr,
8992      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
8993      {0, 0, 0, 0},
8994      {0, 0, 0, 0},
8995      {0, 0, 0, 0},
8996      0,
8997      0,
8998      0,
8999      false,
9000      false,
9001      false,
9002      false,
9003      {false, false, false, false},
9004      {0.0f, 0.0f, 0.0f, 0.0f},
9005      1,
9006      1},
9007     // padding (0x1EF)
9008     {nullptr,
9009      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9010      {0, 0, 0, 0},
9011      {0, 0, 0, 0},
9012      {0, 0, 0, 0},
9013      0,
9014      0,
9015      0,
9016      false,
9017      false,
9018      false,
9019      false,
9020      {false, false, false, false},
9021      {0.0f, 0.0f, 0.0f, 0.0f},
9022      1,
9023      1},
9024     // padding (0x1F0)
9025     {nullptr,
9026      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9027      {0, 0, 0, 0},
9028      {0, 0, 0, 0},
9029      {0, 0, 0, 0},
9030      0,
9031      0,
9032      0,
9033      false,
9034      false,
9035      false,
9036      false,
9037      {false, false, false, false},
9038      {0.0f, 0.0f, 0.0f, 0.0f},
9039      1,
9040      1},
9041     // padding (0x1F1)
9042     {nullptr,
9043      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9044      {0, 0, 0, 0},
9045      {0, 0, 0, 0},
9046      {0, 0, 0, 0},
9047      0,
9048      0,
9049      0,
9050      false,
9051      false,
9052      false,
9053      false,
9054      {false, false, false, false},
9055      {0.0f, 0.0f, 0.0f, 0.0f},
9056      1,
9057      1},
9058     // padding (0x1F2)
9059     {nullptr,
9060      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9061      {0, 0, 0, 0},
9062      {0, 0, 0, 0},
9063      {0, 0, 0, 0},
9064      0,
9065      0,
9066      0,
9067      false,
9068      false,
9069      false,
9070      false,
9071      {false, false, false, false},
9072      {0.0f, 0.0f, 0.0f, 0.0f},
9073      1,
9074      1},
9075     // padding (0x1F3)
9076     {nullptr,
9077      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9078      {0, 0, 0, 0},
9079      {0, 0, 0, 0},
9080      {0, 0, 0, 0},
9081      0,
9082      0,
9083      0,
9084      false,
9085      false,
9086      false,
9087      false,
9088      {false, false, false, false},
9089      {0.0f, 0.0f, 0.0f, 0.0f},
9090      1,
9091      1},
9092     // padding (0x1F4)
9093     {nullptr,
9094      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9095      {0, 0, 0, 0},
9096      {0, 0, 0, 0},
9097      {0, 0, 0, 0},
9098      0,
9099      0,
9100      0,
9101      false,
9102      false,
9103      false,
9104      false,
9105      {false, false, false, false},
9106      {0.0f, 0.0f, 0.0f, 0.0f},
9107      1,
9108      1},
9109     // padding (0x1F5)
9110     {nullptr,
9111      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9112      {0, 0, 0, 0},
9113      {0, 0, 0, 0},
9114      {0, 0, 0, 0},
9115      0,
9116      0,
9117      0,
9118      false,
9119      false,
9120      false,
9121      false,
9122      {false, false, false, false},
9123      {0.0f, 0.0f, 0.0f, 0.0f},
9124      1,
9125      1},
9126     // padding (0x1F6)
9127     {nullptr,
9128      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9129      {0, 0, 0, 0},
9130      {0, 0, 0, 0},
9131      {0, 0, 0, 0},
9132      0,
9133      0,
9134      0,
9135      false,
9136      false,
9137      false,
9138      false,
9139      {false, false, false, false},
9140      {0.0f, 0.0f, 0.0f, 0.0f},
9141      1,
9142      1},
9143     // padding (0x1F7)
9144     {nullptr,
9145      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9146      {0, 0, 0, 0},
9147      {0, 0, 0, 0},
9148      {0, 0, 0, 0},
9149      0,
9150      0,
9151      0,
9152      false,
9153      false,
9154      false,
9155      false,
9156      {false, false, false, false},
9157      {0.0f, 0.0f, 0.0f, 0.0f},
9158      1,
9159      1},
9160     // padding (0x1F8)
9161     {nullptr,
9162      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9163      {0, 0, 0, 0},
9164      {0, 0, 0, 0},
9165      {0, 0, 0, 0},
9166      0,
9167      0,
9168      0,
9169      false,
9170      false,
9171      false,
9172      false,
9173      {false, false, false, false},
9174      {0.0f, 0.0f, 0.0f, 0.0f},
9175      1,
9176      1},
9177     // padding (0x1F9)
9178     {nullptr,
9179      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9180      {0, 0, 0, 0},
9181      {0, 0, 0, 0},
9182      {0, 0, 0, 0},
9183      0,
9184      0,
9185      0,
9186      false,
9187      false,
9188      false,
9189      false,
9190      {false, false, false, false},
9191      {0.0f, 0.0f, 0.0f, 0.0f},
9192      1,
9193      1},
9194     // padding (0x1FA)
9195     {nullptr,
9196      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9197      {0, 0, 0, 0},
9198      {0, 0, 0, 0},
9199      {0, 0, 0, 0},
9200      0,
9201      0,
9202      0,
9203      false,
9204      false,
9205      false,
9206      false,
9207      {false, false, false, false},
9208      {0.0f, 0.0f, 0.0f, 0.0f},
9209      1,
9210      1},
9211     // padding (0x1FB)
9212     {nullptr,
9213      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9214      {0, 0, 0, 0},
9215      {0, 0, 0, 0},
9216      {0, 0, 0, 0},
9217      0,
9218      0,
9219      0,
9220      false,
9221      false,
9222      false,
9223      false,
9224      {false, false, false, false},
9225      {0.0f, 0.0f, 0.0f, 0.0f},
9226      1,
9227      1},
9228     // padding (0x1FC)
9229     {nullptr,
9230      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9231      {0, 0, 0, 0},
9232      {0, 0, 0, 0},
9233      {0, 0, 0, 0},
9234      0,
9235      0,
9236      0,
9237      false,
9238      false,
9239      false,
9240      false,
9241      {false, false, false, false},
9242      {0.0f, 0.0f, 0.0f, 0.0f},
9243      1,
9244      1},
9245     // padding (0x1FD)
9246     {nullptr,
9247      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9248      {0, 0, 0, 0},
9249      {0, 0, 0, 0},
9250      {0, 0, 0, 0},
9251      0,
9252      0,
9253      0,
9254      false,
9255      false,
9256      false,
9257      false,
9258      {false, false, false, false},
9259      {0.0f, 0.0f, 0.0f, 0.0f},
9260      1,
9261      1},
9262     // padding (0x1FE)
9263     {nullptr,
9264      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9265      {0, 0, 0, 0},
9266      {0, 0, 0, 0},
9267      {0, 0, 0, 0},
9268      0,
9269      0,
9270      0,
9271      false,
9272      false,
9273      false,
9274      false,
9275      {false, false, false, false},
9276      {0.0f, 0.0f, 0.0f, 0.0f},
9277      1,
9278      1},
9279     // RAW (0x1FF)
9280     {
9281         "RAW",
9282         {SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
9283         {0, 0, 0, 0x1},               // Defaults for missing components
9284         {0, 1, 2, 3},                 // Swizzle
9285         {8, 0, 0, 0},                 // Bits per component
9286         8,                            // Bits per element
9287         1,                            // Bytes per element
9288         1,                            // Num components
9289         false,                        // isSRGB
9290         false,                        // isBC
9291         false,                        // isSubsampled
9292         false,                        // isLuminance
9293         {false, false, false, false}, // Is normalized?
9294         {1.0f, 0, 0, 0},              // To float scale factor
9295         1,                            // bcWidth
9296         1,                            // bcHeight
9297     },
9298 };
9299