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
34const 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
70const 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