1 /****************************************************************************
2 * Copyright (C) 2016 Intel Corporation.   All Rights Reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21 * IN THE SOFTWARE.
22 *
23 * @file formats.cpp
24 *
25 * @brief auto-generated file
26 *
27 * DO NOT EDIT
28 *
29 ******************************************************************************/
30 
31 #include "formats.h"
32 
33 // lookup table for unorm8 srgb -> float conversion
34 const uint32_t srgb8Table[256] = {
35     0x00000000, 0x399f22b4, 0x3a1f22b4, 0x3a6eb40f, 0x3a9f22b4, 0x3ac6eb61, 0x3aeeb40f, 0x3b0b3e5e,
36     0x3b1f22b4, 0x3b33070b, 0x3b46eb61, 0x3b5b518d, 0x3b70f18d, 0x3b83e1c6, 0x3b8fe616, 0x3b9c87fd,
37     0x3ba9c9b5, 0x3bb7ad6f, 0x3bc63549, 0x3bd5635f, 0x3be539c1, 0x3bf5ba70, 0x3c0373b5, 0x3c0c6152,
38     0x3c15a703, 0x3c1f45be, 0x3c293e6b, 0x3c3391f7, 0x3c3e4149, 0x3c494d43, 0x3c54b6c7, 0x3c607eb1,
39     0x3c6ca5dc, 0x3c792d22, 0x3c830aa8, 0x3c89af9f, 0x3c9085db, 0x3c978dc5, 0x3c9ec7c0, 0x3ca63431,
40     0x3cadd37d, 0x3cb5a601, 0x3cbdac20, 0x3cc5e639, 0x3cce54ab, 0x3cd6f7d3, 0x3cdfd00e, 0x3ce8ddb9,
41     0x3cf22131, 0x3cfb9ac6, 0x3d02a56c, 0x3d0798df, 0x3d0ca7e7, 0x3d11d2b0, 0x3d171965, 0x3d1c7c31,
42     0x3d21fb3c, 0x3d2796b2, 0x3d2d4ebe, 0x3d332384, 0x3d39152e, 0x3d3f23e6, 0x3d454fd4, 0x3d4b991f,
43     0x3d51ffef, 0x3d58846a, 0x3d5f26b7, 0x3d65e6fe, 0x3d6cc564, 0x3d73c20f, 0x3d7add25, 0x3d810b66,
44     0x3d84b795, 0x3d887330, 0x3d8c3e4a, 0x3d9018f6, 0x3d940345, 0x3d97fd4a, 0x3d9c0716, 0x3da020bb,
45     0x3da44a4b, 0x3da883d7, 0x3daccd70, 0x3db12728, 0x3db59110, 0x3dba0b38, 0x3dbe95b5, 0x3dc33092,
46     0x3dc7dbe2, 0x3dcc97b6, 0x3dd1641f, 0x3dd6412c, 0x3ddb2eef, 0x3de02d77, 0x3de53cd5, 0x3dea5d19,
47     0x3def8e55, 0x3df4d093, 0x3dfa23e8, 0x3dff8861, 0x3e027f07, 0x3e054282, 0x3e080ea5, 0x3e0ae379,
48     0x3e0dc107, 0x3e10a755, 0x3e13966c, 0x3e168e53, 0x3e198f11, 0x3e1c98ae, 0x3e1fab32, 0x3e22c6a3,
49     0x3e25eb09, 0x3e29186c, 0x3e2c4ed2, 0x3e2f8e45, 0x3e32d6c8, 0x3e362865, 0x3e398322, 0x3e3ce706,
50     0x3e405419, 0x3e43ca62, 0x3e4749e8, 0x3e4ad2b1, 0x3e4e64c6, 0x3e52002b, 0x3e55a4e9, 0x3e595307,
51     0x3e5d0a8b, 0x3e60cb7c, 0x3e6495e0, 0x3e6869bf, 0x3e6c4720, 0x3e702e08, 0x3e741e7f, 0x3e78188c,
52     0x3e7c1c38, 0x3e8014c2, 0x3e82203c, 0x3e84308d, 0x3e8645ba, 0x3e885fc5, 0x3e8a7eb2, 0x3e8ca283,
53     0x3e8ecb3d, 0x3e90f8e1, 0x3e932b74, 0x3e9562f8, 0x3e979f71, 0x3e99e0e2, 0x3e9c274e, 0x3e9e72b7,
54     0x3ea0c322, 0x3ea31892, 0x3ea57308, 0x3ea7d289, 0x3eaa3718, 0x3eaca0b7, 0x3eaf0f69, 0x3eb18333,
55     0x3eb3fc16, 0x3eb67a15, 0x3eb8fd34, 0x3ebb8576, 0x3ebe12e1, 0x3ec0a571, 0x3ec33d2d, 0x3ec5da17,
56     0x3ec87c33, 0x3ecb2383, 0x3ecdd00b, 0x3ed081cd, 0x3ed338cc, 0x3ed5f50b, 0x3ed8b68d, 0x3edb7d54,
57     0x3ede4965, 0x3ee11ac1, 0x3ee3f16b, 0x3ee6cd67, 0x3ee9aeb6, 0x3eec955d, 0x3eef815d, 0x3ef272ba,
58     0x3ef56976, 0x3ef86594, 0x3efb6717, 0x3efe6e02, 0x3f00bd2b, 0x3f02460c, 0x3f03d1a5, 0x3f055ff8,
59     0x3f06f106, 0x3f0884cf, 0x3f0a1b57, 0x3f0bb49d, 0x3f0d50a2, 0x3f0eef69, 0x3f1090f2, 0x3f123540,
60     0x3f13dc53, 0x3f15862d, 0x3f1732cf, 0x3f18e23b, 0x3f1a9471, 0x3f1c4973, 0x3f1e0143, 0x3f1fbbe1,
61     0x3f217950, 0x3f23398f, 0x3f24fca2, 0x3f26c288, 0x3f288b43, 0x3f2a56d5, 0x3f2c253f, 0x3f2df681,
62     0x3f2fca9e, 0x3f31a197, 0x3f337b6c, 0x3f355820, 0x3f3737b3, 0x3f391a26, 0x3f3aff7e, 0x3f3ce7b7,
63     0x3f3ed2d4, 0x3f40c0d6, 0x3f42b1c0, 0x3f44a592, 0x3f469c4d, 0x3f4895f3, 0x3f4a9284, 0x3f4c9203,
64     0x3f4e9470, 0x3f5099cd, 0x3f52a21a, 0x3f54ad59, 0x3f56bb8c, 0x3f58ccb3, 0x3f5ae0cf, 0x3f5cf7e2,
65     0x3f5f11ee, 0x3f612ef2, 0x3f634eef, 0x3f6571ec, 0x3f6797e1, 0x3f69c0d8, 0x3f6beccb, 0x3f6e1bc2,
66     0x3f704db6, 0x3f7282b1, 0x3f74baae, 0x3f76f5b3, 0x3f7933b9, 0x3f7b74cb, 0x3f7db8e0, 0x3f800000,
67 };
68 
69 // order must match SWR_FORMAT
70 const SWR_FORMAT_INFO gFormatInfo[] = {
71 
72     // R32G32B32A32_FLOAT (0x0)
73     {
74         "R32G32B32A32_FLOAT",
75         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT },
76         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
77         { 0, 1, 2, 3 }, // Swizzle
78         { 32, 32, 32, 32 }, // Bits per component
79         128, // Bits per element
80         16, // Bytes per element
81         4, // Num components
82         false, // isSRGB
83         false, // isBC
84         false, // isSubsampled
85         false, // isLuminance
86         { false, false, false, false }, // Is normalized?
87         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
88         1, // bcWidth
89         1, // bcHeight
90     },
91 
92     // R32G32B32A32_SINT (0x1)
93     {
94         "R32G32B32A32_SINT",
95         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
96         { 0, 0, 0, 0x1 }, // Defaults for missing components
97         { 0, 1, 2, 3 }, // Swizzle
98         { 32, 32, 32, 32 }, // Bits per component
99         128, // Bits per element
100         16, // Bytes per element
101         4, // Num components
102         false, // isSRGB
103         false, // isBC
104         false, // isSubsampled
105         false, // isLuminance
106         { false, false, false, false }, // Is normalized?
107         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
108         1, // bcWidth
109         1, // bcHeight
110     },
111 
112     // R32G32B32A32_UINT (0x2)
113     {
114         "R32G32B32A32_UINT",
115         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
116         { 0, 0, 0, 0x1 }, // Defaults for missing components
117         { 0, 1, 2, 3 }, // Swizzle
118         { 32, 32, 32, 32 }, // Bits per component
119         128, // Bits per element
120         16, // Bytes per element
121         4, // Num components
122         false, // isSRGB
123         false, // isBC
124         false, // isSubsampled
125         false, // isLuminance
126         { false, false, false, false }, // Is normalized?
127         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
128         1, // bcWidth
129         1, // bcHeight
130     },
131 
132     // padding (0x3)
133     {
134         nullptr,
135         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
136         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
137         0, 0, 0, false, false, false, false,
138         { false, false, false, false },
139         { 0.0f, 0.0f, 0.0f, 0.0f },
140         1, 1
141     },
142     // padding (0x4)
143     {
144         nullptr,
145         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
146         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
147         0, 0, 0, false, false, false, false,
148         { false, false, false, false },
149         { 0.0f, 0.0f, 0.0f, 0.0f },
150         1, 1
151     },
152     // R64G64_FLOAT (0x5)
153     {
154         "R64G64_FLOAT",
155         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
156         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
157         { 0, 1, 0, 0 }, // Swizzle
158         { 64, 64, 0, 0 }, // Bits per component
159         128, // Bits per element
160         16, // Bytes per element
161         2, // Num components
162         false, // isSRGB
163         false, // isBC
164         false, // isSubsampled
165         false, // isLuminance
166         { false, false, false, false }, // Is normalized?
167         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
168         1, // bcWidth
169         1, // bcHeight
170     },
171 
172     // R32G32B32X32_FLOAT (0x6)
173     {
174         "R32G32B32X32_FLOAT",
175         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNUSED },
176         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
177         { 0, 1, 2, 3 }, // Swizzle
178         { 32, 32, 32, 32 }, // Bits per component
179         128, // Bits per element
180         16, // Bytes per element
181         4, // Num components
182         false, // isSRGB
183         false, // isBC
184         false, // isSubsampled
185         false, // isLuminance
186         { false, false, false, false }, // Is normalized?
187         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
188         1, // bcWidth
189         1, // bcHeight
190     },
191 
192     // R32G32B32A32_SSCALED (0x7)
193     {
194         "R32G32B32A32_SSCALED",
195         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
196         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
197         { 0, 1, 2, 3 }, // Swizzle
198         { 32, 32, 32, 32 }, // Bits per component
199         128, // Bits per element
200         16, // Bytes per element
201         4, // Num components
202         false, // isSRGB
203         false, // isBC
204         false, // isSubsampled
205         false, // isLuminance
206         { false, false, false, false }, // Is normalized?
207         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
208         1, // bcWidth
209         1, // bcHeight
210     },
211 
212     // R32G32B32A32_USCALED (0x8)
213     {
214         "R32G32B32A32_USCALED",
215         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
216         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
217         { 0, 1, 2, 3 }, // Swizzle
218         { 32, 32, 32, 32 }, // Bits per component
219         128, // Bits per element
220         16, // Bytes per element
221         4, // Num components
222         false, // isSRGB
223         false, // isBC
224         false, // isSubsampled
225         false, // isLuminance
226         { false, false, false, false }, // Is normalized?
227         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
228         1, // bcWidth
229         1, // bcHeight
230     },
231 
232     // padding (0x9)
233     {
234         nullptr,
235         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
236         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
237         0, 0, 0, false, false, false, false,
238         { false, false, false, false },
239         { 0.0f, 0.0f, 0.0f, 0.0f },
240         1, 1
241     },
242     // padding (0xA)
243     {
244         nullptr,
245         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
246         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
247         0, 0, 0, false, false, false, false,
248         { false, false, false, false },
249         { 0.0f, 0.0f, 0.0f, 0.0f },
250         1, 1
251     },
252     // padding (0xB)
253     {
254         nullptr,
255         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
256         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
257         0, 0, 0, false, false, false, false,
258         { false, false, false, false },
259         { 0.0f, 0.0f, 0.0f, 0.0f },
260         1, 1
261     },
262     // padding (0xC)
263     {
264         nullptr,
265         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
266         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
267         0, 0, 0, false, false, false, false,
268         { false, false, false, false },
269         { 0.0f, 0.0f, 0.0f, 0.0f },
270         1, 1
271     },
272     // padding (0xD)
273     {
274         nullptr,
275         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
276         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
277         0, 0, 0, false, false, false, false,
278         { false, false, false, false },
279         { 0.0f, 0.0f, 0.0f, 0.0f },
280         1, 1
281     },
282     // padding (0xE)
283     {
284         nullptr,
285         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
286         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
287         0, 0, 0, false, false, false, false,
288         { false, false, false, false },
289         { 0.0f, 0.0f, 0.0f, 0.0f },
290         1, 1
291     },
292     // padding (0xF)
293     {
294         nullptr,
295         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
296         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
297         0, 0, 0, false, false, false, false,
298         { false, false, false, false },
299         { 0.0f, 0.0f, 0.0f, 0.0f },
300         1, 1
301     },
302     // padding (0x10)
303     {
304         nullptr,
305         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
306         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
307         0, 0, 0, false, false, false, false,
308         { false, false, false, false },
309         { 0.0f, 0.0f, 0.0f, 0.0f },
310         1, 1
311     },
312     // padding (0x11)
313     {
314         nullptr,
315         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
316         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
317         0, 0, 0, false, false, false, false,
318         { false, false, false, false },
319         { 0.0f, 0.0f, 0.0f, 0.0f },
320         1, 1
321     },
322     // padding (0x12)
323     {
324         nullptr,
325         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
326         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
327         0, 0, 0, false, false, false, false,
328         { false, false, false, false },
329         { 0.0f, 0.0f, 0.0f, 0.0f },
330         1, 1
331     },
332     // padding (0x13)
333     {
334         nullptr,
335         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
336         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
337         0, 0, 0, false, false, false, false,
338         { false, false, false, false },
339         { 0.0f, 0.0f, 0.0f, 0.0f },
340         1, 1
341     },
342     // padding (0x14)
343     {
344         nullptr,
345         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
346         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
347         0, 0, 0, false, false, false, false,
348         { false, false, false, false },
349         { 0.0f, 0.0f, 0.0f, 0.0f },
350         1, 1
351     },
352     // padding (0x15)
353     {
354         nullptr,
355         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
356         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
357         0, 0, 0, false, false, false, false,
358         { false, false, false, false },
359         { 0.0f, 0.0f, 0.0f, 0.0f },
360         1, 1
361     },
362     // padding (0x16)
363     {
364         nullptr,
365         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
366         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
367         0, 0, 0, false, false, false, false,
368         { false, false, false, false },
369         { 0.0f, 0.0f, 0.0f, 0.0f },
370         1, 1
371     },
372     // padding (0x17)
373     {
374         nullptr,
375         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
376         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
377         0, 0, 0, false, false, false, false,
378         { false, false, false, false },
379         { 0.0f, 0.0f, 0.0f, 0.0f },
380         1, 1
381     },
382     // padding (0x18)
383     {
384         nullptr,
385         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
386         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
387         0, 0, 0, false, false, false, false,
388         { false, false, false, false },
389         { 0.0f, 0.0f, 0.0f, 0.0f },
390         1, 1
391     },
392     // padding (0x19)
393     {
394         nullptr,
395         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
396         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
397         0, 0, 0, false, false, false, false,
398         { false, false, false, false },
399         { 0.0f, 0.0f, 0.0f, 0.0f },
400         1, 1
401     },
402     // padding (0x1A)
403     {
404         nullptr,
405         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
406         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
407         0, 0, 0, false, false, false, false,
408         { false, false, false, false },
409         { 0.0f, 0.0f, 0.0f, 0.0f },
410         1, 1
411     },
412     // padding (0x1B)
413     {
414         nullptr,
415         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
416         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
417         0, 0, 0, false, false, false, false,
418         { false, false, false, false },
419         { 0.0f, 0.0f, 0.0f, 0.0f },
420         1, 1
421     },
422     // padding (0x1C)
423     {
424         nullptr,
425         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
426         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
427         0, 0, 0, false, false, false, false,
428         { false, false, false, false },
429         { 0.0f, 0.0f, 0.0f, 0.0f },
430         1, 1
431     },
432     // padding (0x1D)
433     {
434         nullptr,
435         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
436         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
437         0, 0, 0, false, false, false, false,
438         { false, false, false, false },
439         { 0.0f, 0.0f, 0.0f, 0.0f },
440         1, 1
441     },
442     // padding (0x1E)
443     {
444         nullptr,
445         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
446         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
447         0, 0, 0, false, false, false, false,
448         { false, false, false, false },
449         { 0.0f, 0.0f, 0.0f, 0.0f },
450         1, 1
451     },
452     // padding (0x1F)
453     {
454         nullptr,
455         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
456         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
457         0, 0, 0, false, false, false, false,
458         { false, false, false, false },
459         { 0.0f, 0.0f, 0.0f, 0.0f },
460         1, 1
461     },
462     // R32G32B32A32_SFIXED (0x20)
463     {
464         "R32G32B32A32_SFIXED",
465         { SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED },
466         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
467         { 0, 1, 2, 3 }, // Swizzle
468         { 32, 32, 32, 32 }, // Bits per component
469         128, // Bits per element
470         16, // Bytes per element
471         4, // Num components
472         false, // isSRGB
473         false, // isBC
474         false, // isSubsampled
475         false, // isLuminance
476         { false, false, false, false }, // Is normalized?
477         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
478         1, // bcWidth
479         1, // bcHeight
480     },
481 
482     // padding (0x21)
483     {
484         nullptr,
485         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
486         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
487         0, 0, 0, false, false, false, false,
488         { false, false, false, false },
489         { 0.0f, 0.0f, 0.0f, 0.0f },
490         1, 1
491     },
492     // padding (0x22)
493     {
494         nullptr,
495         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
496         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
497         0, 0, 0, false, false, false, false,
498         { false, false, false, false },
499         { 0.0f, 0.0f, 0.0f, 0.0f },
500         1, 1
501     },
502     // padding (0x23)
503     {
504         nullptr,
505         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
506         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
507         0, 0, 0, false, false, false, false,
508         { false, false, false, false },
509         { 0.0f, 0.0f, 0.0f, 0.0f },
510         1, 1
511     },
512     // padding (0x24)
513     {
514         nullptr,
515         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
516         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
517         0, 0, 0, false, false, false, false,
518         { false, false, false, false },
519         { 0.0f, 0.0f, 0.0f, 0.0f },
520         1, 1
521     },
522     // padding (0x25)
523     {
524         nullptr,
525         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
526         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
527         0, 0, 0, false, false, false, false,
528         { false, false, false, false },
529         { 0.0f, 0.0f, 0.0f, 0.0f },
530         1, 1
531     },
532     // padding (0x26)
533     {
534         nullptr,
535         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
536         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
537         0, 0, 0, false, false, false, false,
538         { false, false, false, false },
539         { 0.0f, 0.0f, 0.0f, 0.0f },
540         1, 1
541     },
542     // padding (0x27)
543     {
544         nullptr,
545         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
546         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
547         0, 0, 0, false, false, false, false,
548         { false, false, false, false },
549         { 0.0f, 0.0f, 0.0f, 0.0f },
550         1, 1
551     },
552     // padding (0x28)
553     {
554         nullptr,
555         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
556         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
557         0, 0, 0, false, false, false, false,
558         { false, false, false, false },
559         { 0.0f, 0.0f, 0.0f, 0.0f },
560         1, 1
561     },
562     // padding (0x29)
563     {
564         nullptr,
565         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
566         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
567         0, 0, 0, false, false, false, false,
568         { false, false, false, false },
569         { 0.0f, 0.0f, 0.0f, 0.0f },
570         1, 1
571     },
572     // padding (0x2A)
573     {
574         nullptr,
575         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
576         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
577         0, 0, 0, false, false, false, false,
578         { false, false, false, false },
579         { 0.0f, 0.0f, 0.0f, 0.0f },
580         1, 1
581     },
582     // padding (0x2B)
583     {
584         nullptr,
585         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
586         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
587         0, 0, 0, false, false, false, false,
588         { false, false, false, false },
589         { 0.0f, 0.0f, 0.0f, 0.0f },
590         1, 1
591     },
592     // padding (0x2C)
593     {
594         nullptr,
595         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
596         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
597         0, 0, 0, false, false, false, false,
598         { false, false, false, false },
599         { 0.0f, 0.0f, 0.0f, 0.0f },
600         1, 1
601     },
602     // padding (0x2D)
603     {
604         nullptr,
605         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
606         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
607         0, 0, 0, false, false, false, false,
608         { false, false, false, false },
609         { 0.0f, 0.0f, 0.0f, 0.0f },
610         1, 1
611     },
612     // padding (0x2E)
613     {
614         nullptr,
615         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
616         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
617         0, 0, 0, false, false, false, false,
618         { false, false, false, false },
619         { 0.0f, 0.0f, 0.0f, 0.0f },
620         1, 1
621     },
622     // padding (0x2F)
623     {
624         nullptr,
625         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
626         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
627         0, 0, 0, false, false, false, false,
628         { false, false, false, false },
629         { 0.0f, 0.0f, 0.0f, 0.0f },
630         1, 1
631     },
632     // padding (0x30)
633     {
634         nullptr,
635         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
636         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
637         0, 0, 0, false, false, false, false,
638         { false, false, false, false },
639         { 0.0f, 0.0f, 0.0f, 0.0f },
640         1, 1
641     },
642     // padding (0x31)
643     {
644         nullptr,
645         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
646         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
647         0, 0, 0, false, false, false, false,
648         { false, false, false, false },
649         { 0.0f, 0.0f, 0.0f, 0.0f },
650         1, 1
651     },
652     // padding (0x32)
653     {
654         nullptr,
655         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
656         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
657         0, 0, 0, false, false, false, false,
658         { false, false, false, false },
659         { 0.0f, 0.0f, 0.0f, 0.0f },
660         1, 1
661     },
662     // padding (0x33)
663     {
664         nullptr,
665         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
666         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
667         0, 0, 0, false, false, false, false,
668         { false, false, false, false },
669         { 0.0f, 0.0f, 0.0f, 0.0f },
670         1, 1
671     },
672     // padding (0x34)
673     {
674         nullptr,
675         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
676         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
677         0, 0, 0, false, false, false, false,
678         { false, false, false, false },
679         { 0.0f, 0.0f, 0.0f, 0.0f },
680         1, 1
681     },
682     // padding (0x35)
683     {
684         nullptr,
685         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
686         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
687         0, 0, 0, false, false, false, false,
688         { false, false, false, false },
689         { 0.0f, 0.0f, 0.0f, 0.0f },
690         1, 1
691     },
692     // padding (0x36)
693     {
694         nullptr,
695         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
696         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
697         0, 0, 0, false, false, false, false,
698         { false, false, false, false },
699         { 0.0f, 0.0f, 0.0f, 0.0f },
700         1, 1
701     },
702     // padding (0x37)
703     {
704         nullptr,
705         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
706         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
707         0, 0, 0, false, false, false, false,
708         { false, false, false, false },
709         { 0.0f, 0.0f, 0.0f, 0.0f },
710         1, 1
711     },
712     // padding (0x38)
713     {
714         nullptr,
715         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
716         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
717         0, 0, 0, false, false, false, false,
718         { false, false, false, false },
719         { 0.0f, 0.0f, 0.0f, 0.0f },
720         1, 1
721     },
722     // padding (0x39)
723     {
724         nullptr,
725         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
726         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
727         0, 0, 0, false, false, false, false,
728         { false, false, false, false },
729         { 0.0f, 0.0f, 0.0f, 0.0f },
730         1, 1
731     },
732     // padding (0x3A)
733     {
734         nullptr,
735         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
736         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
737         0, 0, 0, false, false, false, false,
738         { false, false, false, false },
739         { 0.0f, 0.0f, 0.0f, 0.0f },
740         1, 1
741     },
742     // padding (0x3B)
743     {
744         nullptr,
745         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
746         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
747         0, 0, 0, false, false, false, false,
748         { false, false, false, false },
749         { 0.0f, 0.0f, 0.0f, 0.0f },
750         1, 1
751     },
752     // padding (0x3C)
753     {
754         nullptr,
755         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
756         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
757         0, 0, 0, false, false, false, false,
758         { false, false, false, false },
759         { 0.0f, 0.0f, 0.0f, 0.0f },
760         1, 1
761     },
762     // padding (0x3D)
763     {
764         nullptr,
765         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
766         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
767         0, 0, 0, false, false, false, false,
768         { false, false, false, false },
769         { 0.0f, 0.0f, 0.0f, 0.0f },
770         1, 1
771     },
772     // padding (0x3E)
773     {
774         nullptr,
775         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
776         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
777         0, 0, 0, false, false, false, false,
778         { false, false, false, false },
779         { 0.0f, 0.0f, 0.0f, 0.0f },
780         1, 1
781     },
782     // padding (0x3F)
783     {
784         nullptr,
785         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
786         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
787         0, 0, 0, false, false, false, false,
788         { false, false, false, false },
789         { 0.0f, 0.0f, 0.0f, 0.0f },
790         1, 1
791     },
792     // R32G32B32_FLOAT (0x40)
793     {
794         "R32G32B32_FLOAT",
795         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
796         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
797         { 0, 1, 2, 0 }, // Swizzle
798         { 32, 32, 32, 0 }, // Bits per component
799         96, // Bits per element
800         12, // Bytes per element
801         3, // Num components
802         false, // isSRGB
803         false, // isBC
804         false, // isSubsampled
805         false, // isLuminance
806         { false, false, false, false }, // Is normalized?
807         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
808         1, // bcWidth
809         1, // bcHeight
810     },
811 
812     // R32G32B32_SINT (0x41)
813     {
814         "R32G32B32_SINT",
815         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
816         { 0, 0, 0, 0x1 }, // Defaults for missing components
817         { 0, 1, 2, 0 }, // Swizzle
818         { 32, 32, 32, 0 }, // Bits per component
819         96, // Bits per element
820         12, // Bytes per element
821         3, // Num components
822         false, // isSRGB
823         false, // isBC
824         false, // isSubsampled
825         false, // isLuminance
826         { false, false, false, false }, // Is normalized?
827         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
828         1, // bcWidth
829         1, // bcHeight
830     },
831 
832     // R32G32B32_UINT (0x42)
833     {
834         "R32G32B32_UINT",
835         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
836         { 0, 0, 0, 0x1 }, // Defaults for missing components
837         { 0, 1, 2, 0 }, // Swizzle
838         { 32, 32, 32, 0 }, // Bits per component
839         96, // Bits per element
840         12, // Bytes per element
841         3, // Num components
842         false, // isSRGB
843         false, // isBC
844         false, // isSubsampled
845         false, // isLuminance
846         { false, false, false, false }, // Is normalized?
847         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
848         1, // bcWidth
849         1, // bcHeight
850     },
851 
852     // padding (0x43)
853     {
854         nullptr,
855         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
856         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
857         0, 0, 0, false, false, false, false,
858         { false, false, false, false },
859         { 0.0f, 0.0f, 0.0f, 0.0f },
860         1, 1
861     },
862     // padding (0x44)
863     {
864         nullptr,
865         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
866         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
867         0, 0, 0, false, false, false, false,
868         { false, false, false, false },
869         { 0.0f, 0.0f, 0.0f, 0.0f },
870         1, 1
871     },
872     // R32G32B32_SSCALED (0x45)
873     {
874         "R32G32B32_SSCALED",
875         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN },
876         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
877         { 0, 1, 2, 0 }, // Swizzle
878         { 32, 32, 32, 0 }, // Bits per component
879         96, // Bits per element
880         12, // Bytes per element
881         3, // Num components
882         false, // isSRGB
883         false, // isBC
884         false, // isSubsampled
885         false, // isLuminance
886         { false, false, false, false }, // Is normalized?
887         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
888         1, // bcWidth
889         1, // bcHeight
890     },
891 
892     // R32G32B32_USCALED (0x46)
893     {
894         "R32G32B32_USCALED",
895         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN },
896         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
897         { 0, 1, 2, 0 }, // Swizzle
898         { 32, 32, 32, 0 }, // Bits per component
899         96, // Bits per element
900         12, // Bytes per element
901         3, // Num components
902         false, // isSRGB
903         false, // isBC
904         false, // isSubsampled
905         false, // isLuminance
906         { false, false, false, false }, // Is normalized?
907         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
908         1, // bcWidth
909         1, // bcHeight
910     },
911 
912     // padding (0x47)
913     {
914         nullptr,
915         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
916         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
917         0, 0, 0, false, false, false, false,
918         { false, false, false, false },
919         { 0.0f, 0.0f, 0.0f, 0.0f },
920         1, 1
921     },
922     // padding (0x48)
923     {
924         nullptr,
925         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
926         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
927         0, 0, 0, false, false, false, false,
928         { false, false, false, false },
929         { 0.0f, 0.0f, 0.0f, 0.0f },
930         1, 1
931     },
932     // padding (0x49)
933     {
934         nullptr,
935         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
936         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
937         0, 0, 0, false, false, false, false,
938         { false, false, false, false },
939         { 0.0f, 0.0f, 0.0f, 0.0f },
940         1, 1
941     },
942     // padding (0x4A)
943     {
944         nullptr,
945         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
946         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
947         0, 0, 0, false, false, false, false,
948         { false, false, false, false },
949         { 0.0f, 0.0f, 0.0f, 0.0f },
950         1, 1
951     },
952     // padding (0x4B)
953     {
954         nullptr,
955         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
956         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
957         0, 0, 0, false, false, false, false,
958         { false, false, false, false },
959         { 0.0f, 0.0f, 0.0f, 0.0f },
960         1, 1
961     },
962     // padding (0x4C)
963     {
964         nullptr,
965         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
966         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
967         0, 0, 0, false, false, false, false,
968         { false, false, false, false },
969         { 0.0f, 0.0f, 0.0f, 0.0f },
970         1, 1
971     },
972     // padding (0x4D)
973     {
974         nullptr,
975         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
976         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
977         0, 0, 0, false, false, false, false,
978         { false, false, false, false },
979         { 0.0f, 0.0f, 0.0f, 0.0f },
980         1, 1
981     },
982     // padding (0x4E)
983     {
984         nullptr,
985         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
986         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
987         0, 0, 0, false, false, false, false,
988         { false, false, false, false },
989         { 0.0f, 0.0f, 0.0f, 0.0f },
990         1, 1
991     },
992     // padding (0x4F)
993     {
994         nullptr,
995         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
996         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
997         0, 0, 0, false, false, false, false,
998         { false, false, false, false },
999         { 0.0f, 0.0f, 0.0f, 0.0f },
1000         1, 1
1001     },
1002     // R32G32B32_SFIXED (0x50)
1003     {
1004         "R32G32B32_SFIXED",
1005         { SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN },
1006         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1007         { 0, 1, 2, 0 }, // Swizzle
1008         { 32, 32, 32, 0 }, // Bits per component
1009         96, // Bits per element
1010         12, // Bytes per element
1011         3, // Num components
1012         false, // isSRGB
1013         false, // isBC
1014         false, // isSubsampled
1015         false, // isLuminance
1016         { false, false, false, false }, // Is normalized?
1017         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
1018         1, // bcWidth
1019         1, // bcHeight
1020     },
1021 
1022     // padding (0x51)
1023     {
1024         nullptr,
1025         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1026         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1027         0, 0, 0, false, false, false, false,
1028         { false, false, false, false },
1029         { 0.0f, 0.0f, 0.0f, 0.0f },
1030         1, 1
1031     },
1032     // padding (0x52)
1033     {
1034         nullptr,
1035         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1036         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1037         0, 0, 0, false, false, false, false,
1038         { false, false, false, false },
1039         { 0.0f, 0.0f, 0.0f, 0.0f },
1040         1, 1
1041     },
1042     // padding (0x53)
1043     {
1044         nullptr,
1045         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1046         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1047         0, 0, 0, false, false, false, false,
1048         { false, false, false, false },
1049         { 0.0f, 0.0f, 0.0f, 0.0f },
1050         1, 1
1051     },
1052     // padding (0x54)
1053     {
1054         nullptr,
1055         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1056         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1057         0, 0, 0, false, false, false, false,
1058         { false, false, false, false },
1059         { 0.0f, 0.0f, 0.0f, 0.0f },
1060         1, 1
1061     },
1062     // padding (0x55)
1063     {
1064         nullptr,
1065         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1066         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1067         0, 0, 0, false, false, false, false,
1068         { false, false, false, false },
1069         { 0.0f, 0.0f, 0.0f, 0.0f },
1070         1, 1
1071     },
1072     // padding (0x56)
1073     {
1074         nullptr,
1075         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1076         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1077         0, 0, 0, false, false, false, false,
1078         { false, false, false, false },
1079         { 0.0f, 0.0f, 0.0f, 0.0f },
1080         1, 1
1081     },
1082     // padding (0x57)
1083     {
1084         nullptr,
1085         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1086         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1087         0, 0, 0, false, false, false, false,
1088         { false, false, false, false },
1089         { 0.0f, 0.0f, 0.0f, 0.0f },
1090         1, 1
1091     },
1092     // padding (0x58)
1093     {
1094         nullptr,
1095         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1096         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1097         0, 0, 0, false, false, false, false,
1098         { false, false, false, false },
1099         { 0.0f, 0.0f, 0.0f, 0.0f },
1100         1, 1
1101     },
1102     // padding (0x59)
1103     {
1104         nullptr,
1105         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1106         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1107         0, 0, 0, false, false, false, false,
1108         { false, false, false, false },
1109         { 0.0f, 0.0f, 0.0f, 0.0f },
1110         1, 1
1111     },
1112     // padding (0x5A)
1113     {
1114         nullptr,
1115         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1116         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1117         0, 0, 0, false, false, false, false,
1118         { false, false, false, false },
1119         { 0.0f, 0.0f, 0.0f, 0.0f },
1120         1, 1
1121     },
1122     // padding (0x5B)
1123     {
1124         nullptr,
1125         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1126         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1127         0, 0, 0, false, false, false, false,
1128         { false, false, false, false },
1129         { 0.0f, 0.0f, 0.0f, 0.0f },
1130         1, 1
1131     },
1132     // padding (0x5C)
1133     {
1134         nullptr,
1135         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1136         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1137         0, 0, 0, false, false, false, false,
1138         { false, false, false, false },
1139         { 0.0f, 0.0f, 0.0f, 0.0f },
1140         1, 1
1141     },
1142     // padding (0x5D)
1143     {
1144         nullptr,
1145         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1146         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1147         0, 0, 0, false, false, false, false,
1148         { false, false, false, false },
1149         { 0.0f, 0.0f, 0.0f, 0.0f },
1150         1, 1
1151     },
1152     // padding (0x5E)
1153     {
1154         nullptr,
1155         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1156         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1157         0, 0, 0, false, false, false, false,
1158         { false, false, false, false },
1159         { 0.0f, 0.0f, 0.0f, 0.0f },
1160         1, 1
1161     },
1162     // padding (0x5F)
1163     {
1164         nullptr,
1165         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1166         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1167         0, 0, 0, false, false, false, false,
1168         { false, false, false, false },
1169         { 0.0f, 0.0f, 0.0f, 0.0f },
1170         1, 1
1171     },
1172     // padding (0x60)
1173     {
1174         nullptr,
1175         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1176         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1177         0, 0, 0, false, false, false, false,
1178         { false, false, false, false },
1179         { 0.0f, 0.0f, 0.0f, 0.0f },
1180         1, 1
1181     },
1182     // padding (0x61)
1183     {
1184         nullptr,
1185         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1186         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1187         0, 0, 0, false, false, false, false,
1188         { false, false, false, false },
1189         { 0.0f, 0.0f, 0.0f, 0.0f },
1190         1, 1
1191     },
1192     // padding (0x62)
1193     {
1194         nullptr,
1195         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1196         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1197         0, 0, 0, false, false, false, false,
1198         { false, false, false, false },
1199         { 0.0f, 0.0f, 0.0f, 0.0f },
1200         1, 1
1201     },
1202     // padding (0x63)
1203     {
1204         nullptr,
1205         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1206         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1207         0, 0, 0, false, false, false, false,
1208         { false, false, false, false },
1209         { 0.0f, 0.0f, 0.0f, 0.0f },
1210         1, 1
1211     },
1212     // padding (0x64)
1213     {
1214         nullptr,
1215         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1216         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1217         0, 0, 0, false, false, false, false,
1218         { false, false, false, false },
1219         { 0.0f, 0.0f, 0.0f, 0.0f },
1220         1, 1
1221     },
1222     // padding (0x65)
1223     {
1224         nullptr,
1225         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1226         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1227         0, 0, 0, false, false, false, false,
1228         { false, false, false, false },
1229         { 0.0f, 0.0f, 0.0f, 0.0f },
1230         1, 1
1231     },
1232     // padding (0x66)
1233     {
1234         nullptr,
1235         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1236         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1237         0, 0, 0, false, false, false, false,
1238         { false, false, false, false },
1239         { 0.0f, 0.0f, 0.0f, 0.0f },
1240         1, 1
1241     },
1242     // padding (0x67)
1243     {
1244         nullptr,
1245         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1246         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1247         0, 0, 0, false, false, false, false,
1248         { false, false, false, false },
1249         { 0.0f, 0.0f, 0.0f, 0.0f },
1250         1, 1
1251     },
1252     // padding (0x68)
1253     {
1254         nullptr,
1255         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1256         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1257         0, 0, 0, false, false, false, false,
1258         { false, false, false, false },
1259         { 0.0f, 0.0f, 0.0f, 0.0f },
1260         1, 1
1261     },
1262     // padding (0x69)
1263     {
1264         nullptr,
1265         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1266         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1267         0, 0, 0, false, false, false, false,
1268         { false, false, false, false },
1269         { 0.0f, 0.0f, 0.0f, 0.0f },
1270         1, 1
1271     },
1272     // padding (0x6A)
1273     {
1274         nullptr,
1275         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1276         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1277         0, 0, 0, false, false, false, false,
1278         { false, false, false, false },
1279         { 0.0f, 0.0f, 0.0f, 0.0f },
1280         1, 1
1281     },
1282     // padding (0x6B)
1283     {
1284         nullptr,
1285         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1286         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1287         0, 0, 0, false, false, false, false,
1288         { false, false, false, false },
1289         { 0.0f, 0.0f, 0.0f, 0.0f },
1290         1, 1
1291     },
1292     // padding (0x6C)
1293     {
1294         nullptr,
1295         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1296         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1297         0, 0, 0, false, false, false, false,
1298         { false, false, false, false },
1299         { 0.0f, 0.0f, 0.0f, 0.0f },
1300         1, 1
1301     },
1302     // padding (0x6D)
1303     {
1304         nullptr,
1305         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1306         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1307         0, 0, 0, false, false, false, false,
1308         { false, false, false, false },
1309         { 0.0f, 0.0f, 0.0f, 0.0f },
1310         1, 1
1311     },
1312     // padding (0x6E)
1313     {
1314         nullptr,
1315         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1316         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1317         0, 0, 0, false, false, false, false,
1318         { false, false, false, false },
1319         { 0.0f, 0.0f, 0.0f, 0.0f },
1320         1, 1
1321     },
1322     // padding (0x6F)
1323     {
1324         nullptr,
1325         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1326         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1327         0, 0, 0, false, false, false, false,
1328         { false, false, false, false },
1329         { 0.0f, 0.0f, 0.0f, 0.0f },
1330         1, 1
1331     },
1332     // padding (0x70)
1333     {
1334         nullptr,
1335         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1336         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1337         0, 0, 0, false, false, false, false,
1338         { false, false, false, false },
1339         { 0.0f, 0.0f, 0.0f, 0.0f },
1340         1, 1
1341     },
1342     // padding (0x71)
1343     {
1344         nullptr,
1345         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1346         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1347         0, 0, 0, false, false, false, false,
1348         { false, false, false, false },
1349         { 0.0f, 0.0f, 0.0f, 0.0f },
1350         1, 1
1351     },
1352     // padding (0x72)
1353     {
1354         nullptr,
1355         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1356         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1357         0, 0, 0, false, false, false, false,
1358         { false, false, false, false },
1359         { 0.0f, 0.0f, 0.0f, 0.0f },
1360         1, 1
1361     },
1362     // padding (0x73)
1363     {
1364         nullptr,
1365         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1366         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1367         0, 0, 0, false, false, false, false,
1368         { false, false, false, false },
1369         { 0.0f, 0.0f, 0.0f, 0.0f },
1370         1, 1
1371     },
1372     // padding (0x74)
1373     {
1374         nullptr,
1375         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1376         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1377         0, 0, 0, false, false, false, false,
1378         { false, false, false, false },
1379         { 0.0f, 0.0f, 0.0f, 0.0f },
1380         1, 1
1381     },
1382     // padding (0x75)
1383     {
1384         nullptr,
1385         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1386         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1387         0, 0, 0, false, false, false, false,
1388         { false, false, false, false },
1389         { 0.0f, 0.0f, 0.0f, 0.0f },
1390         1, 1
1391     },
1392     // padding (0x76)
1393     {
1394         nullptr,
1395         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1396         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1397         0, 0, 0, false, false, false, false,
1398         { false, false, false, false },
1399         { 0.0f, 0.0f, 0.0f, 0.0f },
1400         1, 1
1401     },
1402     // padding (0x77)
1403     {
1404         nullptr,
1405         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1406         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1407         0, 0, 0, false, false, false, false,
1408         { false, false, false, false },
1409         { 0.0f, 0.0f, 0.0f, 0.0f },
1410         1, 1
1411     },
1412     // padding (0x78)
1413     {
1414         nullptr,
1415         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1416         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1417         0, 0, 0, false, false, false, false,
1418         { false, false, false, false },
1419         { 0.0f, 0.0f, 0.0f, 0.0f },
1420         1, 1
1421     },
1422     // padding (0x79)
1423     {
1424         nullptr,
1425         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1426         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1427         0, 0, 0, false, false, false, false,
1428         { false, false, false, false },
1429         { 0.0f, 0.0f, 0.0f, 0.0f },
1430         1, 1
1431     },
1432     // padding (0x7A)
1433     {
1434         nullptr,
1435         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1436         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1437         0, 0, 0, false, false, false, false,
1438         { false, false, false, false },
1439         { 0.0f, 0.0f, 0.0f, 0.0f },
1440         1, 1
1441     },
1442     // padding (0x7B)
1443     {
1444         nullptr,
1445         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1446         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1447         0, 0, 0, false, false, false, false,
1448         { false, false, false, false },
1449         { 0.0f, 0.0f, 0.0f, 0.0f },
1450         1, 1
1451     },
1452     // padding (0x7C)
1453     {
1454         nullptr,
1455         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1456         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1457         0, 0, 0, false, false, false, false,
1458         { false, false, false, false },
1459         { 0.0f, 0.0f, 0.0f, 0.0f },
1460         1, 1
1461     },
1462     // padding (0x7D)
1463     {
1464         nullptr,
1465         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1466         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1467         0, 0, 0, false, false, false, false,
1468         { false, false, false, false },
1469         { 0.0f, 0.0f, 0.0f, 0.0f },
1470         1, 1
1471     },
1472     // padding (0x7E)
1473     {
1474         nullptr,
1475         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1476         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1477         0, 0, 0, false, false, false, false,
1478         { false, false, false, false },
1479         { 0.0f, 0.0f, 0.0f, 0.0f },
1480         1, 1
1481     },
1482     // padding (0x7F)
1483     {
1484         nullptr,
1485         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1486         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1487         0, 0, 0, false, false, false, false,
1488         { false, false, false, false },
1489         { 0.0f, 0.0f, 0.0f, 0.0f },
1490         1, 1
1491     },
1492     // R16G16B16A16_UNORM (0x80)
1493     {
1494         "R16G16B16A16_UNORM",
1495         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
1496         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1497         { 0, 1, 2, 3 }, // Swizzle
1498         { 16, 16, 16, 16 }, // Bits per component
1499         64, // Bits per element
1500         8, // Bytes per element
1501         4, // Num components
1502         false, // isSRGB
1503         false, // isBC
1504         false, // isSubsampled
1505         false, // isLuminance
1506         { true, true, true, true }, // Is normalized?
1507         { 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f }, // To float scale factor
1508         1, // bcWidth
1509         1, // bcHeight
1510     },
1511 
1512     // R16G16B16A16_SNORM (0x81)
1513     {
1514         "R16G16B16A16_SNORM",
1515         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
1516         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1517         { 0, 1, 2, 3 }, // Swizzle
1518         { 16, 16, 16, 16 }, // Bits per component
1519         64, // Bits per element
1520         8, // Bytes per element
1521         4, // Num components
1522         false, // isSRGB
1523         false, // isBC
1524         false, // isSubsampled
1525         false, // isLuminance
1526         { true, true, true, true }, // Is normalized?
1527         { 1.0f / 32767.0f, 1.0f / 32767.0f, 1.0f / 32767.0f, 1.0f / 32767.0f }, // To float scale factor
1528         1, // bcWidth
1529         1, // bcHeight
1530     },
1531 
1532     // R16G16B16A16_SINT (0x82)
1533     {
1534         "R16G16B16A16_SINT",
1535         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
1536         { 0, 0, 0, 0x1 }, // Defaults for missing components
1537         { 0, 1, 2, 3 }, // Swizzle
1538         { 16, 16, 16, 16 }, // Bits per component
1539         64, // Bits per element
1540         8, // Bytes per element
1541         4, // Num components
1542         false, // isSRGB
1543         false, // isBC
1544         false, // isSubsampled
1545         false, // isLuminance
1546         { false, false, false, false }, // Is normalized?
1547         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1548         1, // bcWidth
1549         1, // bcHeight
1550     },
1551 
1552     // R16G16B16A16_UINT (0x83)
1553     {
1554         "R16G16B16A16_UINT",
1555         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
1556         { 0, 0, 0, 0x1 }, // Defaults for missing components
1557         { 0, 1, 2, 3 }, // Swizzle
1558         { 16, 16, 16, 16 }, // Bits per component
1559         64, // Bits per element
1560         8, // Bytes per element
1561         4, // Num components
1562         false, // isSRGB
1563         false, // isBC
1564         false, // isSubsampled
1565         false, // isLuminance
1566         { false, false, false, false }, // Is normalized?
1567         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1568         1, // bcWidth
1569         1, // bcHeight
1570     },
1571 
1572     // R16G16B16A16_FLOAT (0x84)
1573     {
1574         "R16G16B16A16_FLOAT",
1575         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT },
1576         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1577         { 0, 1, 2, 3 }, // Swizzle
1578         { 16, 16, 16, 16 }, // Bits per component
1579         64, // Bits per element
1580         8, // Bytes per element
1581         4, // Num components
1582         false, // isSRGB
1583         false, // isBC
1584         false, // isSubsampled
1585         false, // isLuminance
1586         { false, false, false, false }, // Is normalized?
1587         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1588         1, // bcWidth
1589         1, // bcHeight
1590     },
1591 
1592     // R32G32_FLOAT (0x85)
1593     {
1594         "R32G32_FLOAT",
1595         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1596         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1597         { 0, 1, 0, 0 }, // Swizzle
1598         { 32, 32, 0, 0 }, // Bits per component
1599         64, // Bits per element
1600         8, // Bytes per element
1601         2, // Num components
1602         false, // isSRGB
1603         false, // isBC
1604         false, // isSubsampled
1605         false, // isLuminance
1606         { false, false, false, false }, // Is normalized?
1607         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1608         1, // bcWidth
1609         1, // bcHeight
1610     },
1611 
1612     // R32G32_SINT (0x86)
1613     {
1614         "R32G32_SINT",
1615         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1616         { 0, 0, 0, 0x1 }, // Defaults for missing components
1617         { 0, 1, 0, 0 }, // Swizzle
1618         { 32, 32, 0, 0 }, // Bits per component
1619         64, // Bits per element
1620         8, // Bytes per element
1621         2, // Num components
1622         false, // isSRGB
1623         false, // isBC
1624         false, // isSubsampled
1625         false, // isLuminance
1626         { false, false, false, false }, // Is normalized?
1627         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1628         1, // bcWidth
1629         1, // bcHeight
1630     },
1631 
1632     // R32G32_UINT (0x87)
1633     {
1634         "R32G32_UINT",
1635         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1636         { 0, 0, 0, 0x1 }, // Defaults for missing components
1637         { 0, 1, 0, 0 }, // Swizzle
1638         { 32, 32, 0, 0 }, // Bits per component
1639         64, // Bits per element
1640         8, // Bytes per element
1641         2, // Num components
1642         false, // isSRGB
1643         false, // isBC
1644         false, // isSubsampled
1645         false, // isLuminance
1646         { false, false, false, false }, // Is normalized?
1647         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1648         1, // bcWidth
1649         1, // bcHeight
1650     },
1651 
1652     // R32_FLOAT_X8X24_TYPELESS (0x88)
1653     {
1654         "R32_FLOAT_X8X24_TYPELESS",
1655         { SWR_TYPE_FLOAT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1656         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1657         { 0, 1, 2, 3 }, // Swizzle
1658         { 32, 32, 0, 0 }, // Bits per component
1659         64, // Bits per element
1660         8, // Bytes per element
1661         2, // Num components
1662         false, // isSRGB
1663         false, // isBC
1664         false, // isSubsampled
1665         false, // isLuminance
1666         { false, false, false, false }, // Is normalized?
1667         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1668         1, // bcWidth
1669         1, // bcHeight
1670     },
1671 
1672     // X32_TYPELESS_G8X24_UINT (0x89)
1673     {
1674         "X32_TYPELESS_G8X24_UINT",
1675         { SWR_TYPE_UINT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1676         { 0, 0, 0, 0x1 }, // Defaults for missing components
1677         { 0, 1, 2, 3 }, // Swizzle
1678         { 32, 32, 0, 0 }, // Bits per component
1679         64, // Bits per element
1680         8, // Bytes per element
1681         2, // Num components
1682         false, // isSRGB
1683         false, // isBC
1684         false, // isSubsampled
1685         false, // isLuminance
1686         { false, false, false, false }, // Is normalized?
1687         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1688         1, // bcWidth
1689         1, // bcHeight
1690     },
1691 
1692     // L32A32_FLOAT (0x8A)
1693     {
1694         "L32A32_FLOAT",
1695         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1696         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1697         { 0, 3, 0, 0 }, // Swizzle
1698         { 32, 32, 0, 0 }, // Bits per component
1699         64, // Bits per element
1700         8, // Bytes per element
1701         2, // Num components
1702         false, // isSRGB
1703         false, // isBC
1704         false, // isSubsampled
1705         true, // isLuminance
1706         { false, false, false, false }, // Is normalized?
1707         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1708         1, // bcWidth
1709         1, // bcHeight
1710     },
1711 
1712     // padding (0x8B)
1713     {
1714         nullptr,
1715         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1716         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1717         0, 0, 0, false, false, false, false,
1718         { false, false, false, false },
1719         { 0.0f, 0.0f, 0.0f, 0.0f },
1720         1, 1
1721     },
1722     // padding (0x8C)
1723     {
1724         nullptr,
1725         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1726         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1727         0, 0, 0, false, false, false, false,
1728         { false, false, false, false },
1729         { 0.0f, 0.0f, 0.0f, 0.0f },
1730         1, 1
1731     },
1732     // R64_FLOAT (0x8D)
1733     {
1734         "R64_FLOAT",
1735         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1736         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1737         { 0, 0, 0, 0 }, // Swizzle
1738         { 64, 0, 0, 0 }, // Bits per component
1739         64, // Bits per element
1740         8, // Bytes per element
1741         1, // Num components
1742         false, // isSRGB
1743         false, // isBC
1744         false, // isSubsampled
1745         false, // isLuminance
1746         { false, false, false, false }, // Is normalized?
1747         { 1.0f, 0, 0, 0 }, // To float scale factor
1748         1, // bcWidth
1749         1, // bcHeight
1750     },
1751 
1752     // R16G16B16X16_UNORM (0x8E)
1753     {
1754         "R16G16B16X16_UNORM",
1755         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
1756         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1757         { 0, 1, 2, 3 }, // Swizzle
1758         { 16, 16, 16, 16 }, // Bits per component
1759         64, // Bits per element
1760         8, // Bytes per element
1761         4, // Num components
1762         false, // isSRGB
1763         false, // isBC
1764         false, // isSubsampled
1765         false, // isLuminance
1766         { true, true, true, false }, // Is normalized?
1767         { 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f }, // To float scale factor
1768         1, // bcWidth
1769         1, // bcHeight
1770     },
1771 
1772     // R16G16B16X16_FLOAT (0x8F)
1773     {
1774         "R16G16B16X16_FLOAT",
1775         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNUSED },
1776         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1777         { 0, 1, 2, 3 }, // Swizzle
1778         { 16, 16, 16, 16 }, // Bits per component
1779         64, // Bits per element
1780         8, // Bytes per element
1781         4, // Num components
1782         false, // isSRGB
1783         false, // isBC
1784         false, // isSubsampled
1785         false, // isLuminance
1786         { false, false, false, false }, // Is normalized?
1787         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1788         1, // bcWidth
1789         1, // bcHeight
1790     },
1791 
1792     // padding (0x90)
1793     {
1794         nullptr,
1795         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1796         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1797         0, 0, 0, false, false, false, false,
1798         { false, false, false, false },
1799         { 0.0f, 0.0f, 0.0f, 0.0f },
1800         1, 1
1801     },
1802     // L32X32_FLOAT (0x91)
1803     {
1804         "L32X32_FLOAT",
1805         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1806         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1807         { 0, 3, 0, 0 }, // Swizzle
1808         { 32, 32, 0, 0 }, // Bits per component
1809         64, // Bits per element
1810         8, // Bytes per element
1811         2, // Num components
1812         false, // isSRGB
1813         false, // isBC
1814         false, // isSubsampled
1815         true, // isLuminance
1816         { false, false, false, false }, // Is normalized?
1817         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1818         1, // bcWidth
1819         1, // bcHeight
1820     },
1821 
1822     // I32X32_FLOAT (0x92)
1823     {
1824         "I32X32_FLOAT",
1825         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1826         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1827         { 0, 3, 0, 0 }, // Swizzle
1828         { 32, 32, 0, 0 }, // Bits per component
1829         64, // Bits per element
1830         8, // Bytes per element
1831         2, // Num components
1832         false, // isSRGB
1833         false, // isBC
1834         false, // isSubsampled
1835         true, // isLuminance
1836         { false, false, false, false }, // Is normalized?
1837         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1838         1, // bcWidth
1839         1, // bcHeight
1840     },
1841 
1842     // R16G16B16A16_SSCALED (0x93)
1843     {
1844         "R16G16B16A16_SSCALED",
1845         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
1846         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1847         { 0, 1, 2, 3 }, // Swizzle
1848         { 16, 16, 16, 16 }, // Bits per component
1849         64, // Bits per element
1850         8, // Bytes per element
1851         4, // Num components
1852         false, // isSRGB
1853         false, // isBC
1854         false, // isSubsampled
1855         false, // isLuminance
1856         { false, false, false, false }, // Is normalized?
1857         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1858         1, // bcWidth
1859         1, // bcHeight
1860     },
1861 
1862     // R16G16B16A16_USCALED (0x94)
1863     {
1864         "R16G16B16A16_USCALED",
1865         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
1866         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1867         { 0, 1, 2, 3 }, // Swizzle
1868         { 16, 16, 16, 16 }, // Bits per component
1869         64, // Bits per element
1870         8, // Bytes per element
1871         4, // Num components
1872         false, // isSRGB
1873         false, // isBC
1874         false, // isSubsampled
1875         false, // isLuminance
1876         { false, false, false, false }, // Is normalized?
1877         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1878         1, // bcWidth
1879         1, // bcHeight
1880     },
1881 
1882     // R32G32_SSCALED (0x95)
1883     {
1884         "R32G32_SSCALED",
1885         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1886         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1887         { 0, 1, 0, 0 }, // Swizzle
1888         { 32, 32, 0, 0 }, // Bits per component
1889         64, // Bits per element
1890         8, // Bytes per element
1891         2, // Num components
1892         false, // isSRGB
1893         false, // isBC
1894         false, // isSubsampled
1895         false, // isLuminance
1896         { false, false, false, false }, // Is normalized?
1897         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1898         1, // bcWidth
1899         1, // bcHeight
1900     },
1901 
1902     // R32G32_USCALED (0x96)
1903     {
1904         "R32G32_USCALED",
1905         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1906         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1907         { 0, 1, 0, 0 }, // Swizzle
1908         { 32, 32, 0, 0 }, // Bits per component
1909         64, // Bits per element
1910         8, // Bytes per element
1911         2, // Num components
1912         false, // isSRGB
1913         false, // isBC
1914         false, // isSubsampled
1915         false, // isLuminance
1916         { false, false, false, false }, // Is normalized?
1917         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1918         1, // bcWidth
1919         1, // bcHeight
1920     },
1921 
1922     // padding (0x97)
1923     {
1924         nullptr,
1925         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1926         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1927         0, 0, 0, false, false, false, false,
1928         { false, false, false, false },
1929         { 0.0f, 0.0f, 0.0f, 0.0f },
1930         1, 1
1931     },
1932     // padding (0x98)
1933     {
1934         nullptr,
1935         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1936         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1937         0, 0, 0, false, false, false, false,
1938         { false, false, false, false },
1939         { 0.0f, 0.0f, 0.0f, 0.0f },
1940         1, 1
1941     },
1942     // padding (0x99)
1943     {
1944         nullptr,
1945         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1946         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1947         0, 0, 0, false, false, false, false,
1948         { false, false, false, false },
1949         { 0.0f, 0.0f, 0.0f, 0.0f },
1950         1, 1
1951     },
1952     // padding (0x9A)
1953     {
1954         nullptr,
1955         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1956         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1957         0, 0, 0, false, false, false, false,
1958         { false, false, false, false },
1959         { 0.0f, 0.0f, 0.0f, 0.0f },
1960         1, 1
1961     },
1962     // padding (0x9B)
1963     {
1964         nullptr,
1965         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1966         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1967         0, 0, 0, false, false, false, false,
1968         { false, false, false, false },
1969         { 0.0f, 0.0f, 0.0f, 0.0f },
1970         1, 1
1971     },
1972     // padding (0x9C)
1973     {
1974         nullptr,
1975         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1976         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1977         0, 0, 0, false, false, false, false,
1978         { false, false, false, false },
1979         { 0.0f, 0.0f, 0.0f, 0.0f },
1980         1, 1
1981     },
1982     // padding (0x9D)
1983     {
1984         nullptr,
1985         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1986         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1987         0, 0, 0, false, false, false, false,
1988         { false, false, false, false },
1989         { 0.0f, 0.0f, 0.0f, 0.0f },
1990         1, 1
1991     },
1992     // padding (0x9E)
1993     {
1994         nullptr,
1995         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1996         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1997         0, 0, 0, false, false, false, false,
1998         { false, false, false, false },
1999         { 0.0f, 0.0f, 0.0f, 0.0f },
2000         1, 1
2001     },
2002     // padding (0x9F)
2003     {
2004         nullptr,
2005         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2006         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2007         0, 0, 0, false, false, false, false,
2008         { false, false, false, false },
2009         { 0.0f, 0.0f, 0.0f, 0.0f },
2010         1, 1
2011     },
2012     // R32G32_SFIXED (0xA0)
2013     {
2014         "R32G32_SFIXED",
2015         { SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2016         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2017         { 0, 1, 0, 0 }, // Swizzle
2018         { 32, 32, 0, 0 }, // Bits per component
2019         64, // Bits per element
2020         8, // Bytes per element
2021         2, // Num components
2022         false, // isSRGB
2023         false, // isBC
2024         false, // isSubsampled
2025         false, // isLuminance
2026         { false, false, false, false }, // Is normalized?
2027         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
2028         1, // bcWidth
2029         1, // bcHeight
2030     },
2031 
2032     // padding (0xA1)
2033     {
2034         nullptr,
2035         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2036         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2037         0, 0, 0, false, false, false, false,
2038         { false, false, false, false },
2039         { 0.0f, 0.0f, 0.0f, 0.0f },
2040         1, 1
2041     },
2042     // padding (0xA2)
2043     {
2044         nullptr,
2045         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2046         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2047         0, 0, 0, false, false, false, false,
2048         { false, false, false, false },
2049         { 0.0f, 0.0f, 0.0f, 0.0f },
2050         1, 1
2051     },
2052     // padding (0xA3)
2053     {
2054         nullptr,
2055         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2056         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2057         0, 0, 0, false, false, false, false,
2058         { false, false, false, false },
2059         { 0.0f, 0.0f, 0.0f, 0.0f },
2060         1, 1
2061     },
2062     // padding (0xA4)
2063     {
2064         nullptr,
2065         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2066         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2067         0, 0, 0, false, false, false, false,
2068         { false, false, false, false },
2069         { 0.0f, 0.0f, 0.0f, 0.0f },
2070         1, 1
2071     },
2072     // padding (0xA5)
2073     {
2074         nullptr,
2075         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2076         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2077         0, 0, 0, false, false, false, false,
2078         { false, false, false, false },
2079         { 0.0f, 0.0f, 0.0f, 0.0f },
2080         1, 1
2081     },
2082     // padding (0xA6)
2083     {
2084         nullptr,
2085         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2086         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2087         0, 0, 0, false, false, false, false,
2088         { false, false, false, false },
2089         { 0.0f, 0.0f, 0.0f, 0.0f },
2090         1, 1
2091     },
2092     // padding (0xA7)
2093     {
2094         nullptr,
2095         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2096         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2097         0, 0, 0, false, false, false, false,
2098         { false, false, false, false },
2099         { 0.0f, 0.0f, 0.0f, 0.0f },
2100         1, 1
2101     },
2102     // padding (0xA8)
2103     {
2104         nullptr,
2105         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2106         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2107         0, 0, 0, false, false, false, false,
2108         { false, false, false, false },
2109         { 0.0f, 0.0f, 0.0f, 0.0f },
2110         1, 1
2111     },
2112     // padding (0xA9)
2113     {
2114         nullptr,
2115         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2116         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2117         0, 0, 0, false, false, false, false,
2118         { false, false, false, false },
2119         { 0.0f, 0.0f, 0.0f, 0.0f },
2120         1, 1
2121     },
2122     // padding (0xAA)
2123     {
2124         nullptr,
2125         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2126         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2127         0, 0, 0, false, false, false, false,
2128         { false, false, false, false },
2129         { 0.0f, 0.0f, 0.0f, 0.0f },
2130         1, 1
2131     },
2132     // padding (0xAB)
2133     {
2134         nullptr,
2135         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2136         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2137         0, 0, 0, false, false, false, false,
2138         { false, false, false, false },
2139         { 0.0f, 0.0f, 0.0f, 0.0f },
2140         1, 1
2141     },
2142     // padding (0xAC)
2143     {
2144         nullptr,
2145         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2146         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2147         0, 0, 0, false, false, false, false,
2148         { false, false, false, false },
2149         { 0.0f, 0.0f, 0.0f, 0.0f },
2150         1, 1
2151     },
2152     // padding (0xAD)
2153     {
2154         nullptr,
2155         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2156         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2157         0, 0, 0, false, false, false, false,
2158         { false, false, false, false },
2159         { 0.0f, 0.0f, 0.0f, 0.0f },
2160         1, 1
2161     },
2162     // padding (0xAE)
2163     {
2164         nullptr,
2165         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2166         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2167         0, 0, 0, false, false, false, false,
2168         { false, false, false, false },
2169         { 0.0f, 0.0f, 0.0f, 0.0f },
2170         1, 1
2171     },
2172     // padding (0xAF)
2173     {
2174         nullptr,
2175         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2176         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2177         0, 0, 0, false, false, false, false,
2178         { false, false, false, false },
2179         { 0.0f, 0.0f, 0.0f, 0.0f },
2180         1, 1
2181     },
2182     // padding (0xB0)
2183     {
2184         nullptr,
2185         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2186         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2187         0, 0, 0, false, false, false, false,
2188         { false, false, false, false },
2189         { 0.0f, 0.0f, 0.0f, 0.0f },
2190         1, 1
2191     },
2192     // padding (0xB1)
2193     {
2194         nullptr,
2195         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2196         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2197         0, 0, 0, false, false, false, false,
2198         { false, false, false, false },
2199         { 0.0f, 0.0f, 0.0f, 0.0f },
2200         1, 1
2201     },
2202     // padding (0xB2)
2203     {
2204         nullptr,
2205         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2206         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2207         0, 0, 0, false, false, false, false,
2208         { false, false, false, false },
2209         { 0.0f, 0.0f, 0.0f, 0.0f },
2210         1, 1
2211     },
2212     // padding (0xB3)
2213     {
2214         nullptr,
2215         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2216         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2217         0, 0, 0, false, false, false, false,
2218         { false, false, false, false },
2219         { 0.0f, 0.0f, 0.0f, 0.0f },
2220         1, 1
2221     },
2222     // padding (0xB4)
2223     {
2224         nullptr,
2225         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2226         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2227         0, 0, 0, false, false, false, false,
2228         { false, false, false, false },
2229         { 0.0f, 0.0f, 0.0f, 0.0f },
2230         1, 1
2231     },
2232     // padding (0xB5)
2233     {
2234         nullptr,
2235         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2236         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2237         0, 0, 0, false, false, false, false,
2238         { false, false, false, false },
2239         { 0.0f, 0.0f, 0.0f, 0.0f },
2240         1, 1
2241     },
2242     // padding (0xB6)
2243     {
2244         nullptr,
2245         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2246         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2247         0, 0, 0, false, false, false, false,
2248         { false, false, false, false },
2249         { 0.0f, 0.0f, 0.0f, 0.0f },
2250         1, 1
2251     },
2252     // padding (0xB7)
2253     {
2254         nullptr,
2255         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2256         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2257         0, 0, 0, false, false, false, false,
2258         { false, false, false, false },
2259         { 0.0f, 0.0f, 0.0f, 0.0f },
2260         1, 1
2261     },
2262     // padding (0xB8)
2263     {
2264         nullptr,
2265         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2266         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2267         0, 0, 0, false, false, false, false,
2268         { false, false, false, false },
2269         { 0.0f, 0.0f, 0.0f, 0.0f },
2270         1, 1
2271     },
2272     // padding (0xB9)
2273     {
2274         nullptr,
2275         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2276         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2277         0, 0, 0, false, false, false, false,
2278         { false, false, false, false },
2279         { 0.0f, 0.0f, 0.0f, 0.0f },
2280         1, 1
2281     },
2282     // padding (0xBA)
2283     {
2284         nullptr,
2285         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2286         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2287         0, 0, 0, false, false, false, false,
2288         { false, false, false, false },
2289         { 0.0f, 0.0f, 0.0f, 0.0f },
2290         1, 1
2291     },
2292     // padding (0xBB)
2293     {
2294         nullptr,
2295         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2296         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2297         0, 0, 0, false, false, false, false,
2298         { false, false, false, false },
2299         { 0.0f, 0.0f, 0.0f, 0.0f },
2300         1, 1
2301     },
2302     // padding (0xBC)
2303     {
2304         nullptr,
2305         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2306         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2307         0, 0, 0, false, false, false, false,
2308         { false, false, false, false },
2309         { 0.0f, 0.0f, 0.0f, 0.0f },
2310         1, 1
2311     },
2312     // padding (0xBD)
2313     {
2314         nullptr,
2315         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2316         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2317         0, 0, 0, false, false, false, false,
2318         { false, false, false, false },
2319         { 0.0f, 0.0f, 0.0f, 0.0f },
2320         1, 1
2321     },
2322     // padding (0xBE)
2323     {
2324         nullptr,
2325         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2326         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2327         0, 0, 0, false, false, false, false,
2328         { false, false, false, false },
2329         { 0.0f, 0.0f, 0.0f, 0.0f },
2330         1, 1
2331     },
2332     // padding (0xBF)
2333     {
2334         nullptr,
2335         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2336         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2337         0, 0, 0, false, false, false, false,
2338         { false, false, false, false },
2339         { 0.0f, 0.0f, 0.0f, 0.0f },
2340         1, 1
2341     },
2342     // B8G8R8A8_UNORM (0xC0)
2343     {
2344         "B8G8R8A8_UNORM",
2345         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2346         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2347         { 2, 1, 0, 3 }, // Swizzle
2348         { 8, 8, 8, 8 }, // Bits per component
2349         32, // Bits per element
2350         4, // Bytes per element
2351         4, // Num components
2352         false, // isSRGB
2353         false, // isBC
2354         false, // isSubsampled
2355         false, // isLuminance
2356         { true, true, true, true }, // Is normalized?
2357         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f }, // To float scale factor
2358         1, // bcWidth
2359         1, // bcHeight
2360     },
2361 
2362     // B8G8R8A8_UNORM_SRGB (0xC1)
2363     {
2364         "B8G8R8A8_UNORM_SRGB",
2365         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2366         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2367         { 2, 1, 0, 3 }, // Swizzle
2368         { 8, 8, 8, 8 }, // Bits per component
2369         32, // Bits per element
2370         4, // Bytes per element
2371         4, // Num components
2372         true, // isSRGB
2373         false, // isBC
2374         false, // isSubsampled
2375         false, // isLuminance
2376         { true, true, true, true }, // Is normalized?
2377         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f }, // To float scale factor
2378         1, // bcWidth
2379         1, // bcHeight
2380     },
2381 
2382     // R10G10B10A2_UNORM (0xC2)
2383     {
2384         "R10G10B10A2_UNORM",
2385         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2386         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2387         { 0, 1, 2, 3 }, // Swizzle
2388         { 10, 10, 10, 2 }, // Bits per component
2389         32, // Bits per element
2390         4, // Bytes per element
2391         4, // Num components
2392         false, // isSRGB
2393         false, // isBC
2394         false, // isSubsampled
2395         false, // isLuminance
2396         { true, true, true, true }, // Is normalized?
2397         { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f }, // To float scale factor
2398         1, // bcWidth
2399         1, // bcHeight
2400     },
2401 
2402     // R10G10B10A2_UNORM_SRGB (0xC3)
2403     {
2404         "R10G10B10A2_UNORM_SRGB",
2405         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2406         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2407         { 0, 1, 2, 3 }, // Swizzle
2408         { 10, 10, 10, 2 }, // Bits per component
2409         32, // Bits per element
2410         4, // Bytes per element
2411         4, // Num components
2412         true, // isSRGB
2413         false, // isBC
2414         false, // isSubsampled
2415         false, // isLuminance
2416         { true, true, true, true }, // Is normalized?
2417         { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f }, // To float scale factor
2418         1, // bcWidth
2419         1, // bcHeight
2420     },
2421 
2422     // R10G10B10A2_UINT (0xC4)
2423     {
2424         "R10G10B10A2_UINT",
2425         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
2426         { 0, 0, 0, 0x1 }, // Defaults for missing components
2427         { 0, 1, 2, 3 }, // Swizzle
2428         { 10, 10, 10, 2 }, // Bits per component
2429         32, // Bits per element
2430         4, // Bytes per element
2431         4, // Num components
2432         false, // isSRGB
2433         false, // isBC
2434         false, // isSubsampled
2435         false, // isLuminance
2436         { false, false, false, false }, // Is normalized?
2437         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
2438         1, // bcWidth
2439         1, // bcHeight
2440     },
2441 
2442     // padding (0xC5)
2443     {
2444         nullptr,
2445         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2446         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2447         0, 0, 0, false, false, false, false,
2448         { false, false, false, false },
2449         { 0.0f, 0.0f, 0.0f, 0.0f },
2450         1, 1
2451     },
2452     // padding (0xC6)
2453     {
2454         nullptr,
2455         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2456         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2457         0, 0, 0, false, false, false, false,
2458         { false, false, false, false },
2459         { 0.0f, 0.0f, 0.0f, 0.0f },
2460         1, 1
2461     },
2462     // R8G8B8A8_UNORM (0xC7)
2463     {
2464         "R8G8B8A8_UNORM",
2465         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2466         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2467         { 0, 1, 2, 3 }, // Swizzle
2468         { 8, 8, 8, 8 }, // Bits per component
2469         32, // Bits per element
2470         4, // Bytes per element
2471         4, // Num components
2472         false, // isSRGB
2473         false, // isBC
2474         false, // isSubsampled
2475         false, // isLuminance
2476         { true, true, true, true }, // Is normalized?
2477         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f }, // To float scale factor
2478         1, // bcWidth
2479         1, // bcHeight
2480     },
2481 
2482     // R8G8B8A8_UNORM_SRGB (0xC8)
2483     {
2484         "R8G8B8A8_UNORM_SRGB",
2485         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2486         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2487         { 0, 1, 2, 3 }, // Swizzle
2488         { 8, 8, 8, 8 }, // Bits per component
2489         32, // Bits per element
2490         4, // Bytes per element
2491         4, // Num components
2492         true, // isSRGB
2493         false, // isBC
2494         false, // isSubsampled
2495         false, // isLuminance
2496         { true, true, true, true }, // Is normalized?
2497         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f }, // To float scale factor
2498         1, // bcWidth
2499         1, // bcHeight
2500     },
2501 
2502     // R8G8B8A8_SNORM (0xC9)
2503     {
2504         "R8G8B8A8_SNORM",
2505         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
2506         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2507         { 0, 1, 2, 3 }, // Swizzle
2508         { 8, 8, 8, 8 }, // Bits per component
2509         32, // Bits per element
2510         4, // Bytes per element
2511         4, // Num components
2512         false, // isSRGB
2513         false, // isBC
2514         false, // isSubsampled
2515         false, // isLuminance
2516         { true, true, true, true }, // Is normalized?
2517         { 1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f }, // To float scale factor
2518         1, // bcWidth
2519         1, // bcHeight
2520     },
2521 
2522     // R8G8B8A8_SINT (0xCA)
2523     {
2524         "R8G8B8A8_SINT",
2525         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
2526         { 0, 0, 0, 0x1 }, // Defaults for missing components
2527         { 0, 1, 2, 3 }, // Swizzle
2528         { 8, 8, 8, 8 }, // Bits per component
2529         32, // Bits per element
2530         4, // Bytes per element
2531         4, // Num components
2532         false, // isSRGB
2533         false, // isBC
2534         false, // isSubsampled
2535         false, // isLuminance
2536         { false, false, false, false }, // Is normalized?
2537         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
2538         1, // bcWidth
2539         1, // bcHeight
2540     },
2541 
2542     // R8G8B8A8_UINT (0xCB)
2543     {
2544         "R8G8B8A8_UINT",
2545         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
2546         { 0, 0, 0, 0x1 }, // Defaults for missing components
2547         { 0, 1, 2, 3 }, // Swizzle
2548         { 8, 8, 8, 8 }, // Bits per component
2549         32, // Bits per element
2550         4, // Bytes per element
2551         4, // Num components
2552         false, // isSRGB
2553         false, // isBC
2554         false, // isSubsampled
2555         false, // isLuminance
2556         { false, false, false, false }, // Is normalized?
2557         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
2558         1, // bcWidth
2559         1, // bcHeight
2560     },
2561 
2562     // R16G16_UNORM (0xCC)
2563     {
2564         "R16G16_UNORM",
2565         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2566         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2567         { 0, 1, 0, 0 }, // Swizzle
2568         { 16, 16, 0, 0 }, // Bits per component
2569         32, // Bits per element
2570         4, // Bytes per element
2571         2, // Num components
2572         false, // isSRGB
2573         false, // isBC
2574         false, // isSubsampled
2575         false, // isLuminance
2576         { true, true, false, false }, // Is normalized?
2577         { 1.0f / 65535.0f, 1.0f / 65535.0f, 0, 0 }, // To float scale factor
2578         1, // bcWidth
2579         1, // bcHeight
2580     },
2581 
2582     // R16G16_SNORM (0xCD)
2583     {
2584         "R16G16_SNORM",
2585         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2586         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2587         { 0, 1, 0, 0 }, // Swizzle
2588         { 16, 16, 0, 0 }, // Bits per component
2589         32, // Bits per element
2590         4, // Bytes per element
2591         2, // Num components
2592         false, // isSRGB
2593         false, // isBC
2594         false, // isSubsampled
2595         false, // isLuminance
2596         { true, true, false, false }, // Is normalized?
2597         { 1.0f / 32767.0f, 1.0f / 32767.0f, 0, 0 }, // To float scale factor
2598         1, // bcWidth
2599         1, // bcHeight
2600     },
2601 
2602     // R16G16_SINT (0xCE)
2603     {
2604         "R16G16_SINT",
2605         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2606         { 0, 0, 0, 0x1 }, // Defaults for missing components
2607         { 0, 1, 0, 0 }, // Swizzle
2608         { 16, 16, 0, 0 }, // Bits per component
2609         32, // Bits per element
2610         4, // Bytes per element
2611         2, // Num components
2612         false, // isSRGB
2613         false, // isBC
2614         false, // isSubsampled
2615         false, // isLuminance
2616         { false, false, false, false }, // Is normalized?
2617         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
2618         1, // bcWidth
2619         1, // bcHeight
2620     },
2621 
2622     // R16G16_UINT (0xCF)
2623     {
2624         "R16G16_UINT",
2625         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2626         { 0, 0, 0, 0x1 }, // Defaults for missing components
2627         { 0, 1, 0, 0 }, // Swizzle
2628         { 16, 16, 0, 0 }, // Bits per component
2629         32, // Bits per element
2630         4, // Bytes per element
2631         2, // Num components
2632         false, // isSRGB
2633         false, // isBC
2634         false, // isSubsampled
2635         false, // isLuminance
2636         { false, false, false, false }, // Is normalized?
2637         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
2638         1, // bcWidth
2639         1, // bcHeight
2640     },
2641 
2642     // R16G16_FLOAT (0xD0)
2643     {
2644         "R16G16_FLOAT",
2645         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2646         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2647         { 0, 1, 0, 0 }, // Swizzle
2648         { 16, 16, 0, 0 }, // Bits per component
2649         32, // Bits per element
2650         4, // Bytes per element
2651         2, // Num components
2652         false, // isSRGB
2653         false, // isBC
2654         false, // isSubsampled
2655         false, // isLuminance
2656         { false, false, false, false }, // Is normalized?
2657         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
2658         1, // bcWidth
2659         1, // bcHeight
2660     },
2661 
2662     // B10G10R10A2_UNORM (0xD1)
2663     {
2664         "B10G10R10A2_UNORM",
2665         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2666         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2667         { 2, 1, 0, 3 }, // Swizzle
2668         { 10, 10, 10, 2 }, // Bits per component
2669         32, // Bits per element
2670         4, // Bytes per element
2671         4, // Num components
2672         false, // isSRGB
2673         false, // isBC
2674         false, // isSubsampled
2675         false, // isLuminance
2676         { true, true, true, true }, // Is normalized?
2677         { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f }, // To float scale factor
2678         1, // bcWidth
2679         1, // bcHeight
2680     },
2681 
2682     // B10G10R10A2_UNORM_SRGB (0xD2)
2683     {
2684         "B10G10R10A2_UNORM_SRGB",
2685         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2686         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2687         { 2, 1, 0, 3 }, // Swizzle
2688         { 10, 10, 10, 2 }, // Bits per component
2689         32, // Bits per element
2690         4, // Bytes per element
2691         4, // Num components
2692         true, // isSRGB
2693         false, // isBC
2694         false, // isSubsampled
2695         false, // isLuminance
2696         { true, true, true, true }, // Is normalized?
2697         { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f }, // To float scale factor
2698         1, // bcWidth
2699         1, // bcHeight
2700     },
2701 
2702     // R11G11B10_FLOAT (0xD3)
2703     {
2704         "R11G11B10_FLOAT",
2705         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
2706         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2707         { 0, 1, 2, 0 }, // Swizzle
2708         { 11, 11, 10, 0 }, // Bits per component
2709         32, // Bits per element
2710         4, // Bytes per element
2711         3, // Num components
2712         false, // isSRGB
2713         false, // isBC
2714         false, // isSubsampled
2715         false, // isLuminance
2716         { false, false, false, false }, // Is normalized?
2717         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
2718         1, // bcWidth
2719         1, // bcHeight
2720     },
2721 
2722     // padding (0xD4)
2723     {
2724         nullptr,
2725         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2726         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2727         0, 0, 0, false, false, false, false,
2728         { false, false, false, false },
2729         { 0.0f, 0.0f, 0.0f, 0.0f },
2730         1, 1
2731     },
2732 
2733     // R10G10B10_FLOAT_A2_UNORM (0xD5)
2734     {
2735         "R10G10B10_FLOAT_A2_UNORM",
2736         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNORM },
2737         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2738         { 0, 1, 2, 3 }, // Swizzle
2739         { 10, 10, 10, 2 }, // Bits per component
2740         32, // Bits per element
2741         4, // Bytes per element
2742         4, // Num components
2743         false, // isSRGB
2744         false, // isBC
2745         false, // isSubsampled
2746         false, // isLuminance
2747         { false, false, false, false }, // Is normalized?
2748         { 1.0f, 1.0f, 1.0f, 1.0f / 3.0f }, // To float scale factor
2749         1, // bcWidth
2750         1, // bcHeight
2751     },
2752 
2753     // R32_SINT (0xD6)
2754     {
2755         "R32_SINT",
2756         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2757         { 0, 0, 0, 0x1 }, // Defaults for missing components
2758         { 0, 0, 0, 0 }, // Swizzle
2759         { 32, 0, 0, 0 }, // Bits per component
2760         32, // Bits per element
2761         4, // Bytes per element
2762         1, // Num components
2763         false, // isSRGB
2764         false, // isBC
2765         false, // isSubsampled
2766         false, // isLuminance
2767         { false, false, false, false }, // Is normalized?
2768         { 1.0f, 0, 0, 0 }, // To float scale factor
2769         1, // bcWidth
2770         1, // bcHeight
2771     },
2772 
2773     // R32_UINT (0xD7)
2774     {
2775         "R32_UINT",
2776         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2777         { 0, 0, 0, 0x1 }, // Defaults for missing components
2778         { 0, 0, 0, 0 }, // Swizzle
2779         { 32, 0, 0, 0 }, // Bits per component
2780         32, // Bits per element
2781         4, // Bytes per element
2782         1, // Num components
2783         false, // isSRGB
2784         false, // isBC
2785         false, // isSubsampled
2786         false, // isLuminance
2787         { false, false, false, false }, // Is normalized?
2788         { 1.0f, 0, 0, 0 }, // To float scale factor
2789         1, // bcWidth
2790         1, // bcHeight
2791     },
2792 
2793     // R32_FLOAT (0xD8)
2794     {
2795         "R32_FLOAT",
2796         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2797         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2798         { 0, 0, 0, 0 }, // Swizzle
2799         { 32, 0, 0, 0 }, // Bits per component
2800         32, // Bits per element
2801         4, // Bytes per element
2802         1, // Num components
2803         false, // isSRGB
2804         false, // isBC
2805         false, // isSubsampled
2806         false, // isLuminance
2807         { false, false, false, false }, // Is normalized?
2808         { 1.0f, 0, 0, 0 }, // To float scale factor
2809         1, // bcWidth
2810         1, // bcHeight
2811     },
2812 
2813     // R24_UNORM_X8_TYPELESS (0xD9)
2814     {
2815         "R24_UNORM_X8_TYPELESS",
2816         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2817         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2818         { 0, 1, 2, 3 }, // Swizzle
2819         { 24, 0, 0, 0 }, // Bits per component
2820         32, // Bits per element
2821         4, // Bytes per element
2822         1, // Num components
2823         false, // isSRGB
2824         false, // isBC
2825         false, // isSubsampled
2826         false, // isLuminance
2827         { true, false, false, false }, // Is normalized?
2828         { 1.0f / 16777215.0f, 0, 0, 0 }, // To float scale factor
2829         1, // bcWidth
2830         1, // bcHeight
2831     },
2832 
2833     // X24_TYPELESS_G8_UINT (0xDA)
2834     {
2835         "X24_TYPELESS_G8_UINT",
2836         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2837         { 0, 0, 0, 0x1 }, // Defaults for missing components
2838         { 1, 0, 0, 0 }, // Swizzle
2839         { 32, 0, 0, 0 }, // Bits per component
2840         32, // Bits per element
2841         4, // Bytes per element
2842         1, // Num components
2843         false, // isSRGB
2844         false, // isBC
2845         false, // isSubsampled
2846         false, // isLuminance
2847         { false, false, false, false }, // Is normalized?
2848         { 1.0f, 0, 0, 0 }, // To float scale factor
2849         1, // bcWidth
2850         1, // bcHeight
2851     },
2852 
2853     // padding (0xDB)
2854     {
2855         nullptr,
2856         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2857         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2858         0, 0, 0, false, false, false, false,
2859         { false, false, false, false },
2860         { 0.0f, 0.0f, 0.0f, 0.0f },
2861         1, 1
2862     },
2863     // padding (0xDC)
2864     {
2865         nullptr,
2866         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2867         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2868         0, 0, 0, false, false, false, false,
2869         { false, false, false, false },
2870         { 0.0f, 0.0f, 0.0f, 0.0f },
2871         1, 1
2872     },
2873     // L32_UNORM (0xDD)
2874     {
2875         "L32_UNORM",
2876         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2877         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2878         { 0, 0, 0, 0 }, // Swizzle
2879         { 32, 0, 0, 0 }, // Bits per component
2880         32, // Bits per element
2881         4, // Bytes per element
2882         1, // Num components
2883         false, // isSRGB
2884         false, // isBC
2885         false, // isSubsampled
2886         true, // isLuminance
2887         { true, false, false, false }, // Is normalized?
2888         { 1.0f / 4294967295.0f, 0, 0, 0 }, // To float scale factor
2889         1, // bcWidth
2890         1, // bcHeight
2891     },
2892 
2893     // padding (0xDE)
2894     {
2895         nullptr,
2896         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2897         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2898         0, 0, 0, false, false, false, false,
2899         { false, false, false, false },
2900         { 0.0f, 0.0f, 0.0f, 0.0f },
2901         1, 1
2902     },
2903     // L16A16_UNORM (0xDF)
2904     {
2905         "L16A16_UNORM",
2906         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2907         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2908         { 0, 3, 0, 0 }, // Swizzle
2909         { 16, 16, 0, 0 }, // Bits per component
2910         32, // Bits per element
2911         4, // Bytes per element
2912         2, // Num components
2913         false, // isSRGB
2914         false, // isBC
2915         false, // isSubsampled
2916         true, // isLuminance
2917         { true, true, false, false }, // Is normalized?
2918         { 1.0f / 65535.0f, 1.0f / 65535.0f, 0, 0 }, // To float scale factor
2919         1, // bcWidth
2920         1, // bcHeight
2921     },
2922 
2923     // I24X8_UNORM (0xE0)
2924     {
2925         "I24X8_UNORM",
2926         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2927         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2928         { 0, 3, 0, 0 }, // Swizzle
2929         { 24, 8, 0, 0 }, // Bits per component
2930         32, // Bits per element
2931         4, // Bytes per element
2932         2, // Num components
2933         false, // isSRGB
2934         false, // isBC
2935         false, // isSubsampled
2936         true, // isLuminance
2937         { true, true, false, false }, // Is normalized?
2938         { 1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
2939         1, // bcWidth
2940         1, // bcHeight
2941     },
2942 
2943     // L24X8_UNORM (0xE1)
2944     {
2945         "L24X8_UNORM",
2946         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2947         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2948         { 0, 3, 0, 0 }, // Swizzle
2949         { 24, 8, 0, 0 }, // Bits per component
2950         32, // Bits per element
2951         4, // Bytes per element
2952         2, // Num components
2953         false, // isSRGB
2954         false, // isBC
2955         false, // isSubsampled
2956         true, // isLuminance
2957         { true, true, false, false }, // Is normalized?
2958         { 1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
2959         1, // bcWidth
2960         1, // bcHeight
2961     },
2962 
2963     // padding (0xE2)
2964     {
2965         nullptr,
2966         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2967         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2968         0, 0, 0, false, false, false, false,
2969         { false, false, false, false },
2970         { 0.0f, 0.0f, 0.0f, 0.0f },
2971         1, 1
2972     },
2973     // I32_FLOAT (0xE3)
2974     {
2975         "I32_FLOAT",
2976         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2977         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2978         { 0, 0, 0, 0 }, // Swizzle
2979         { 32, 0, 0, 0 }, // Bits per component
2980         32, // Bits per element
2981         4, // Bytes per element
2982         1, // Num components
2983         false, // isSRGB
2984         false, // isBC
2985         false, // isSubsampled
2986         true, // isLuminance
2987         { false, false, false, false }, // Is normalized?
2988         { 1.0f, 0, 0, 0 }, // To float scale factor
2989         1, // bcWidth
2990         1, // bcHeight
2991     },
2992 
2993     // L32_FLOAT (0xE4)
2994     {
2995         "L32_FLOAT",
2996         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2997         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2998         { 0, 0, 0, 0 }, // Swizzle
2999         { 32, 0, 0, 0 }, // Bits per component
3000         32, // Bits per element
3001         4, // Bytes per element
3002         1, // Num components
3003         false, // isSRGB
3004         false, // isBC
3005         false, // isSubsampled
3006         true, // isLuminance
3007         { false, false, false, false }, // Is normalized?
3008         { 1.0f, 0, 0, 0 }, // To float scale factor
3009         1, // bcWidth
3010         1, // bcHeight
3011     },
3012 
3013     // A32_FLOAT (0xE5)
3014     {
3015         "A32_FLOAT",
3016         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3017         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3018         { 3, 0, 0, 0 }, // Swizzle
3019         { 32, 0, 0, 0 }, // Bits per component
3020         32, // Bits per element
3021         4, // Bytes per element
3022         1, // Num components
3023         false, // isSRGB
3024         false, // isBC
3025         false, // isSubsampled
3026         false, // isLuminance
3027         { false, false, false, false }, // Is normalized?
3028         { 1.0f, 0, 0, 0 }, // To float scale factor
3029         1, // bcWidth
3030         1, // bcHeight
3031     },
3032 
3033     // padding (0xE6)
3034     {
3035         nullptr,
3036         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3037         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3038         0, 0, 0, false, false, false, false,
3039         { false, false, false, false },
3040         { 0.0f, 0.0f, 0.0f, 0.0f },
3041         1, 1
3042     },
3043     // padding (0xE7)
3044     {
3045         nullptr,
3046         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3047         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3048         0, 0, 0, false, false, false, false,
3049         { false, false, false, false },
3050         { 0.0f, 0.0f, 0.0f, 0.0f },
3051         1, 1
3052     },
3053     // padding (0xE8)
3054     {
3055         nullptr,
3056         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3057         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3058         0, 0, 0, false, false, false, false,
3059         { false, false, false, false },
3060         { 0.0f, 0.0f, 0.0f, 0.0f },
3061         1, 1
3062     },
3063     // B8G8R8X8_UNORM (0xE9)
3064     {
3065         "B8G8R8X8_UNORM",
3066         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3067         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3068         { 2, 1, 0, 3 }, // Swizzle
3069         { 8, 8, 8, 8 }, // Bits per component
3070         32, // Bits per element
3071         4, // Bytes per element
3072         4, // Num components
3073         false, // isSRGB
3074         false, // isBC
3075         false, // isSubsampled
3076         false, // isLuminance
3077         { true, true, true, false }, // Is normalized?
3078         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3079         1, // bcWidth
3080         1, // bcHeight
3081     },
3082 
3083     // B8G8R8X8_UNORM_SRGB (0xEA)
3084     {
3085         "B8G8R8X8_UNORM_SRGB",
3086         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3087         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3088         { 2, 1, 0, 3 }, // Swizzle
3089         { 8, 8, 8, 8 }, // Bits per component
3090         32, // Bits per element
3091         4, // Bytes per element
3092         4, // Num components
3093         true, // isSRGB
3094         false, // isBC
3095         false, // isSubsampled
3096         false, // isLuminance
3097         { true, true, true, false }, // Is normalized?
3098         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3099         1, // bcWidth
3100         1, // bcHeight
3101     },
3102 
3103     // R8G8B8X8_UNORM (0xEB)
3104     {
3105         "R8G8B8X8_UNORM",
3106         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3107         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3108         { 0, 1, 2, 3 }, // Swizzle
3109         { 8, 8, 8, 8 }, // Bits per component
3110         32, // Bits per element
3111         4, // Bytes per element
3112         4, // Num components
3113         false, // isSRGB
3114         false, // isBC
3115         false, // isSubsampled
3116         false, // isLuminance
3117         { true, true, true, false }, // Is normalized?
3118         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3119         1, // bcWidth
3120         1, // bcHeight
3121     },
3122 
3123     // R8G8B8X8_UNORM_SRGB (0xEC)
3124     {
3125         "R8G8B8X8_UNORM_SRGB",
3126         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3127         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3128         { 0, 1, 2, 3 }, // Swizzle
3129         { 8, 8, 8, 8 }, // Bits per component
3130         32, // Bits per element
3131         4, // Bytes per element
3132         4, // Num components
3133         true, // isSRGB
3134         false, // isBC
3135         false, // isSubsampled
3136         false, // isLuminance
3137         { true, true, true, false }, // Is normalized?
3138         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3139         1, // bcWidth
3140         1, // bcHeight
3141     },
3142 
3143     // R9G9B9E5_SHAREDEXP (0xED)
3144     {
3145         "R9G9B9E5_SHAREDEXP",
3146         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
3147         { 0, 0, 0, 0x1 }, // Defaults for missing components
3148         { 0, 1, 2, 3 }, // Swizzle
3149         { 9, 9, 9, 5 }, // Bits per component
3150         32, // Bits per element
3151         4, // Bytes per element
3152         4, // Num components
3153         false, // isSRGB
3154         false, // isBC
3155         false, // isSubsampled
3156         false, // isLuminance
3157         { false, false, false, false }, // Is normalized?
3158         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3159         1, // bcWidth
3160         1, // bcHeight
3161     },
3162 
3163     // B10G10R10X2_UNORM (0xEE)
3164     {
3165         "B10G10R10X2_UNORM",
3166         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3167         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3168         { 2, 1, 0, 3 }, // Swizzle
3169         { 10, 10, 10, 2 }, // Bits per component
3170         32, // Bits per element
3171         4, // Bytes per element
3172         4, // Num components
3173         false, // isSRGB
3174         false, // isBC
3175         false, // isSubsampled
3176         false, // isLuminance
3177         { true, true, true, false }, // Is normalized?
3178         { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f }, // To float scale factor
3179         1, // bcWidth
3180         1, // bcHeight
3181     },
3182 
3183     // padding (0xEF)
3184     {
3185         nullptr,
3186         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3187         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3188         0, 0, 0, false, false, false, false,
3189         { false, false, false, false },
3190         { 0.0f, 0.0f, 0.0f, 0.0f },
3191         1, 1
3192     },
3193     // L16A16_FLOAT (0xF0)
3194     {
3195         "L16A16_FLOAT",
3196         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3197         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3198         { 0, 3, 0, 0 }, // Swizzle
3199         { 16, 16, 0, 0 }, // Bits per component
3200         32, // Bits per element
3201         4, // Bytes per element
3202         2, // Num components
3203         false, // isSRGB
3204         false, // isBC
3205         false, // isSubsampled
3206         true, // isLuminance
3207         { false, false, false, false }, // Is normalized?
3208         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3209         1, // bcWidth
3210         1, // bcHeight
3211     },
3212 
3213     // padding (0xF1)
3214     {
3215         nullptr,
3216         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3217         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3218         0, 0, 0, false, false, false, false,
3219         { false, false, false, false },
3220         { 0.0f, 0.0f, 0.0f, 0.0f },
3221         1, 1
3222     },
3223     // padding (0xF2)
3224     {
3225         nullptr,
3226         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3227         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3228         0, 0, 0, false, false, false, false,
3229         { false, false, false, false },
3230         { 0.0f, 0.0f, 0.0f, 0.0f },
3231         1, 1
3232     },
3233     // R10G10B10X2_USCALED (0xF3)
3234     {
3235         "R10G10B10X2_USCALED",
3236         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNUSED },
3237         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3238         { 0, 1, 2, 3 }, // Swizzle
3239         { 10, 10, 10, 2 }, // Bits per component
3240         32, // Bits per element
3241         4, // Bytes per element
3242         4, // Num components
3243         false, // isSRGB
3244         false, // isBC
3245         false, // isSubsampled
3246         false, // isLuminance
3247         { false, false, false, false }, // Is normalized?
3248         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3249         1, // bcWidth
3250         1, // bcHeight
3251     },
3252 
3253     // R8G8B8A8_SSCALED (0xF4)
3254     {
3255         "R8G8B8A8_SSCALED",
3256         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
3257         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3258         { 0, 1, 2, 3 }, // Swizzle
3259         { 8, 8, 8, 8 }, // Bits per component
3260         32, // Bits per element
3261         4, // Bytes per element
3262         4, // Num components
3263         false, // isSRGB
3264         false, // isBC
3265         false, // isSubsampled
3266         false, // isLuminance
3267         { false, false, false, false }, // Is normalized?
3268         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3269         1, // bcWidth
3270         1, // bcHeight
3271     },
3272 
3273     // R8G8B8A8_USCALED (0xF5)
3274     {
3275         "R8G8B8A8_USCALED",
3276         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
3277         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3278         { 0, 1, 2, 3 }, // Swizzle
3279         { 8, 8, 8, 8 }, // Bits per component
3280         32, // Bits per element
3281         4, // Bytes per element
3282         4, // Num components
3283         false, // isSRGB
3284         false, // isBC
3285         false, // isSubsampled
3286         false, // isLuminance
3287         { false, false, false, false }, // Is normalized?
3288         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3289         1, // bcWidth
3290         1, // bcHeight
3291     },
3292 
3293     // R16G16_SSCALED (0xF6)
3294     {
3295         "R16G16_SSCALED",
3296         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3297         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3298         { 0, 1, 0, 0 }, // Swizzle
3299         { 16, 16, 0, 0 }, // Bits per component
3300         32, // Bits per element
3301         4, // Bytes per element
3302         2, // Num components
3303         false, // isSRGB
3304         false, // isBC
3305         false, // isSubsampled
3306         false, // isLuminance
3307         { false, false, false, false }, // Is normalized?
3308         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3309         1, // bcWidth
3310         1, // bcHeight
3311     },
3312 
3313     // R16G16_USCALED (0xF7)
3314     {
3315         "R16G16_USCALED",
3316         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3317         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3318         { 0, 1, 0, 0 }, // Swizzle
3319         { 16, 16, 0, 0 }, // Bits per component
3320         32, // Bits per element
3321         4, // Bytes per element
3322         2, // Num components
3323         false, // isSRGB
3324         false, // isBC
3325         false, // isSubsampled
3326         false, // isLuminance
3327         { false, false, false, false }, // Is normalized?
3328         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3329         1, // bcWidth
3330         1, // bcHeight
3331     },
3332 
3333     // R32_SSCALED (0xF8)
3334     {
3335         "R32_SSCALED",
3336         { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3337         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3338         { 0, 0, 0, 0 }, // Swizzle
3339         { 32, 0, 0, 0 }, // Bits per component
3340         32, // Bits per element
3341         4, // Bytes per element
3342         1, // Num components
3343         false, // isSRGB
3344         false, // isBC
3345         false, // isSubsampled
3346         false, // isLuminance
3347         { false, false, false, false }, // Is normalized?
3348         { 1.0f, 0, 0, 0 }, // To float scale factor
3349         1, // bcWidth
3350         1, // bcHeight
3351     },
3352 
3353     // R32_USCALED (0xF9)
3354     {
3355         "R32_USCALED",
3356         { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3357         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3358         { 0, 0, 0, 0 }, // Swizzle
3359         { 32, 0, 0, 0 }, // Bits per component
3360         32, // Bits per element
3361         4, // Bytes per element
3362         1, // Num components
3363         false, // isSRGB
3364         false, // isBC
3365         false, // isSubsampled
3366         false, // isLuminance
3367         { false, false, false, false }, // Is normalized?
3368         { 1.0f, 0, 0, 0 }, // To float scale factor
3369         1, // bcWidth
3370         1, // bcHeight
3371     },
3372 
3373     // padding (0xFA)
3374     {
3375         nullptr,
3376         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3377         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3378         0, 0, 0, false, false, false, false,
3379         { false, false, false, false },
3380         { 0.0f, 0.0f, 0.0f, 0.0f },
3381         1, 1
3382     },
3383     // padding (0xFB)
3384     {
3385         nullptr,
3386         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3387         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3388         0, 0, 0, false, false, false, false,
3389         { false, false, false, false },
3390         { 0.0f, 0.0f, 0.0f, 0.0f },
3391         1, 1
3392     },
3393     // padding (0xFC)
3394     {
3395         nullptr,
3396         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3397         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3398         0, 0, 0, false, false, false, false,
3399         { false, false, false, false },
3400         { 0.0f, 0.0f, 0.0f, 0.0f },
3401         1, 1
3402     },
3403     // padding (0xFD)
3404     {
3405         nullptr,
3406         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3407         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3408         0, 0, 0, false, false, false, false,
3409         { false, false, false, false },
3410         { 0.0f, 0.0f, 0.0f, 0.0f },
3411         1, 1
3412     },
3413     // padding (0xFE)
3414     {
3415         nullptr,
3416         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3417         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3418         0, 0, 0, false, false, false, false,
3419         { false, false, false, false },
3420         { 0.0f, 0.0f, 0.0f, 0.0f },
3421         1, 1
3422     },
3423     // padding (0xFF)
3424     {
3425         nullptr,
3426         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3427         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3428         0, 0, 0, false, false, false, false,
3429         { false, false, false, false },
3430         { 0.0f, 0.0f, 0.0f, 0.0f },
3431         1, 1
3432     },
3433     // B5G6R5_UNORM (0x100)
3434     {
3435         "B5G6R5_UNORM",
3436         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
3437         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3438         { 2, 1, 0, 0 }, // Swizzle
3439         { 5, 6, 5, 0 }, // Bits per component
3440         16, // Bits per element
3441         2, // Bytes per element
3442         3, // Num components
3443         false, // isSRGB
3444         false, // isBC
3445         false, // isSubsampled
3446         false, // isLuminance
3447         { true, true, true, false }, // Is normalized?
3448         { 1.0f / 31.0f, 1.0f / 63.0f, 1.0f / 31.0f, 0 }, // To float scale factor
3449         1, // bcWidth
3450         1, // bcHeight
3451     },
3452 
3453     // B5G6R5_UNORM_SRGB (0x101)
3454     {
3455         "B5G6R5_UNORM_SRGB",
3456         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
3457         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3458         { 2, 1, 0, 0 }, // Swizzle
3459         { 5, 6, 5, 0 }, // Bits per component
3460         16, // Bits per element
3461         2, // Bytes per element
3462         3, // Num components
3463         true, // isSRGB
3464         false, // isBC
3465         false, // isSubsampled
3466         false, // isLuminance
3467         { true, true, true, false }, // Is normalized?
3468         { 1.0f / 31.0f, 1.0f / 63.0f, 1.0f / 31.0f, 0 }, // To float scale factor
3469         1, // bcWidth
3470         1, // bcHeight
3471     },
3472 
3473     // B5G5R5A1_UNORM (0x102)
3474     {
3475         "B5G5R5A1_UNORM",
3476         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3477         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3478         { 2, 1, 0, 3 }, // Swizzle
3479         { 5, 5, 5, 1 }, // Bits per component
3480         16, // Bits per element
3481         2, // Bytes per element
3482         4, // Num components
3483         false, // isSRGB
3484         false, // isBC
3485         false, // isSubsampled
3486         false, // isLuminance
3487         { true, true, true, true }, // Is normalized?
3488         { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 1.0f }, // To float scale factor
3489         1, // bcWidth
3490         1, // bcHeight
3491     },
3492 
3493     // B5G5R5A1_UNORM_SRGB (0x103)
3494     {
3495         "B5G5R5A1_UNORM_SRGB",
3496         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3497         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3498         { 2, 1, 0, 3 }, // Swizzle
3499         { 5, 5, 5, 1 }, // Bits per component
3500         16, // Bits per element
3501         2, // Bytes per element
3502         4, // Num components
3503         true, // isSRGB
3504         false, // isBC
3505         false, // isSubsampled
3506         false, // isLuminance
3507         { true, true, true, true }, // Is normalized?
3508         { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 1.0f }, // To float scale factor
3509         1, // bcWidth
3510         1, // bcHeight
3511     },
3512 
3513     // B4G4R4A4_UNORM (0x104)
3514     {
3515         "B4G4R4A4_UNORM",
3516         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3517         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3518         { 2, 1, 0, 3 }, // Swizzle
3519         { 4, 4, 4, 4 }, // Bits per component
3520         16, // Bits per element
3521         2, // Bytes per element
3522         4, // Num components
3523         false, // isSRGB
3524         false, // isBC
3525         false, // isSubsampled
3526         false, // isLuminance
3527         { true, true, true, true }, // Is normalized?
3528         { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
3529         1, // bcWidth
3530         1, // bcHeight
3531     },
3532 
3533     // B4G4R4A4_UNORM_SRGB (0x105)
3534     {
3535         "B4G4R4A4_UNORM_SRGB",
3536         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3537         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3538         { 2, 1, 0, 3 }, // Swizzle
3539         { 4, 4, 4, 4 }, // Bits per component
3540         16, // Bits per element
3541         2, // Bytes per element
3542         4, // Num components
3543         true, // isSRGB
3544         false, // isBC
3545         false, // isSubsampled
3546         false, // isLuminance
3547         { true, true, true, true }, // Is normalized?
3548         { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
3549         1, // bcWidth
3550         1, // bcHeight
3551     },
3552 
3553     // R8G8_UNORM (0x106)
3554     {
3555         "R8G8_UNORM",
3556         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3557         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3558         { 0, 1, 0, 0 }, // Swizzle
3559         { 8, 8, 0, 0 }, // Bits per component
3560         16, // Bits per element
3561         2, // Bytes per element
3562         2, // Num components
3563         false, // isSRGB
3564         false, // isBC
3565         false, // isSubsampled
3566         false, // isLuminance
3567         { true, true, false, false }, // Is normalized?
3568         { 1.0f / 255.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
3569         1, // bcWidth
3570         1, // bcHeight
3571     },
3572 
3573     // R8G8_SNORM (0x107)
3574     {
3575         "R8G8_SNORM",
3576         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3577         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3578         { 0, 1, 0, 0 }, // Swizzle
3579         { 8, 8, 0, 0 }, // Bits per component
3580         16, // Bits per element
3581         2, // Bytes per element
3582         2, // Num components
3583         false, // isSRGB
3584         false, // isBC
3585         false, // isSubsampled
3586         false, // isLuminance
3587         { true, true, false, false }, // Is normalized?
3588         { 1.0f / 127.0f, 1.0f / 127.0f, 0, 0 }, // To float scale factor
3589         1, // bcWidth
3590         1, // bcHeight
3591     },
3592 
3593     // R8G8_SINT (0x108)
3594     {
3595         "R8G8_SINT",
3596         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3597         { 0, 0, 0, 0x1 }, // Defaults for missing components
3598         { 0, 1, 0, 0 }, // Swizzle
3599         { 8, 8, 0, 0 }, // Bits per component
3600         16, // Bits per element
3601         2, // Bytes per element
3602         2, // Num components
3603         false, // isSRGB
3604         false, // isBC
3605         false, // isSubsampled
3606         false, // isLuminance
3607         { false, false, false, false }, // Is normalized?
3608         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3609         1, // bcWidth
3610         1, // bcHeight
3611     },
3612 
3613     // R8G8_UINT (0x109)
3614     {
3615         "R8G8_UINT",
3616         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3617         { 0, 0, 0, 0x1 }, // Defaults for missing components
3618         { 0, 1, 0, 0 }, // Swizzle
3619         { 8, 8, 0, 0 }, // Bits per component
3620         16, // Bits per element
3621         2, // Bytes per element
3622         2, // Num components
3623         false, // isSRGB
3624         false, // isBC
3625         false, // isSubsampled
3626         false, // isLuminance
3627         { false, false, false, false }, // Is normalized?
3628         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3629         1, // bcWidth
3630         1, // bcHeight
3631     },
3632 
3633     // R16_UNORM (0x10A)
3634     {
3635         "R16_UNORM",
3636         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3637         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3638         { 0, 0, 0, 0 }, // Swizzle
3639         { 16, 0, 0, 0 }, // Bits per component
3640         16, // Bits per element
3641         2, // Bytes per element
3642         1, // Num components
3643         false, // isSRGB
3644         false, // isBC
3645         false, // isSubsampled
3646         false, // isLuminance
3647         { true, false, false, false }, // Is normalized?
3648         { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3649         1, // bcWidth
3650         1, // bcHeight
3651     },
3652 
3653     // R16_SNORM (0x10B)
3654     {
3655         "R16_SNORM",
3656         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3657         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3658         { 0, 0, 0, 0 }, // Swizzle
3659         { 16, 0, 0, 0 }, // Bits per component
3660         16, // Bits per element
3661         2, // Bytes per element
3662         1, // Num components
3663         false, // isSRGB
3664         false, // isBC
3665         false, // isSubsampled
3666         false, // isLuminance
3667         { true, false, false, false }, // Is normalized?
3668         { 1.0f / 32767.0f, 0, 0, 0 }, // To float scale factor
3669         1, // bcWidth
3670         1, // bcHeight
3671     },
3672 
3673     // R16_SINT (0x10C)
3674     {
3675         "R16_SINT",
3676         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3677         { 0, 0, 0, 0x1 }, // Defaults for missing components
3678         { 0, 0, 0, 0 }, // Swizzle
3679         { 16, 0, 0, 0 }, // Bits per component
3680         16, // Bits per element
3681         2, // Bytes per element
3682         1, // Num components
3683         false, // isSRGB
3684         false, // isBC
3685         false, // isSubsampled
3686         false, // isLuminance
3687         { false, false, false, false }, // Is normalized?
3688         { 1.0f, 0, 0, 0 }, // To float scale factor
3689         1, // bcWidth
3690         1, // bcHeight
3691     },
3692 
3693     // R16_UINT (0x10D)
3694     {
3695         "R16_UINT",
3696         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3697         { 0, 0, 0, 0x1 }, // Defaults for missing components
3698         { 0, 0, 0, 0 }, // Swizzle
3699         { 16, 0, 0, 0 }, // Bits per component
3700         16, // Bits per element
3701         2, // Bytes per element
3702         1, // Num components
3703         false, // isSRGB
3704         false, // isBC
3705         false, // isSubsampled
3706         false, // isLuminance
3707         { false, false, false, false }, // Is normalized?
3708         { 1.0f, 0, 0, 0 }, // To float scale factor
3709         1, // bcWidth
3710         1, // bcHeight
3711     },
3712 
3713     // R16_FLOAT (0x10E)
3714     {
3715         "R16_FLOAT",
3716         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3717         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3718         { 0, 0, 0, 0 }, // Swizzle
3719         { 16, 0, 0, 0 }, // Bits per component
3720         16, // Bits per element
3721         2, // Bytes per element
3722         1, // Num components
3723         false, // isSRGB
3724         false, // isBC
3725         false, // isSubsampled
3726         false, // isLuminance
3727         { false, false, false, false }, // Is normalized?
3728         { 1.0f, 0, 0, 0 }, // To float scale factor
3729         1, // bcWidth
3730         1, // bcHeight
3731     },
3732 
3733     // padding (0x10F)
3734     {
3735         nullptr,
3736         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3737         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3738         0, 0, 0, false, false, false, false,
3739         { false, false, false, false },
3740         { 0.0f, 0.0f, 0.0f, 0.0f },
3741         1, 1
3742     },
3743     // padding (0x110)
3744     {
3745         nullptr,
3746         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3747         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3748         0, 0, 0, false, false, false, false,
3749         { false, false, false, false },
3750         { 0.0f, 0.0f, 0.0f, 0.0f },
3751         1, 1
3752     },
3753     // I16_UNORM (0x111)
3754     {
3755         "I16_UNORM",
3756         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3757         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3758         { 0, 0, 0, 0 }, // Swizzle
3759         { 16, 0, 0, 0 }, // Bits per component
3760         16, // Bits per element
3761         2, // Bytes per element
3762         1, // Num components
3763         false, // isSRGB
3764         false, // isBC
3765         false, // isSubsampled
3766         true, // isLuminance
3767         { true, false, false, false }, // Is normalized?
3768         { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3769         1, // bcWidth
3770         1, // bcHeight
3771     },
3772 
3773     // L16_UNORM (0x112)
3774     {
3775         "L16_UNORM",
3776         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3777         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3778         { 0, 0, 0, 0 }, // Swizzle
3779         { 16, 0, 0, 0 }, // Bits per component
3780         16, // Bits per element
3781         2, // Bytes per element
3782         1, // Num components
3783         false, // isSRGB
3784         false, // isBC
3785         false, // isSubsampled
3786         true, // isLuminance
3787         { true, false, false, false }, // Is normalized?
3788         { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3789         1, // bcWidth
3790         1, // bcHeight
3791     },
3792 
3793     // A16_UNORM (0x113)
3794     {
3795         "A16_UNORM",
3796         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3797         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3798         { 3, 0, 0, 0 }, // Swizzle
3799         { 16, 0, 0, 0 }, // Bits per component
3800         16, // Bits per element
3801         2, // Bytes per element
3802         1, // Num components
3803         false, // isSRGB
3804         false, // isBC
3805         false, // isSubsampled
3806         false, // isLuminance
3807         { true, false, false, false }, // Is normalized?
3808         { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3809         1, // bcWidth
3810         1, // bcHeight
3811     },
3812 
3813     // L8A8_UNORM (0x114)
3814     {
3815         "L8A8_UNORM",
3816         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3817         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3818         { 0, 3, 0, 0 }, // Swizzle
3819         { 8, 8, 0, 0 }, // Bits per component
3820         16, // Bits per element
3821         2, // Bytes per element
3822         2, // Num components
3823         false, // isSRGB
3824         false, // isBC
3825         false, // isSubsampled
3826         true, // isLuminance
3827         { true, true, false, false }, // Is normalized?
3828         { 1.0f / 255.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
3829         1, // bcWidth
3830         1, // bcHeight
3831     },
3832 
3833     // I16_FLOAT (0x115)
3834     {
3835         "I16_FLOAT",
3836         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3837         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3838         { 0, 0, 0, 0 }, // Swizzle
3839         { 16, 0, 0, 0 }, // Bits per component
3840         16, // Bits per element
3841         2, // Bytes per element
3842         1, // Num components
3843         false, // isSRGB
3844         false, // isBC
3845         false, // isSubsampled
3846         true, // isLuminance
3847         { false, false, false, false }, // Is normalized?
3848         { 1.0f, 0, 0, 0 }, // To float scale factor
3849         1, // bcWidth
3850         1, // bcHeight
3851     },
3852 
3853     // L16_FLOAT (0x116)
3854     {
3855         "L16_FLOAT",
3856         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3857         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3858         { 0, 0, 0, 0 }, // Swizzle
3859         { 16, 0, 0, 0 }, // Bits per component
3860         16, // Bits per element
3861         2, // Bytes per element
3862         1, // Num components
3863         false, // isSRGB
3864         false, // isBC
3865         false, // isSubsampled
3866         true, // isLuminance
3867         { false, false, false, false }, // Is normalized?
3868         { 1.0f, 0, 0, 0 }, // To float scale factor
3869         1, // bcWidth
3870         1, // bcHeight
3871     },
3872 
3873     // A16_FLOAT (0x117)
3874     {
3875         "A16_FLOAT",
3876         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3877         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3878         { 3, 0, 0, 0 }, // Swizzle
3879         { 16, 0, 0, 0 }, // Bits per component
3880         16, // Bits per element
3881         2, // Bytes per element
3882         1, // Num components
3883         false, // isSRGB
3884         false, // isBC
3885         false, // isSubsampled
3886         false, // isLuminance
3887         { false, false, false, false }, // Is normalized?
3888         { 1.0f, 0, 0, 0 }, // To float scale factor
3889         1, // bcWidth
3890         1, // bcHeight
3891     },
3892 
3893     // L8A8_UNORM_SRGB (0x118)
3894     {
3895         "L8A8_UNORM_SRGB",
3896         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3897         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3898         { 0, 3, 0, 0 }, // Swizzle
3899         { 8, 8, 0, 0 }, // Bits per component
3900         16, // Bits per element
3901         2, // Bytes per element
3902         2, // Num components
3903         true, // isSRGB
3904         false, // isBC
3905         false, // isSubsampled
3906         true, // isLuminance
3907         { true, true, false, false }, // Is normalized?
3908         { 1.0f / 255.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
3909         1, // bcWidth
3910         1, // bcHeight
3911     },
3912 
3913     // padding (0x119)
3914     {
3915         nullptr,
3916         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3917         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3918         0, 0, 0, false, false, false, false,
3919         { false, false, false, false },
3920         { 0.0f, 0.0f, 0.0f, 0.0f },
3921         1, 1
3922     },
3923     // B5G5R5X1_UNORM (0x11A)
3924     {
3925         "B5G5R5X1_UNORM",
3926         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3927         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3928         { 2, 1, 0, 3 }, // Swizzle
3929         { 5, 5, 5, 1 }, // Bits per component
3930         16, // Bits per element
3931         2, // Bytes per element
3932         4, // Num components
3933         false, // isSRGB
3934         false, // isBC
3935         false, // isSubsampled
3936         false, // isLuminance
3937         { true, true, true, false }, // Is normalized?
3938         { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f }, // To float scale factor
3939         1, // bcWidth
3940         1, // bcHeight
3941     },
3942 
3943     // B5G5R5X1_UNORM_SRGB (0x11B)
3944     {
3945         "B5G5R5X1_UNORM_SRGB",
3946         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3947         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3948         { 2, 1, 0, 3 }, // Swizzle
3949         { 5, 5, 5, 1 }, // Bits per component
3950         16, // Bits per element
3951         2, // Bytes per element
3952         4, // Num components
3953         true, // isSRGB
3954         false, // isBC
3955         false, // isSubsampled
3956         false, // isLuminance
3957         { true, true, true, false }, // Is normalized?
3958         { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f }, // To float scale factor
3959         1, // bcWidth
3960         1, // bcHeight
3961     },
3962 
3963     // R8G8_SSCALED (0x11C)
3964     {
3965         "R8G8_SSCALED",
3966         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3967         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3968         { 0, 1, 0, 0 }, // Swizzle
3969         { 8, 8, 0, 0 }, // Bits per component
3970         16, // Bits per element
3971         2, // Bytes per element
3972         2, // Num components
3973         false, // isSRGB
3974         false, // isBC
3975         false, // isSubsampled
3976         false, // isLuminance
3977         { false, false, false, false }, // Is normalized?
3978         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3979         1, // bcWidth
3980         1, // bcHeight
3981     },
3982 
3983     // R8G8_USCALED (0x11D)
3984     {
3985         "R8G8_USCALED",
3986         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3987         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3988         { 0, 1, 0, 0 }, // Swizzle
3989         { 8, 8, 0, 0 }, // Bits per component
3990         16, // Bits per element
3991         2, // Bytes per element
3992         2, // Num components
3993         false, // isSRGB
3994         false, // isBC
3995         false, // isSubsampled
3996         false, // isLuminance
3997         { false, false, false, false }, // Is normalized?
3998         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3999         1, // bcWidth
4000         1, // bcHeight
4001     },
4002 
4003     // R16_SSCALED (0x11E)
4004     {
4005         "R16_SSCALED",
4006         { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4007         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4008         { 0, 0, 0, 0 }, // Swizzle
4009         { 16, 0, 0, 0 }, // Bits per component
4010         16, // Bits per element
4011         2, // Bytes per element
4012         1, // Num components
4013         false, // isSRGB
4014         false, // isBC
4015         false, // isSubsampled
4016         false, // isLuminance
4017         { false, false, false, false }, // Is normalized?
4018         { 1.0f, 0, 0, 0 }, // To float scale factor
4019         1, // bcWidth
4020         1, // bcHeight
4021     },
4022 
4023     // R16_USCALED (0x11F)
4024     {
4025         "R16_USCALED",
4026         { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4027         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4028         { 0, 0, 0, 0 }, // Swizzle
4029         { 16, 0, 0, 0 }, // Bits per component
4030         16, // Bits per element
4031         2, // Bytes per element
4032         1, // Num components
4033         false, // isSRGB
4034         false, // isBC
4035         false, // isSubsampled
4036         false, // isLuminance
4037         { false, false, false, false }, // Is normalized?
4038         { 1.0f, 0, 0, 0 }, // To float scale factor
4039         1, // bcWidth
4040         1, // bcHeight
4041     },
4042 
4043     // padding (0x120)
4044     {
4045         nullptr,
4046         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4047         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4048         0, 0, 0, false, false, false, false,
4049         { false, false, false, false },
4050         { 0.0f, 0.0f, 0.0f, 0.0f },
4051         1, 1
4052     },
4053     // padding (0x121)
4054     {
4055         nullptr,
4056         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4057         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4058         0, 0, 0, false, false, false, false,
4059         { false, false, false, false },
4060         { 0.0f, 0.0f, 0.0f, 0.0f },
4061         1, 1
4062     },
4063     // padding (0x122)
4064     {
4065         nullptr,
4066         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4067         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4068         0, 0, 0, false, false, false, false,
4069         { false, false, false, false },
4070         { 0.0f, 0.0f, 0.0f, 0.0f },
4071         1, 1
4072     },
4073     // padding (0x123)
4074     {
4075         nullptr,
4076         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4077         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4078         0, 0, 0, false, false, false, false,
4079         { false, false, false, false },
4080         { 0.0f, 0.0f, 0.0f, 0.0f },
4081         1, 1
4082     },
4083     // A1B5G5R5_UNORM (0x124)
4084     {
4085         "A1B5G5R5_UNORM",
4086         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
4087         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4088         { 3, 2, 1, 0 }, // Swizzle
4089         { 1, 5, 5, 5 }, // Bits per component
4090         16, // Bits per element
4091         2, // Bytes per element
4092         4, // Num components
4093         false, // isSRGB
4094         false, // isBC
4095         false, // isSubsampled
4096         false, // isLuminance
4097         { true, true, true, true }, // Is normalized?
4098         { 1.0f / 1.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f }, // To float scale factor
4099         1, // bcWidth
4100         1, // bcHeight
4101     },
4102 
4103     // A4B4G4R4_UNORM (0x125)
4104     {
4105         "A4B4G4R4_UNORM",
4106         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
4107         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4108         { 3, 2, 1, 0 }, // Swizzle
4109         { 4, 4, 4, 4 }, // Bits per component
4110         16, // Bits per element
4111         2, // Bytes per element
4112         4, // Num components
4113         false, // isSRGB
4114         false, // isBC
4115         false, // isSubsampled
4116         false, // isLuminance
4117         { true, true, true, true }, // Is normalized?
4118         { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
4119         1, // bcWidth
4120         1, // bcHeight
4121     },
4122 
4123     // L8A8_UINT (0x126)
4124     {
4125         "L8A8_UINT",
4126         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4127         { 0, 0, 0, 0x1 }, // Defaults for missing components
4128         { 0, 3, 0, 0 }, // Swizzle
4129         { 8, 8, 0, 0 }, // Bits per component
4130         16, // Bits per element
4131         2, // Bytes per element
4132         2, // Num components
4133         false, // isSRGB
4134         false, // isBC
4135         false, // isSubsampled
4136         true, // isLuminance
4137         { false, false, false, false }, // Is normalized?
4138         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
4139         1, // bcWidth
4140         1, // bcHeight
4141     },
4142 
4143     // L8A8_SINT (0x127)
4144     {
4145         "L8A8_SINT",
4146         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4147         { 0, 0, 0, 0x1 }, // Defaults for missing components
4148         { 0, 3, 0, 0 }, // Swizzle
4149         { 8, 8, 0, 0 }, // Bits per component
4150         16, // Bits per element
4151         2, // Bytes per element
4152         2, // Num components
4153         false, // isSRGB
4154         false, // isBC
4155         false, // isSubsampled
4156         true, // isLuminance
4157         { false, false, false, false }, // Is normalized?
4158         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
4159         1, // bcWidth
4160         1, // bcHeight
4161     },
4162 
4163     // padding (0x128)
4164     {
4165         nullptr,
4166         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4167         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4168         0, 0, 0, false, false, false, false,
4169         { false, false, false, false },
4170         { 0.0f, 0.0f, 0.0f, 0.0f },
4171         1, 1
4172     },
4173     // padding (0x129)
4174     {
4175         nullptr,
4176         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4177         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4178         0, 0, 0, false, false, false, false,
4179         { false, false, false, false },
4180         { 0.0f, 0.0f, 0.0f, 0.0f },
4181         1, 1
4182     },
4183     // padding (0x12A)
4184     {
4185         nullptr,
4186         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4187         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4188         0, 0, 0, false, false, false, false,
4189         { false, false, false, false },
4190         { 0.0f, 0.0f, 0.0f, 0.0f },
4191         1, 1
4192     },
4193     // padding (0x12B)
4194     {
4195         nullptr,
4196         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4197         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4198         0, 0, 0, false, false, false, false,
4199         { false, false, false, false },
4200         { 0.0f, 0.0f, 0.0f, 0.0f },
4201         1, 1
4202     },
4203     // padding (0x12C)
4204     {
4205         nullptr,
4206         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4207         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4208         0, 0, 0, false, false, false, false,
4209         { false, false, false, false },
4210         { 0.0f, 0.0f, 0.0f, 0.0f },
4211         1, 1
4212     },
4213     // padding (0x12D)
4214     {
4215         nullptr,
4216         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4217         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4218         0, 0, 0, false, false, false, false,
4219         { false, false, false, false },
4220         { 0.0f, 0.0f, 0.0f, 0.0f },
4221         1, 1
4222     },
4223     // padding (0x12E)
4224     {
4225         nullptr,
4226         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4227         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4228         0, 0, 0, false, false, false, false,
4229         { false, false, false, false },
4230         { 0.0f, 0.0f, 0.0f, 0.0f },
4231         1, 1
4232     },
4233     // padding (0x12F)
4234     {
4235         nullptr,
4236         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4237         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4238         0, 0, 0, false, false, false, false,
4239         { false, false, false, false },
4240         { 0.0f, 0.0f, 0.0f, 0.0f },
4241         1, 1
4242     },
4243     // padding (0x130)
4244     {
4245         nullptr,
4246         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4247         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4248         0, 0, 0, false, false, false, false,
4249         { false, false, false, false },
4250         { 0.0f, 0.0f, 0.0f, 0.0f },
4251         1, 1
4252     },
4253     // padding (0x131)
4254     {
4255         nullptr,
4256         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4257         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4258         0, 0, 0, false, false, false, false,
4259         { false, false, false, false },
4260         { 0.0f, 0.0f, 0.0f, 0.0f },
4261         1, 1
4262     },
4263     // padding (0x132)
4264     {
4265         nullptr,
4266         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4267         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4268         0, 0, 0, false, false, false, false,
4269         { false, false, false, false },
4270         { 0.0f, 0.0f, 0.0f, 0.0f },
4271         1, 1
4272     },
4273     // padding (0x133)
4274     {
4275         nullptr,
4276         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4277         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4278         0, 0, 0, false, false, false, false,
4279         { false, false, false, false },
4280         { 0.0f, 0.0f, 0.0f, 0.0f },
4281         1, 1
4282     },
4283     // padding (0x134)
4284     {
4285         nullptr,
4286         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4287         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4288         0, 0, 0, false, false, false, false,
4289         { false, false, false, false },
4290         { 0.0f, 0.0f, 0.0f, 0.0f },
4291         1, 1
4292     },
4293     // padding (0x135)
4294     {
4295         nullptr,
4296         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4297         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4298         0, 0, 0, false, false, false, false,
4299         { false, false, false, false },
4300         { 0.0f, 0.0f, 0.0f, 0.0f },
4301         1, 1
4302     },
4303     // padding (0x136)
4304     {
4305         nullptr,
4306         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4307         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4308         0, 0, 0, false, false, false, false,
4309         { false, false, false, false },
4310         { 0.0f, 0.0f, 0.0f, 0.0f },
4311         1, 1
4312     },
4313     // padding (0x137)
4314     {
4315         nullptr,
4316         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4317         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4318         0, 0, 0, false, false, false, false,
4319         { false, false, false, false },
4320         { 0.0f, 0.0f, 0.0f, 0.0f },
4321         1, 1
4322     },
4323     // padding (0x138)
4324     {
4325         nullptr,
4326         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4327         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4328         0, 0, 0, false, false, false, false,
4329         { false, false, false, false },
4330         { 0.0f, 0.0f, 0.0f, 0.0f },
4331         1, 1
4332     },
4333     // padding (0x139)
4334     {
4335         nullptr,
4336         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4337         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4338         0, 0, 0, false, false, false, false,
4339         { false, false, false, false },
4340         { 0.0f, 0.0f, 0.0f, 0.0f },
4341         1, 1
4342     },
4343     // padding (0x13A)
4344     {
4345         nullptr,
4346         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4347         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4348         0, 0, 0, false, false, false, false,
4349         { false, false, false, false },
4350         { 0.0f, 0.0f, 0.0f, 0.0f },
4351         1, 1
4352     },
4353     // padding (0x13B)
4354     {
4355         nullptr,
4356         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4357         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4358         0, 0, 0, false, false, false, false,
4359         { false, false, false, false },
4360         { 0.0f, 0.0f, 0.0f, 0.0f },
4361         1, 1
4362     },
4363     // padding (0x13C)
4364     {
4365         nullptr,
4366         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4367         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4368         0, 0, 0, false, false, false, false,
4369         { false, false, false, false },
4370         { 0.0f, 0.0f, 0.0f, 0.0f },
4371         1, 1
4372     },
4373     // padding (0x13D)
4374     {
4375         nullptr,
4376         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4377         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4378         0, 0, 0, false, false, false, false,
4379         { false, false, false, false },
4380         { 0.0f, 0.0f, 0.0f, 0.0f },
4381         1, 1
4382     },
4383     // padding (0x13E)
4384     {
4385         nullptr,
4386         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4387         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4388         0, 0, 0, false, false, false, false,
4389         { false, false, false, false },
4390         { 0.0f, 0.0f, 0.0f, 0.0f },
4391         1, 1
4392     },
4393     // padding (0x13F)
4394     {
4395         nullptr,
4396         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4397         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4398         0, 0, 0, false, false, false, false,
4399         { false, false, false, false },
4400         { 0.0f, 0.0f, 0.0f, 0.0f },
4401         1, 1
4402     },
4403     // R8_UNORM (0x140)
4404     {
4405         "R8_UNORM",
4406         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4407         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4408         { 0, 0, 0, 0 }, // Swizzle
4409         { 8, 0, 0, 0 }, // Bits per component
4410         8, // Bits per element
4411         1, // Bytes per element
4412         1, // Num components
4413         false, // isSRGB
4414         false, // isBC
4415         false, // isSubsampled
4416         false, // isLuminance
4417         { true, false, false, false }, // Is normalized?
4418         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4419         1, // bcWidth
4420         1, // bcHeight
4421     },
4422 
4423     // R8_SNORM (0x141)
4424     {
4425         "R8_SNORM",
4426         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4427         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4428         { 0, 0, 0, 0 }, // Swizzle
4429         { 8, 0, 0, 0 }, // Bits per component
4430         8, // Bits per element
4431         1, // Bytes per element
4432         1, // Num components
4433         false, // isSRGB
4434         false, // isBC
4435         false, // isSubsampled
4436         false, // isLuminance
4437         { true, false, false, false }, // Is normalized?
4438         { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
4439         1, // bcWidth
4440         1, // bcHeight
4441     },
4442 
4443     // R8_SINT (0x142)
4444     {
4445         "R8_SINT",
4446         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4447         { 0, 0, 0, 0x1 }, // Defaults for missing components
4448         { 0, 0, 0, 0 }, // Swizzle
4449         { 8, 0, 0, 0 }, // Bits per component
4450         8, // Bits per element
4451         1, // Bytes per element
4452         1, // Num components
4453         false, // isSRGB
4454         false, // isBC
4455         false, // isSubsampled
4456         false, // isLuminance
4457         { false, false, false, false }, // Is normalized?
4458         { 1.0f, 0, 0, 0 }, // To float scale factor
4459         1, // bcWidth
4460         1, // bcHeight
4461     },
4462 
4463     // R8_UINT (0x143)
4464     {
4465         "R8_UINT",
4466         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4467         { 0, 0, 0, 0x1 }, // Defaults for missing components
4468         { 0, 0, 0, 0 }, // Swizzle
4469         { 8, 0, 0, 0 }, // Bits per component
4470         8, // Bits per element
4471         1, // Bytes per element
4472         1, // Num components
4473         false, // isSRGB
4474         false, // isBC
4475         false, // isSubsampled
4476         false, // isLuminance
4477         { false, false, false, false }, // Is normalized?
4478         { 1.0f, 0, 0, 0 }, // To float scale factor
4479         1, // bcWidth
4480         1, // bcHeight
4481     },
4482 
4483     // A8_UNORM (0x144)
4484     {
4485         "A8_UNORM",
4486         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4487         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4488         { 3, 0, 0, 0 }, // Swizzle
4489         { 8, 0, 0, 0 }, // Bits per component
4490         8, // Bits per element
4491         1, // Bytes per element
4492         1, // Num components
4493         false, // isSRGB
4494         false, // isBC
4495         false, // isSubsampled
4496         false, // isLuminance
4497         { true, false, false, false }, // Is normalized?
4498         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4499         1, // bcWidth
4500         1, // bcHeight
4501     },
4502 
4503     // I8_UNORM (0x145)
4504     {
4505         "I8_UNORM",
4506         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4507         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4508         { 0, 0, 0, 0 }, // Swizzle
4509         { 8, 0, 0, 0 }, // Bits per component
4510         8, // Bits per element
4511         1, // Bytes per element
4512         1, // Num components
4513         false, // isSRGB
4514         false, // isBC
4515         false, // isSubsampled
4516         true, // isLuminance
4517         { true, false, false, false }, // Is normalized?
4518         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4519         1, // bcWidth
4520         1, // bcHeight
4521     },
4522 
4523     // L8_UNORM (0x146)
4524     {
4525         "L8_UNORM",
4526         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4527         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4528         { 0, 0, 0, 0 }, // Swizzle
4529         { 8, 0, 0, 0 }, // Bits per component
4530         8, // Bits per element
4531         1, // Bytes per element
4532         1, // Num components
4533         false, // isSRGB
4534         false, // isBC
4535         false, // isSubsampled
4536         true, // isLuminance
4537         { true, false, false, false }, // Is normalized?
4538         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4539         1, // bcWidth
4540         1, // bcHeight
4541     },
4542 
4543     // padding (0x147)
4544     {
4545         nullptr,
4546         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4547         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4548         0, 0, 0, false, false, false, false,
4549         { false, false, false, false },
4550         { 0.0f, 0.0f, 0.0f, 0.0f },
4551         1, 1
4552     },
4553     // padding (0x148)
4554     {
4555         nullptr,
4556         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4557         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4558         0, 0, 0, false, false, false, false,
4559         { false, false, false, false },
4560         { 0.0f, 0.0f, 0.0f, 0.0f },
4561         1, 1
4562     },
4563     // R8_SSCALED (0x149)
4564     {
4565         "R8_SSCALED",
4566         { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4567         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4568         { 0, 0, 0, 0 }, // Swizzle
4569         { 8, 0, 0, 0 }, // Bits per component
4570         8, // Bits per element
4571         1, // Bytes per element
4572         1, // Num components
4573         false, // isSRGB
4574         false, // isBC
4575         false, // isSubsampled
4576         false, // isLuminance
4577         { false, false, false, false }, // Is normalized?
4578         { 1.0f, 0, 0, 0 }, // To float scale factor
4579         1, // bcWidth
4580         1, // bcHeight
4581     },
4582 
4583     // R8_USCALED (0x14A)
4584     {
4585         "R8_USCALED",
4586         { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4587         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4588         { 0, 0, 0, 0 }, // Swizzle
4589         { 8, 0, 0, 0 }, // Bits per component
4590         8, // Bits per element
4591         1, // Bytes per element
4592         1, // Num components
4593         false, // isSRGB
4594         false, // isBC
4595         false, // isSubsampled
4596         false, // isLuminance
4597         { false, false, false, false }, // Is normalized?
4598         { 1.0f, 0, 0, 0 }, // To float scale factor
4599         1, // bcWidth
4600         1, // bcHeight
4601     },
4602 
4603     // padding (0x14B)
4604     {
4605         nullptr,
4606         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4607         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4608         0, 0, 0, false, false, false, false,
4609         { false, false, false, false },
4610         { 0.0f, 0.0f, 0.0f, 0.0f },
4611         1, 1
4612     },
4613     // L8_UNORM_SRGB (0x14C)
4614     {
4615         "L8_UNORM_SRGB",
4616         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4617         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4618         { 0, 0, 0, 0 }, // Swizzle
4619         { 8, 0, 0, 0 }, // Bits per component
4620         8, // Bits per element
4621         1, // Bytes per element
4622         1, // Num components
4623         true, // isSRGB
4624         false, // isBC
4625         false, // isSubsampled
4626         true, // isLuminance
4627         { true, false, false, false }, // Is normalized?
4628         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4629         1, // bcWidth
4630         1, // bcHeight
4631     },
4632 
4633     // padding (0x14D)
4634     {
4635         nullptr,
4636         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4637         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4638         0, 0, 0, false, false, false, false,
4639         { false, false, false, false },
4640         { 0.0f, 0.0f, 0.0f, 0.0f },
4641         1, 1
4642     },
4643     // padding (0x14E)
4644     {
4645         nullptr,
4646         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4647         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4648         0, 0, 0, false, false, false, false,
4649         { false, false, false, false },
4650         { 0.0f, 0.0f, 0.0f, 0.0f },
4651         1, 1
4652     },
4653     // padding (0x14F)
4654     {
4655         nullptr,
4656         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4657         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4658         0, 0, 0, false, false, false, false,
4659         { false, false, false, false },
4660         { 0.0f, 0.0f, 0.0f, 0.0f },
4661         1, 1
4662     },
4663     // padding (0x150)
4664     {
4665         nullptr,
4666         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4667         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4668         0, 0, 0, false, false, false, false,
4669         { false, false, false, false },
4670         { 0.0f, 0.0f, 0.0f, 0.0f },
4671         1, 1
4672     },
4673     // padding (0x151)
4674     {
4675         nullptr,
4676         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4677         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4678         0, 0, 0, false, false, false, false,
4679         { false, false, false, false },
4680         { 0.0f, 0.0f, 0.0f, 0.0f },
4681         1, 1
4682     },
4683     // L8_UINT (0x152)
4684     {
4685         "L8_UINT",
4686         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4687         { 0, 0, 0, 0x1 }, // Defaults for missing components
4688         { 0, 0, 0, 0 }, // Swizzle
4689         { 8, 0, 0, 0 }, // Bits per component
4690         8, // Bits per element
4691         1, // Bytes per element
4692         1, // Num components
4693         false, // isSRGB
4694         false, // isBC
4695         false, // isSubsampled
4696         true, // isLuminance
4697         { false, false, false, false }, // Is normalized?
4698         { 1.0f, 0, 0, 0 }, // To float scale factor
4699         1, // bcWidth
4700         1, // bcHeight
4701     },
4702 
4703     // L8_SINT (0x153)
4704     {
4705         "L8_SINT",
4706         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4707         { 0, 0, 0, 0x1 }, // Defaults for missing components
4708         { 0, 0, 0, 0 }, // Swizzle
4709         { 8, 0, 0, 0 }, // Bits per component
4710         8, // Bits per element
4711         1, // Bytes per element
4712         1, // Num components
4713         false, // isSRGB
4714         false, // isBC
4715         false, // isSubsampled
4716         true, // isLuminance
4717         { false, false, false, false }, // Is normalized?
4718         { 1.0f, 0, 0, 0 }, // To float scale factor
4719         1, // bcWidth
4720         1, // bcHeight
4721     },
4722 
4723     // I8_UINT (0x154)
4724     {
4725         "I8_UINT",
4726         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4727         { 0, 0, 0, 0x1 }, // Defaults for missing components
4728         { 0, 0, 0, 0 }, // Swizzle
4729         { 8, 0, 0, 0 }, // Bits per component
4730         8, // Bits per element
4731         1, // Bytes per element
4732         1, // Num components
4733         false, // isSRGB
4734         false, // isBC
4735         false, // isSubsampled
4736         true, // isLuminance
4737         { false, false, false, false }, // Is normalized?
4738         { 1.0f, 0, 0, 0 }, // To float scale factor
4739         1, // bcWidth
4740         1, // bcHeight
4741     },
4742 
4743     // I8_SINT (0x155)
4744     {
4745         "I8_SINT",
4746         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4747         { 0, 0, 0, 0x1 }, // Defaults for missing components
4748         { 0, 0, 0, 0 }, // Swizzle
4749         { 8, 0, 0, 0 }, // Bits per component
4750         8, // Bits per element
4751         1, // Bytes per element
4752         1, // Num components
4753         false, // isSRGB
4754         false, // isBC
4755         false, // isSubsampled
4756         true, // isLuminance
4757         { false, false, false, false }, // Is normalized?
4758         { 1.0f, 0, 0, 0 }, // To float scale factor
4759         1, // bcWidth
4760         1, // bcHeight
4761     },
4762 
4763     // padding (0x156)
4764     {
4765         nullptr,
4766         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4767         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4768         0, 0, 0, false, false, false, false,
4769         { false, false, false, false },
4770         { 0.0f, 0.0f, 0.0f, 0.0f },
4771         1, 1
4772     },
4773     // padding (0x157)
4774     {
4775         nullptr,
4776         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4777         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4778         0, 0, 0, false, false, false, false,
4779         { false, false, false, false },
4780         { 0.0f, 0.0f, 0.0f, 0.0f },
4781         1, 1
4782     },
4783     // padding (0x158)
4784     {
4785         nullptr,
4786         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4787         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4788         0, 0, 0, false, false, false, false,
4789         { false, false, false, false },
4790         { 0.0f, 0.0f, 0.0f, 0.0f },
4791         1, 1
4792     },
4793     // padding (0x159)
4794     {
4795         nullptr,
4796         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4797         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4798         0, 0, 0, false, false, false, false,
4799         { false, false, false, false },
4800         { 0.0f, 0.0f, 0.0f, 0.0f },
4801         1, 1
4802     },
4803     // padding (0x15A)
4804     {
4805         nullptr,
4806         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4807         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4808         0, 0, 0, false, false, false, false,
4809         { false, false, false, false },
4810         { 0.0f, 0.0f, 0.0f, 0.0f },
4811         1, 1
4812     },
4813     // padding (0x15B)
4814     {
4815         nullptr,
4816         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4817         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4818         0, 0, 0, false, false, false, false,
4819         { false, false, false, false },
4820         { 0.0f, 0.0f, 0.0f, 0.0f },
4821         1, 1
4822     },
4823     // padding (0x15C)
4824     {
4825         nullptr,
4826         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4827         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4828         0, 0, 0, false, false, false, false,
4829         { false, false, false, false },
4830         { 0.0f, 0.0f, 0.0f, 0.0f },
4831         1, 1
4832     },
4833     // padding (0x15D)
4834     {
4835         nullptr,
4836         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4837         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4838         0, 0, 0, false, false, false, false,
4839         { false, false, false, false },
4840         { 0.0f, 0.0f, 0.0f, 0.0f },
4841         1, 1
4842     },
4843     // padding (0x15E)
4844     {
4845         nullptr,
4846         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4847         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4848         0, 0, 0, false, false, false, false,
4849         { false, false, false, false },
4850         { 0.0f, 0.0f, 0.0f, 0.0f },
4851         1, 1
4852     },
4853     // padding (0x15F)
4854     {
4855         nullptr,
4856         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4857         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4858         0, 0, 0, false, false, false, false,
4859         { false, false, false, false },
4860         { 0.0f, 0.0f, 0.0f, 0.0f },
4861         1, 1
4862     },
4863     // padding (0x160)
4864     {
4865         nullptr,
4866         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4867         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4868         0, 0, 0, false, false, false, false,
4869         { false, false, false, false },
4870         { 0.0f, 0.0f, 0.0f, 0.0f },
4871         1, 1
4872     },
4873     // padding (0x161)
4874     {
4875         nullptr,
4876         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4877         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4878         0, 0, 0, false, false, false, false,
4879         { false, false, false, false },
4880         { 0.0f, 0.0f, 0.0f, 0.0f },
4881         1, 1
4882     },
4883     // padding (0x162)
4884     {
4885         nullptr,
4886         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4887         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4888         0, 0, 0, false, false, false, false,
4889         { false, false, false, false },
4890         { 0.0f, 0.0f, 0.0f, 0.0f },
4891         1, 1
4892     },
4893     // padding (0x163)
4894     {
4895         nullptr,
4896         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4897         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4898         0, 0, 0, false, false, false, false,
4899         { false, false, false, false },
4900         { 0.0f, 0.0f, 0.0f, 0.0f },
4901         1, 1
4902     },
4903     // padding (0x164)
4904     {
4905         nullptr,
4906         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4907         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4908         0, 0, 0, false, false, false, false,
4909         { false, false, false, false },
4910         { 0.0f, 0.0f, 0.0f, 0.0f },
4911         1, 1
4912     },
4913     // padding (0x165)
4914     {
4915         nullptr,
4916         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4917         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4918         0, 0, 0, false, false, false, false,
4919         { false, false, false, false },
4920         { 0.0f, 0.0f, 0.0f, 0.0f },
4921         1, 1
4922     },
4923     // padding (0x166)
4924     {
4925         nullptr,
4926         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4927         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4928         0, 0, 0, false, false, false, false,
4929         { false, false, false, false },
4930         { 0.0f, 0.0f, 0.0f, 0.0f },
4931         1, 1
4932     },
4933     // padding (0x167)
4934     {
4935         nullptr,
4936         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4937         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4938         0, 0, 0, false, false, false, false,
4939         { false, false, false, false },
4940         { 0.0f, 0.0f, 0.0f, 0.0f },
4941         1, 1
4942     },
4943     // padding (0x168)
4944     {
4945         nullptr,
4946         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4947         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4948         0, 0, 0, false, false, false, false,
4949         { false, false, false, false },
4950         { 0.0f, 0.0f, 0.0f, 0.0f },
4951         1, 1
4952     },
4953     // padding (0x169)
4954     {
4955         nullptr,
4956         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4957         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4958         0, 0, 0, false, false, false, false,
4959         { false, false, false, false },
4960         { 0.0f, 0.0f, 0.0f, 0.0f },
4961         1, 1
4962     },
4963     // padding (0x16A)
4964     {
4965         nullptr,
4966         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4967         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4968         0, 0, 0, false, false, false, false,
4969         { false, false, false, false },
4970         { 0.0f, 0.0f, 0.0f, 0.0f },
4971         1, 1
4972     },
4973     // padding (0x16B)
4974     {
4975         nullptr,
4976         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4977         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4978         0, 0, 0, false, false, false, false,
4979         { false, false, false, false },
4980         { 0.0f, 0.0f, 0.0f, 0.0f },
4981         1, 1
4982     },
4983     // padding (0x16C)
4984     {
4985         nullptr,
4986         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4987         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4988         0, 0, 0, false, false, false, false,
4989         { false, false, false, false },
4990         { 0.0f, 0.0f, 0.0f, 0.0f },
4991         1, 1
4992     },
4993     // padding (0x16D)
4994     {
4995         nullptr,
4996         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4997         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4998         0, 0, 0, false, false, false, false,
4999         { false, false, false, false },
5000         { 0.0f, 0.0f, 0.0f, 0.0f },
5001         1, 1
5002     },
5003     // padding (0x16E)
5004     {
5005         nullptr,
5006         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5007         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5008         0, 0, 0, false, false, false, false,
5009         { false, false, false, false },
5010         { 0.0f, 0.0f, 0.0f, 0.0f },
5011         1, 1
5012     },
5013     // padding (0x16F)
5014     {
5015         nullptr,
5016         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5017         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5018         0, 0, 0, false, false, false, false,
5019         { false, false, false, false },
5020         { 0.0f, 0.0f, 0.0f, 0.0f },
5021         1, 1
5022     },
5023     // padding (0x170)
5024     {
5025         nullptr,
5026         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5027         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5028         0, 0, 0, false, false, false, false,
5029         { false, false, false, false },
5030         { 0.0f, 0.0f, 0.0f, 0.0f },
5031         1, 1
5032     },
5033     // padding (0x171)
5034     {
5035         nullptr,
5036         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5037         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5038         0, 0, 0, false, false, false, false,
5039         { false, false, false, false },
5040         { 0.0f, 0.0f, 0.0f, 0.0f },
5041         1, 1
5042     },
5043     // padding (0x172)
5044     {
5045         nullptr,
5046         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5047         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5048         0, 0, 0, false, false, false, false,
5049         { false, false, false, false },
5050         { 0.0f, 0.0f, 0.0f, 0.0f },
5051         1, 1
5052     },
5053     // padding (0x173)
5054     {
5055         nullptr,
5056         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5057         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5058         0, 0, 0, false, false, false, false,
5059         { false, false, false, false },
5060         { 0.0f, 0.0f, 0.0f, 0.0f },
5061         1, 1
5062     },
5063     // padding (0x174)
5064     {
5065         nullptr,
5066         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5067         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5068         0, 0, 0, false, false, false, false,
5069         { false, false, false, false },
5070         { 0.0f, 0.0f, 0.0f, 0.0f },
5071         1, 1
5072     },
5073     // padding (0x175)
5074     {
5075         nullptr,
5076         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5077         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5078         0, 0, 0, false, false, false, false,
5079         { false, false, false, false },
5080         { 0.0f, 0.0f, 0.0f, 0.0f },
5081         1, 1
5082     },
5083     // padding (0x176)
5084     {
5085         nullptr,
5086         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5087         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5088         0, 0, 0, false, false, false, false,
5089         { false, false, false, false },
5090         { 0.0f, 0.0f, 0.0f, 0.0f },
5091         1, 1
5092     },
5093     // padding (0x177)
5094     {
5095         nullptr,
5096         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5097         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5098         0, 0, 0, false, false, false, false,
5099         { false, false, false, false },
5100         { 0.0f, 0.0f, 0.0f, 0.0f },
5101         1, 1
5102     },
5103     // padding (0x178)
5104     {
5105         nullptr,
5106         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5107         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5108         0, 0, 0, false, false, false, false,
5109         { false, false, false, false },
5110         { 0.0f, 0.0f, 0.0f, 0.0f },
5111         1, 1
5112     },
5113     // padding (0x179)
5114     {
5115         nullptr,
5116         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5117         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5118         0, 0, 0, false, false, false, false,
5119         { false, false, false, false },
5120         { 0.0f, 0.0f, 0.0f, 0.0f },
5121         1, 1
5122     },
5123     // padding (0x17A)
5124     {
5125         nullptr,
5126         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5127         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5128         0, 0, 0, false, false, false, false,
5129         { false, false, false, false },
5130         { 0.0f, 0.0f, 0.0f, 0.0f },
5131         1, 1
5132     },
5133     // padding (0x17B)
5134     {
5135         nullptr,
5136         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5137         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5138         0, 0, 0, false, false, false, false,
5139         { false, false, false, false },
5140         { 0.0f, 0.0f, 0.0f, 0.0f },
5141         1, 1
5142     },
5143     // padding (0x17C)
5144     {
5145         nullptr,
5146         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5147         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5148         0, 0, 0, false, false, false, false,
5149         { false, false, false, false },
5150         { 0.0f, 0.0f, 0.0f, 0.0f },
5151         1, 1
5152     },
5153     // padding (0x17D)
5154     {
5155         nullptr,
5156         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5157         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5158         0, 0, 0, false, false, false, false,
5159         { false, false, false, false },
5160         { 0.0f, 0.0f, 0.0f, 0.0f },
5161         1, 1
5162     },
5163     // padding (0x17E)
5164     {
5165         nullptr,
5166         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5167         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5168         0, 0, 0, false, false, false, false,
5169         { false, false, false, false },
5170         { 0.0f, 0.0f, 0.0f, 0.0f },
5171         1, 1
5172     },
5173     // padding (0x17F)
5174     {
5175         nullptr,
5176         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5177         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5178         0, 0, 0, false, false, false, false,
5179         { false, false, false, false },
5180         { 0.0f, 0.0f, 0.0f, 0.0f },
5181         1, 1
5182     },
5183     // DXT1_RGB_SRGB (0x180)
5184     {
5185         "DXT1_RGB_SRGB",
5186         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5187         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5188         { 0, 1, 2, 3 }, // Swizzle
5189         { 8, 8, 8, 8 }, // Bits per component
5190         64, // Bits per element
5191         8, // Bytes per element
5192         1, // Num components
5193         false, // isSRGB
5194         true, // isBC
5195         false, // isSubsampled
5196         false, // isLuminance
5197         { true, false, false, false }, // Is normalized?
5198         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5199         4, // bcWidth
5200         4, // bcHeight
5201     },
5202 
5203     // padding (0x181)
5204     {
5205         nullptr,
5206         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5207         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5208         0, 0, 0, false, false, false, false,
5209         { false, false, false, false },
5210         { 0.0f, 0.0f, 0.0f, 0.0f },
5211         1, 1
5212     },
5213     // padding (0x182)
5214     {
5215         nullptr,
5216         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5217         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5218         0, 0, 0, false, false, false, false,
5219         { false, false, false, false },
5220         { 0.0f, 0.0f, 0.0f, 0.0f },
5221         1, 1
5222     },
5223     // YCRCB_SWAPUVY (0x183)
5224     {
5225         "YCRCB_SWAPUVY",
5226         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
5227         { 0, 0, 0, 0x1 }, // Defaults for missing components
5228         { 0, 1, 2, 3 }, // Swizzle
5229         { 8, 8, 8, 8 }, // Bits per component
5230         32, // Bits per element
5231         4, // Bytes per element
5232         4, // Num components
5233         false, // isSRGB
5234         false, // isBC
5235         true, // isSubsampled
5236         false, // isLuminance
5237         { false, false, false, false }, // Is normalized?
5238         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
5239         2, // bcWidth
5240         1, // bcHeight
5241     },
5242 
5243     // padding (0x184)
5244     {
5245         nullptr,
5246         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5247         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5248         0, 0, 0, false, false, false, false,
5249         { false, false, false, false },
5250         { 0.0f, 0.0f, 0.0f, 0.0f },
5251         1, 1
5252     },
5253     // padding (0x185)
5254     {
5255         nullptr,
5256         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5257         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5258         0, 0, 0, false, false, false, false,
5259         { false, false, false, false },
5260         { 0.0f, 0.0f, 0.0f, 0.0f },
5261         1, 1
5262     },
5263     // BC1_UNORM (0x186)
5264     {
5265         "BC1_UNORM",
5266         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5267         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5268         { 0, 1, 2, 3 }, // Swizzle
5269         { 8, 8, 8, 8 }, // Bits per component
5270         64, // Bits per element
5271         8, // Bytes per element
5272         1, // Num components
5273         false, // isSRGB
5274         true, // isBC
5275         false, // isSubsampled
5276         false, // isLuminance
5277         { true, false, false, false }, // Is normalized?
5278         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5279         4, // bcWidth
5280         4, // bcHeight
5281     },
5282 
5283     // BC2_UNORM (0x187)
5284     {
5285         "BC2_UNORM",
5286         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5287         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5288         { 0, 1, 2, 3 }, // Swizzle
5289         { 8, 8, 8, 8 }, // Bits per component
5290         128, // Bits per element
5291         16, // Bytes per element
5292         1, // Num components
5293         false, // isSRGB
5294         true, // isBC
5295         false, // isSubsampled
5296         false, // isLuminance
5297         { true, false, false, false }, // Is normalized?
5298         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5299         4, // bcWidth
5300         4, // bcHeight
5301     },
5302 
5303     // BC3_UNORM (0x188)
5304     {
5305         "BC3_UNORM",
5306         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5307         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5308         { 0, 1, 2, 3 }, // Swizzle
5309         { 8, 8, 8, 8 }, // Bits per component
5310         128, // Bits per element
5311         16, // Bytes per element
5312         1, // Num components
5313         false, // isSRGB
5314         true, // isBC
5315         false, // isSubsampled
5316         false, // isLuminance
5317         { true, false, false, false }, // Is normalized?
5318         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5319         4, // bcWidth
5320         4, // bcHeight
5321     },
5322 
5323     // BC4_UNORM (0x189)
5324     {
5325         "BC4_UNORM",
5326         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5327         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5328         { 0, 1, 2, 3 }, // Swizzle
5329         { 8, 8, 8, 8 }, // Bits per component
5330         64, // Bits per element
5331         8, // Bytes per element
5332         1, // Num components
5333         false, // isSRGB
5334         true, // isBC
5335         false, // isSubsampled
5336         false, // isLuminance
5337         { true, false, false, false }, // Is normalized?
5338         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5339         4, // bcWidth
5340         4, // bcHeight
5341     },
5342 
5343     // BC5_UNORM (0x18A)
5344     {
5345         "BC5_UNORM",
5346         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5347         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5348         { 0, 1, 2, 3 }, // Swizzle
5349         { 8, 8, 8, 8 }, // Bits per component
5350         128, // Bits per element
5351         16, // Bytes per element
5352         1, // Num components
5353         false, // isSRGB
5354         true, // isBC
5355         false, // isSubsampled
5356         false, // isLuminance
5357         { true, false, false, false }, // Is normalized?
5358         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5359         4, // bcWidth
5360         4, // bcHeight
5361     },
5362 
5363     // BC1_UNORM_SRGB (0x18B)
5364     {
5365         "BC1_UNORM_SRGB",
5366         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5367         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5368         { 0, 1, 2, 3 }, // Swizzle
5369         { 8, 8, 8, 8 }, // Bits per component
5370         64, // Bits per element
5371         8, // Bytes per element
5372         1, // Num components
5373         true, // isSRGB
5374         true, // isBC
5375         false, // isSubsampled
5376         false, // isLuminance
5377         { true, false, false, false }, // Is normalized?
5378         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5379         4, // bcWidth
5380         4, // bcHeight
5381     },
5382 
5383     // BC2_UNORM_SRGB (0x18C)
5384     {
5385         "BC2_UNORM_SRGB",
5386         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5387         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5388         { 0, 1, 2, 3 }, // Swizzle
5389         { 8, 8, 8, 8 }, // Bits per component
5390         128, // Bits per element
5391         16, // Bytes per element
5392         1, // Num components
5393         true, // isSRGB
5394         true, // isBC
5395         false, // isSubsampled
5396         false, // isLuminance
5397         { true, false, false, false }, // Is normalized?
5398         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5399         4, // bcWidth
5400         4, // bcHeight
5401     },
5402 
5403     // BC3_UNORM_SRGB (0x18D)
5404     {
5405         "BC3_UNORM_SRGB",
5406         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5407         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5408         { 0, 1, 2, 3 }, // Swizzle
5409         { 8, 8, 8, 8 }, // Bits per component
5410         128, // Bits per element
5411         16, // Bytes per element
5412         1, // Num components
5413         true, // isSRGB
5414         true, // isBC
5415         false, // isSubsampled
5416         false, // isLuminance
5417         { true, false, false, false }, // Is normalized?
5418         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5419         4, // bcWidth
5420         4, // bcHeight
5421     },
5422 
5423     // padding (0x18E)
5424     {
5425         nullptr,
5426         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5427         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5428         0, 0, 0, false, false, false, false,
5429         { false, false, false, false },
5430         { 0.0f, 0.0f, 0.0f, 0.0f },
5431         1, 1
5432     },
5433     // YCRCB_SWAPUV (0x18F)
5434     {
5435         "YCRCB_SWAPUV",
5436         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
5437         { 0, 0, 0, 0x1 }, // Defaults for missing components
5438         { 0, 1, 2, 3 }, // Swizzle
5439         { 8, 8, 8, 8 }, // Bits per component
5440         32, // Bits per element
5441         4, // Bytes per element
5442         4, // Num components
5443         false, // isSRGB
5444         false, // isBC
5445         true, // isSubsampled
5446         false, // isLuminance
5447         { false, false, false, false }, // Is normalized?
5448         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
5449         2, // bcWidth
5450         1, // bcHeight
5451     },
5452 
5453     // padding (0x190)
5454     {
5455         nullptr,
5456         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5457         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5458         0, 0, 0, false, false, false, false,
5459         { false, false, false, false },
5460         { 0.0f, 0.0f, 0.0f, 0.0f },
5461         1, 1
5462     },
5463     // DXT1_RGB (0x191)
5464     {
5465         "DXT1_RGB",
5466         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5467         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5468         { 0, 1, 2, 3 }, // Swizzle
5469         { 8, 8, 8, 8 }, // Bits per component
5470         64, // Bits per element
5471         8, // Bytes per element
5472         1, // Num components
5473         false, // isSRGB
5474         true, // isBC
5475         false, // isSubsampled
5476         false, // isLuminance
5477         { true, false, false, false }, // Is normalized?
5478         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5479         4, // bcWidth
5480         4, // bcHeight
5481     },
5482 
5483     // padding (0x192)
5484     {
5485         nullptr,
5486         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5487         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5488         0, 0, 0, false, false, false, false,
5489         { false, false, false, false },
5490         { 0.0f, 0.0f, 0.0f, 0.0f },
5491         1, 1
5492     },
5493     // R8G8B8_UNORM (0x193)
5494     {
5495         "R8G8B8_UNORM",
5496         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
5497         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5498         { 0, 1, 2, 0 }, // Swizzle
5499         { 8, 8, 8, 0 }, // Bits per component
5500         24, // Bits per element
5501         3, // Bytes per element
5502         3, // Num components
5503         false, // isSRGB
5504         false, // isBC
5505         false, // isSubsampled
5506         false, // isLuminance
5507         { true, true, true, false }, // Is normalized?
5508         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 0 }, // To float scale factor
5509         1, // bcWidth
5510         1, // bcHeight
5511     },
5512 
5513     // R8G8B8_SNORM (0x194)
5514     {
5515         "R8G8B8_SNORM",
5516         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN },
5517         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5518         { 0, 1, 2, 0 }, // Swizzle
5519         { 8, 8, 8, 0 }, // Bits per component
5520         24, // Bits per element
5521         3, // Bytes per element
5522         3, // Num components
5523         false, // isSRGB
5524         false, // isBC
5525         false, // isSubsampled
5526         false, // isLuminance
5527         { true, true, true, false }, // Is normalized?
5528         { 1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f, 0 }, // To float scale factor
5529         1, // bcWidth
5530         1, // bcHeight
5531     },
5532 
5533     // R8G8B8_SSCALED (0x195)
5534     {
5535         "R8G8B8_SSCALED",
5536         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN },
5537         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5538         { 0, 1, 2, 0 }, // Swizzle
5539         { 8, 8, 8, 0 }, // Bits per component
5540         24, // Bits per element
5541         3, // Bytes per element
5542         3, // Num components
5543         false, // isSRGB
5544         false, // isBC
5545         false, // isSubsampled
5546         false, // isLuminance
5547         { false, false, false, false }, // Is normalized?
5548         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5549         1, // bcWidth
5550         1, // bcHeight
5551     },
5552 
5553     // R8G8B8_USCALED (0x196)
5554     {
5555         "R8G8B8_USCALED",
5556         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN },
5557         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5558         { 0, 1, 2, 0 }, // Swizzle
5559         { 8, 8, 8, 0 }, // Bits per component
5560         24, // Bits per element
5561         3, // Bytes per element
5562         3, // Num components
5563         false, // isSRGB
5564         false, // isBC
5565         false, // isSubsampled
5566         false, // isLuminance
5567         { false, false, false, false }, // Is normalized?
5568         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5569         1, // bcWidth
5570         1, // bcHeight
5571     },
5572 
5573     // R64G64B64A64_FLOAT (0x197)
5574     {
5575         "R64G64B64A64_FLOAT",
5576         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT },
5577         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5578         { 0, 1, 2, 3 }, // Swizzle
5579         { 64, 64, 64, 64 }, // Bits per component
5580         256, // Bits per element
5581         32, // Bytes per element
5582         4, // Num components
5583         false, // isSRGB
5584         false, // isBC
5585         false, // isSubsampled
5586         false, // isLuminance
5587         { false, false, false, false }, // Is normalized?
5588         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
5589         1, // bcWidth
5590         1, // bcHeight
5591     },
5592 
5593     // R64G64B64_FLOAT (0x198)
5594     {
5595         "R64G64B64_FLOAT",
5596         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
5597         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5598         { 0, 1, 2, 0 }, // Swizzle
5599         { 64, 64, 64, 0 }, // Bits per component
5600         192, // Bits per element
5601         24, // Bytes per element
5602         3, // Num components
5603         false, // isSRGB
5604         false, // isBC
5605         false, // isSubsampled
5606         false, // isLuminance
5607         { false, false, false, false }, // Is normalized?
5608         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5609         1, // bcWidth
5610         1, // bcHeight
5611     },
5612 
5613     // BC4_SNORM (0x199)
5614     {
5615         "BC4_SNORM",
5616         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5617         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5618         { 0, 1, 2, 3 }, // Swizzle
5619         { 8, 8, 8, 8 }, // Bits per component
5620         64, // Bits per element
5621         8, // Bytes per element
5622         1, // Num components
5623         false, // isSRGB
5624         true, // isBC
5625         false, // isSubsampled
5626         false, // isLuminance
5627         { true, false, false, false }, // Is normalized?
5628         { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
5629         4, // bcWidth
5630         4, // bcHeight
5631     },
5632 
5633     // BC5_SNORM (0x19A)
5634     {
5635         "BC5_SNORM",
5636         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5637         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5638         { 0, 1, 2, 3 }, // Swizzle
5639         { 8, 8, 8, 8 }, // Bits per component
5640         128, // Bits per element
5641         16, // Bytes per element
5642         1, // Num components
5643         false, // isSRGB
5644         true, // isBC
5645         false, // isSubsampled
5646         false, // isLuminance
5647         { true, false, false, false }, // Is normalized?
5648         { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
5649         4, // bcWidth
5650         4, // bcHeight
5651     },
5652 
5653     // R16G16B16_FLOAT (0x19B)
5654     {
5655         "R16G16B16_FLOAT",
5656         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
5657         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5658         { 0, 1, 2, 0 }, // Swizzle
5659         { 16, 16, 16, 0 }, // Bits per component
5660         48, // Bits per element
5661         6, // Bytes per element
5662         3, // Num components
5663         false, // isSRGB
5664         false, // isBC
5665         false, // isSubsampled
5666         false, // isLuminance
5667         { false, false, false, false }, // Is normalized?
5668         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5669         1, // bcWidth
5670         1, // bcHeight
5671     },
5672 
5673     // R16G16B16_UNORM (0x19C)
5674     {
5675         "R16G16B16_UNORM",
5676         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
5677         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5678         { 0, 1, 2, 0 }, // Swizzle
5679         { 16, 16, 16, 0 }, // Bits per component
5680         48, // Bits per element
5681         6, // Bytes per element
5682         3, // Num components
5683         false, // isSRGB
5684         false, // isBC
5685         false, // isSubsampled
5686         false, // isLuminance
5687         { true, true, true, false }, // Is normalized?
5688         { 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 0 }, // To float scale factor
5689         1, // bcWidth
5690         1, // bcHeight
5691     },
5692 
5693     // R16G16B16_SNORM (0x19D)
5694     {
5695         "R16G16B16_SNORM",
5696         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN },
5697         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5698         { 0, 1, 2, 0 }, // Swizzle
5699         { 16, 16, 16, 0 }, // Bits per component
5700         48, // Bits per element
5701         6, // Bytes per element
5702         3, // Num components
5703         false, // isSRGB
5704         false, // isBC
5705         false, // isSubsampled
5706         false, // isLuminance
5707         { true, true, true, false }, // Is normalized?
5708         { 1.0f / 32767.0f, 1.0f / 32767.0f, 1.0f / 32767.0f, 0 }, // To float scale factor
5709         1, // bcWidth
5710         1, // bcHeight
5711     },
5712 
5713     // R16G16B16_SSCALED (0x19E)
5714     {
5715         "R16G16B16_SSCALED",
5716         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN },
5717         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5718         { 0, 1, 2, 0 }, // Swizzle
5719         { 16, 16, 16, 0 }, // Bits per component
5720         48, // Bits per element
5721         6, // Bytes per element
5722         3, // Num components
5723         false, // isSRGB
5724         false, // isBC
5725         false, // isSubsampled
5726         false, // isLuminance
5727         { false, false, false, false }, // Is normalized?
5728         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5729         1, // bcWidth
5730         1, // bcHeight
5731     },
5732 
5733     // R16G16B16_USCALED (0x19F)
5734     {
5735         "R16G16B16_USCALED",
5736         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN },
5737         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5738         { 0, 1, 2, 0 }, // Swizzle
5739         { 16, 16, 16, 0 }, // Bits per component
5740         48, // Bits per element
5741         6, // Bytes per element
5742         3, // Num components
5743         false, // isSRGB
5744         false, // isBC
5745         false, // isSubsampled
5746         false, // isLuminance
5747         { false, false, false, false }, // Is normalized?
5748         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5749         1, // bcWidth
5750         1, // bcHeight
5751     },
5752 
5753     // padding (0x1A0)
5754     {
5755         nullptr,
5756         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5757         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5758         0, 0, 0, false, false, false, false,
5759         { false, false, false, false },
5760         { 0.0f, 0.0f, 0.0f, 0.0f },
5761         1, 1
5762     },
5763     // BC6H_SF16 (0x1A1)
5764     {
5765         "BC6H_SF16",
5766         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5767         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5768         { 0, 1, 2, 3 }, // Swizzle
5769         { 8, 8, 8, 8 }, // Bits per component
5770         128, // Bits per element
5771         16, // Bytes per element
5772         1, // Num components
5773         false, // isSRGB
5774         true, // isBC
5775         false, // isSubsampled
5776         false, // isLuminance
5777         { true, false, false, false }, // Is normalized?
5778         { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
5779         4, // bcWidth
5780         4, // bcHeight
5781     },
5782 
5783     // BC7_UNORM (0x1A2)
5784     {
5785         "BC7_UNORM",
5786         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5787         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5788         { 0, 1, 2, 3 }, // Swizzle
5789         { 8, 8, 8, 8 }, // Bits per component
5790         128, // Bits per element
5791         16, // Bytes per element
5792         1, // Num components
5793         false, // isSRGB
5794         true, // isBC
5795         false, // isSubsampled
5796         false, // isLuminance
5797         { true, false, false, false }, // Is normalized?
5798         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5799         4, // bcWidth
5800         4, // bcHeight
5801     },
5802 
5803     // BC7_UNORM_SRGB (0x1A3)
5804     {
5805         "BC7_UNORM_SRGB",
5806         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5807         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5808         { 0, 1, 2, 3 }, // Swizzle
5809         { 8, 8, 8, 8 }, // Bits per component
5810         128, // Bits per element
5811         16, // Bytes per element
5812         1, // Num components
5813         true, // isSRGB
5814         true, // isBC
5815         false, // isSubsampled
5816         false, // isLuminance
5817         { true, false, false, false }, // Is normalized?
5818         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5819         4, // bcWidth
5820         4, // bcHeight
5821     },
5822 
5823     // BC6H_UF16 (0x1A4)
5824     {
5825         "BC6H_UF16",
5826         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5827         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5828         { 0, 1, 2, 3 }, // Swizzle
5829         { 8, 8, 8, 8 }, // Bits per component
5830         128, // Bits per element
5831         16, // Bytes per element
5832         1, // Num components
5833         false, // isSRGB
5834         true, // isBC
5835         false, // isSubsampled
5836         false, // isLuminance
5837         { true, false, false, false }, // Is normalized?
5838         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5839         4, // bcWidth
5840         4, // bcHeight
5841     },
5842 
5843     // padding (0x1A5)
5844     {
5845         nullptr,
5846         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5847         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5848         0, 0, 0, false, false, false, false,
5849         { false, false, false, false },
5850         { 0.0f, 0.0f, 0.0f, 0.0f },
5851         1, 1
5852     },
5853     // padding (0x1A6)
5854     {
5855         nullptr,
5856         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5857         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5858         0, 0, 0, false, false, false, false,
5859         { false, false, false, false },
5860         { 0.0f, 0.0f, 0.0f, 0.0f },
5861         1, 1
5862     },
5863     // padding (0x1A7)
5864     {
5865         nullptr,
5866         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5867         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5868         0, 0, 0, false, false, false, false,
5869         { false, false, false, false },
5870         { 0.0f, 0.0f, 0.0f, 0.0f },
5871         1, 1
5872     },
5873     // R8G8B8_UNORM_SRGB (0x1A8)
5874     {
5875         "R8G8B8_UNORM_SRGB",
5876         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
5877         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5878         { 0, 1, 2, 0 }, // Swizzle
5879         { 8, 8, 8, 0 }, // Bits per component
5880         24, // Bits per element
5881         3, // Bytes per element
5882         3, // Num components
5883         true, // isSRGB
5884         false, // isBC
5885         false, // isSubsampled
5886         false, // isLuminance
5887         { true, true, true, false }, // Is normalized?
5888         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 0 }, // To float scale factor
5889         1, // bcWidth
5890         1, // bcHeight
5891     },
5892 
5893     // padding (0x1A9)
5894     {
5895         nullptr,
5896         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5897         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5898         0, 0, 0, false, false, false, false,
5899         { false, false, false, false },
5900         { 0.0f, 0.0f, 0.0f, 0.0f },
5901         1, 1
5902     },
5903     // padding (0x1AA)
5904     {
5905         nullptr,
5906         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5907         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5908         0, 0, 0, false, false, false, false,
5909         { false, false, false, false },
5910         { 0.0f, 0.0f, 0.0f, 0.0f },
5911         1, 1
5912     },
5913     // padding (0x1AB)
5914     {
5915         nullptr,
5916         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5917         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5918         0, 0, 0, false, false, false, false,
5919         { false, false, false, false },
5920         { 0.0f, 0.0f, 0.0f, 0.0f },
5921         1, 1
5922     },
5923     // padding (0x1AC)
5924     {
5925         nullptr,
5926         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5927         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5928         0, 0, 0, false, false, false, false,
5929         { false, false, false, false },
5930         { 0.0f, 0.0f, 0.0f, 0.0f },
5931         1, 1
5932     },
5933     // padding (0x1AD)
5934     {
5935         nullptr,
5936         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5937         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5938         0, 0, 0, false, false, false, false,
5939         { false, false, false, false },
5940         { 0.0f, 0.0f, 0.0f, 0.0f },
5941         1, 1
5942     },
5943     // padding (0x1AE)
5944     {
5945         nullptr,
5946         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5947         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5948         0, 0, 0, false, false, false, false,
5949         { false, false, false, false },
5950         { 0.0f, 0.0f, 0.0f, 0.0f },
5951         1, 1
5952     },
5953     // padding (0x1AF)
5954     {
5955         nullptr,
5956         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5957         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5958         0, 0, 0, false, false, false, false,
5959         { false, false, false, false },
5960         { 0.0f, 0.0f, 0.0f, 0.0f },
5961         1, 1
5962     },
5963     // R16G16B16_UINT (0x1B0)
5964     {
5965         "R16G16B16_UINT",
5966         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
5967         { 0, 0, 0, 0x1 }, // Defaults for missing components
5968         { 0, 1, 2, 0 }, // Swizzle
5969         { 16, 16, 16, 0 }, // Bits per component
5970         48, // Bits per element
5971         6, // Bytes per element
5972         3, // Num components
5973         false, // isSRGB
5974         false, // isBC
5975         false, // isSubsampled
5976         false, // isLuminance
5977         { false, false, false, false }, // Is normalized?
5978         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5979         1, // bcWidth
5980         1, // bcHeight
5981     },
5982 
5983     // R16G16B16_SINT (0x1B1)
5984     {
5985         "R16G16B16_SINT",
5986         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
5987         { 0, 0, 0, 0x1 }, // Defaults for missing components
5988         { 0, 1, 2, 0 }, // Swizzle
5989         { 16, 16, 16, 0 }, // Bits per component
5990         48, // Bits per element
5991         6, // Bytes per element
5992         3, // Num components
5993         false, // isSRGB
5994         false, // isBC
5995         false, // isSubsampled
5996         false, // isLuminance
5997         { false, false, false, false }, // Is normalized?
5998         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5999         1, // bcWidth
6000         1, // bcHeight
6001     },
6002 
6003     // R32_SFIXED (0x1B2)
6004     {
6005         "R32_SFIXED",
6006         { SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6007         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6008         { 0, 0, 0, 0 }, // Swizzle
6009         { 32, 0, 0, 0 }, // Bits per component
6010         32, // Bits per element
6011         4, // Bytes per element
6012         1, // Num components
6013         false, // isSRGB
6014         false, // isBC
6015         false, // isSubsampled
6016         false, // isLuminance
6017         { false, false, false, false }, // Is normalized?
6018         { 1.0f, 0, 0, 0 }, // To float scale factor
6019         1, // bcWidth
6020         1, // bcHeight
6021     },
6022 
6023     // R10G10B10A2_SNORM (0x1B3)
6024     {
6025         "R10G10B10A2_SNORM",
6026         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
6027         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6028         { 0, 1, 2, 3 }, // Swizzle
6029         { 10, 10, 10, 2 }, // Bits per component
6030         32, // Bits per element
6031         4, // Bytes per element
6032         4, // Num components
6033         false, // isSRGB
6034         false, // isBC
6035         false, // isSubsampled
6036         false, // isLuminance
6037         { true, true, true, true }, // Is normalized?
6038         { 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 1.0f }, // To float scale factor
6039         1, // bcWidth
6040         1, // bcHeight
6041     },
6042 
6043     // R10G10B10A2_USCALED (0x1B4)
6044     {
6045         "R10G10B10A2_USCALED",
6046         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
6047         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6048         { 0, 1, 2, 3 }, // Swizzle
6049         { 10, 10, 10, 2 }, // Bits per component
6050         32, // Bits per element
6051         4, // Bytes per element
6052         4, // Num components
6053         false, // isSRGB
6054         false, // isBC
6055         false, // isSubsampled
6056         false, // isLuminance
6057         { false, false, false, false }, // Is normalized?
6058         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6059         1, // bcWidth
6060         1, // bcHeight
6061     },
6062 
6063     // R10G10B10A2_SSCALED (0x1B5)
6064     {
6065         "R10G10B10A2_SSCALED",
6066         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
6067         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6068         { 0, 1, 2, 3 }, // Swizzle
6069         { 10, 10, 10, 2 }, // Bits per component
6070         32, // Bits per element
6071         4, // Bytes per element
6072         4, // Num components
6073         false, // isSRGB
6074         false, // isBC
6075         false, // isSubsampled
6076         false, // isLuminance
6077         { false, false, false, false }, // Is normalized?
6078         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6079         1, // bcWidth
6080         1, // bcHeight
6081     },
6082 
6083     // R10G10B10A2_SINT (0x1B6)
6084     {
6085         "R10G10B10A2_SINT",
6086         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
6087         { 0, 0, 0, 0x1 }, // Defaults for missing components
6088         { 0, 1, 2, 3 }, // Swizzle
6089         { 10, 10, 10, 2 }, // Bits per component
6090         32, // Bits per element
6091         4, // Bytes per element
6092         4, // Num components
6093         false, // isSRGB
6094         false, // isBC
6095         false, // isSubsampled
6096         false, // isLuminance
6097         { false, false, false, false }, // Is normalized?
6098         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6099         1, // bcWidth
6100         1, // bcHeight
6101     },
6102 
6103     // B10G10R10A2_SNORM (0x1B7)
6104     {
6105         "B10G10R10A2_SNORM",
6106         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
6107         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6108         { 2, 1, 0, 3 }, // Swizzle
6109         { 10, 10, 10, 2 }, // Bits per component
6110         32, // Bits per element
6111         4, // Bytes per element
6112         4, // Num components
6113         false, // isSRGB
6114         false, // isBC
6115         false, // isSubsampled
6116         false, // isLuminance
6117         { true, true, true, true }, // Is normalized?
6118         { 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 1.0f }, // To float scale factor
6119         1, // bcWidth
6120         1, // bcHeight
6121     },
6122 
6123     // B10G10R10A2_USCALED (0x1B8)
6124     {
6125         "B10G10R10A2_USCALED",
6126         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
6127         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6128         { 2, 1, 0, 3 }, // Swizzle
6129         { 10, 10, 10, 2 }, // Bits per component
6130         32, // Bits per element
6131         4, // Bytes per element
6132         4, // Num components
6133         false, // isSRGB
6134         false, // isBC
6135         false, // isSubsampled
6136         false, // isLuminance
6137         { false, false, false, false }, // Is normalized?
6138         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6139         1, // bcWidth
6140         1, // bcHeight
6141     },
6142 
6143     // B10G10R10A2_SSCALED (0x1B9)
6144     {
6145         "B10G10R10A2_SSCALED",
6146         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
6147         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6148         { 2, 1, 0, 3 }, // Swizzle
6149         { 10, 10, 10, 2 }, // Bits per component
6150         32, // Bits per element
6151         4, // Bytes per element
6152         4, // Num components
6153         false, // isSRGB
6154         false, // isBC
6155         false, // isSubsampled
6156         false, // isLuminance
6157         { false, false, false, false }, // Is normalized?
6158         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6159         1, // bcWidth
6160         1, // bcHeight
6161     },
6162 
6163     // B10G10R10A2_UINT (0x1BA)
6164     {
6165         "B10G10R10A2_UINT",
6166         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
6167         { 0, 0, 0, 0x1 }, // Defaults for missing components
6168         { 2, 1, 0, 3 }, // Swizzle
6169         { 10, 10, 10, 2 }, // Bits per component
6170         32, // Bits per element
6171         4, // Bytes per element
6172         4, // Num components
6173         false, // isSRGB
6174         false, // isBC
6175         false, // isSubsampled
6176         false, // isLuminance
6177         { false, false, false, false }, // Is normalized?
6178         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6179         1, // bcWidth
6180         1, // bcHeight
6181     },
6182 
6183     // B10G10R10A2_SINT (0x1BB)
6184     {
6185         "B10G10R10A2_SINT",
6186         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
6187         { 0, 0, 0, 0x1 }, // Defaults for missing components
6188         { 2, 1, 0, 3 }, // Swizzle
6189         { 10, 10, 10, 2 }, // Bits per component
6190         32, // Bits per element
6191         4, // Bytes per element
6192         4, // Num components
6193         false, // isSRGB
6194         false, // isBC
6195         false, // isSubsampled
6196         false, // isLuminance
6197         { false, false, false, false }, // Is normalized?
6198         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6199         1, // bcWidth
6200         1, // bcHeight
6201     },
6202 
6203     // padding (0x1BC)
6204     {
6205         nullptr,
6206         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6207         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6208         0, 0, 0, false, false, false, false,
6209         { false, false, false, false },
6210         { 0.0f, 0.0f, 0.0f, 0.0f },
6211         1, 1
6212     },
6213     // padding (0x1BD)
6214     {
6215         nullptr,
6216         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6217         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6218         0, 0, 0, false, false, false, false,
6219         { false, false, false, false },
6220         { 0.0f, 0.0f, 0.0f, 0.0f },
6221         1, 1
6222     },
6223     // padding (0x1BE)
6224     {
6225         nullptr,
6226         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6227         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6228         0, 0, 0, false, false, false, false,
6229         { false, false, false, false },
6230         { 0.0f, 0.0f, 0.0f, 0.0f },
6231         1, 1
6232     },
6233     // padding (0x1BF)
6234     {
6235         nullptr,
6236         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6237         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6238         0, 0, 0, false, false, false, false,
6239         { false, false, false, false },
6240         { 0.0f, 0.0f, 0.0f, 0.0f },
6241         1, 1
6242     },
6243     // padding (0x1C0)
6244     {
6245         nullptr,
6246         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6247         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6248         0, 0, 0, false, false, false, false,
6249         { false, false, false, false },
6250         { 0.0f, 0.0f, 0.0f, 0.0f },
6251         1, 1
6252     },
6253     // padding (0x1C1)
6254     {
6255         nullptr,
6256         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6257         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6258         0, 0, 0, false, false, false, false,
6259         { false, false, false, false },
6260         { 0.0f, 0.0f, 0.0f, 0.0f },
6261         1, 1
6262     },
6263     // padding (0x1C2)
6264     {
6265         nullptr,
6266         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6267         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6268         0, 0, 0, false, false, false, false,
6269         { false, false, false, false },
6270         { 0.0f, 0.0f, 0.0f, 0.0f },
6271         1, 1
6272     },
6273     // padding (0x1C3)
6274     {
6275         nullptr,
6276         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6277         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6278         0, 0, 0, false, false, false, false,
6279         { false, false, false, false },
6280         { 0.0f, 0.0f, 0.0f, 0.0f },
6281         1, 1
6282     },
6283     // padding (0x1C4)
6284     {
6285         nullptr,
6286         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6287         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6288         0, 0, 0, false, false, false, false,
6289         { false, false, false, false },
6290         { 0.0f, 0.0f, 0.0f, 0.0f },
6291         1, 1
6292     },
6293     // padding (0x1C5)
6294     {
6295         nullptr,
6296         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6297         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6298         0, 0, 0, false, false, false, false,
6299         { false, false, false, false },
6300         { 0.0f, 0.0f, 0.0f, 0.0f },
6301         1, 1
6302     },
6303     // padding (0x1C6)
6304     {
6305         nullptr,
6306         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6307         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6308         0, 0, 0, false, false, false, false,
6309         { false, false, false, false },
6310         { 0.0f, 0.0f, 0.0f, 0.0f },
6311         1, 1
6312     },
6313     // padding (0x1C7)
6314     {
6315         nullptr,
6316         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6317         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6318         0, 0, 0, false, false, false, false,
6319         { false, false, false, false },
6320         { 0.0f, 0.0f, 0.0f, 0.0f },
6321         1, 1
6322     },
6323     // R8G8B8_UINT (0x1C8)
6324     {
6325         "R8G8B8_UINT",
6326         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
6327         { 0, 0, 0, 0x1 }, // Defaults for missing components
6328         { 0, 1, 2, 0 }, // Swizzle
6329         { 8, 8, 8, 0 }, // Bits per component
6330         24, // Bits per element
6331         3, // Bytes per element
6332         3, // Num components
6333         false, // isSRGB
6334         false, // isBC
6335         false, // isSubsampled
6336         false, // isLuminance
6337         { false, false, false, false }, // Is normalized?
6338         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
6339         1, // bcWidth
6340         1, // bcHeight
6341     },
6342 
6343     // R8G8B8_SINT (0x1C9)
6344     {
6345         "R8G8B8_SINT",
6346         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
6347         { 0, 0, 0, 0x1 }, // Defaults for missing components
6348         { 0, 1, 2, 0 }, // Swizzle
6349         { 8, 8, 8, 0 }, // Bits per component
6350         24, // Bits per element
6351         3, // Bytes per element
6352         3, // Num components
6353         false, // isSRGB
6354         false, // isBC
6355         false, // isSubsampled
6356         false, // isLuminance
6357         { false, false, false, false }, // Is normalized?
6358         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
6359         1, // bcWidth
6360         1, // bcHeight
6361     },
6362 
6363     // padding (0x1CA)
6364     {
6365         nullptr,
6366         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6367         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6368         0, 0, 0, false, false, false, false,
6369         { false, false, false, false },
6370         { 0.0f, 0.0f, 0.0f, 0.0f },
6371         1, 1
6372     },
6373     // padding (0x1CB)
6374     {
6375         nullptr,
6376         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6377         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6378         0, 0, 0, false, false, false, false,
6379         { false, false, false, false },
6380         { 0.0f, 0.0f, 0.0f, 0.0f },
6381         1, 1
6382     },
6383     // padding (0x1CC)
6384     {
6385         nullptr,
6386         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6387         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6388         0, 0, 0, false, false, false, false,
6389         { false, false, false, false },
6390         { 0.0f, 0.0f, 0.0f, 0.0f },
6391         1, 1
6392     },
6393     // padding (0x1CD)
6394     {
6395         nullptr,
6396         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6397         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6398         0, 0, 0, false, false, false, false,
6399         { false, false, false, false },
6400         { 0.0f, 0.0f, 0.0f, 0.0f },
6401         1, 1
6402     },
6403     // padding (0x1CE)
6404     {
6405         nullptr,
6406         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6407         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6408         0, 0, 0, false, false, false, false,
6409         { false, false, false, false },
6410         { 0.0f, 0.0f, 0.0f, 0.0f },
6411         1, 1
6412     },
6413     // padding (0x1CF)
6414     {
6415         nullptr,
6416         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6417         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6418         0, 0, 0, false, false, false, false,
6419         { false, false, false, false },
6420         { 0.0f, 0.0f, 0.0f, 0.0f },
6421         1, 1
6422     },
6423     // padding (0x1D0)
6424     {
6425         nullptr,
6426         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6427         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6428         0, 0, 0, false, false, false, false,
6429         { false, false, false, false },
6430         { 0.0f, 0.0f, 0.0f, 0.0f },
6431         1, 1
6432     },
6433     // padding (0x1D1)
6434     {
6435         nullptr,
6436         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6437         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6438         0, 0, 0, false, false, false, false,
6439         { false, false, false, false },
6440         { 0.0f, 0.0f, 0.0f, 0.0f },
6441         1, 1
6442     },
6443     // padding (0x1D2)
6444     {
6445         nullptr,
6446         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6447         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6448         0, 0, 0, false, false, false, false,
6449         { false, false, false, false },
6450         { 0.0f, 0.0f, 0.0f, 0.0f },
6451         1, 1
6452     },
6453     // padding (0x1D3)
6454     {
6455         nullptr,
6456         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6457         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6458         0, 0, 0, false, false, false, false,
6459         { false, false, false, false },
6460         { 0.0f, 0.0f, 0.0f, 0.0f },
6461         1, 1
6462     },
6463     // padding (0x1D4)
6464     {
6465         nullptr,
6466         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6467         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6468         0, 0, 0, false, false, false, false,
6469         { false, false, false, false },
6470         { 0.0f, 0.0f, 0.0f, 0.0f },
6471         1, 1
6472     },
6473     // padding (0x1D5)
6474     {
6475         nullptr,
6476         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6477         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6478         0, 0, 0, false, false, false, false,
6479         { false, false, false, false },
6480         { 0.0f, 0.0f, 0.0f, 0.0f },
6481         1, 1
6482     },
6483     // padding (0x1D6)
6484     {
6485         nullptr,
6486         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6487         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6488         0, 0, 0, false, false, false, false,
6489         { false, false, false, false },
6490         { 0.0f, 0.0f, 0.0f, 0.0f },
6491         1, 1
6492     },
6493     // padding (0x1D7)
6494     {
6495         nullptr,
6496         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6497         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6498         0, 0, 0, false, false, false, false,
6499         { false, false, false, false },
6500         { 0.0f, 0.0f, 0.0f, 0.0f },
6501         1, 1
6502     },
6503     // padding (0x1D8)
6504     {
6505         nullptr,
6506         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6507         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6508         0, 0, 0, false, false, false, false,
6509         { false, false, false, false },
6510         { 0.0f, 0.0f, 0.0f, 0.0f },
6511         1, 1
6512     },
6513     // padding (0x1D9)
6514     {
6515         nullptr,
6516         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6517         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6518         0, 0, 0, false, false, false, false,
6519         { false, false, false, false },
6520         { 0.0f, 0.0f, 0.0f, 0.0f },
6521         1, 1
6522     },
6523     // padding (0x1DA)
6524     {
6525         nullptr,
6526         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6527         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6528         0, 0, 0, false, false, false, false,
6529         { false, false, false, false },
6530         { 0.0f, 0.0f, 0.0f, 0.0f },
6531         1, 1
6532     },
6533     // padding (0x1DB)
6534     {
6535         nullptr,
6536         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6537         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6538         0, 0, 0, false, false, false, false,
6539         { false, false, false, false },
6540         { 0.0f, 0.0f, 0.0f, 0.0f },
6541         1, 1
6542     },
6543     // padding (0x1DC)
6544     {
6545         nullptr,
6546         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6547         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6548         0, 0, 0, false, false, false, false,
6549         { false, false, false, false },
6550         { 0.0f, 0.0f, 0.0f, 0.0f },
6551         1, 1
6552     },
6553     // padding (0x1DD)
6554     {
6555         nullptr,
6556         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6557         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6558         0, 0, 0, false, false, false, false,
6559         { false, false, false, false },
6560         { 0.0f, 0.0f, 0.0f, 0.0f },
6561         1, 1
6562     },
6563     // padding (0x1DE)
6564     {
6565         nullptr,
6566         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6567         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6568         0, 0, 0, false, false, false, false,
6569         { false, false, false, false },
6570         { 0.0f, 0.0f, 0.0f, 0.0f },
6571         1, 1
6572     },
6573     // padding (0x1DF)
6574     {
6575         nullptr,
6576         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6577         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6578         0, 0, 0, false, false, false, false,
6579         { false, false, false, false },
6580         { 0.0f, 0.0f, 0.0f, 0.0f },
6581         1, 1
6582     },
6583     // padding (0x1E0)
6584     {
6585         nullptr,
6586         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6587         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6588         0, 0, 0, false, false, false, false,
6589         { false, false, false, false },
6590         { 0.0f, 0.0f, 0.0f, 0.0f },
6591         1, 1
6592     },
6593     // padding (0x1E1)
6594     {
6595         nullptr,
6596         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6597         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6598         0, 0, 0, false, false, false, false,
6599         { false, false, false, false },
6600         { 0.0f, 0.0f, 0.0f, 0.0f },
6601         1, 1
6602     },
6603     // padding (0x1E2)
6604     {
6605         nullptr,
6606         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6607         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6608         0, 0, 0, false, false, false, false,
6609         { false, false, false, false },
6610         { 0.0f, 0.0f, 0.0f, 0.0f },
6611         1, 1
6612     },
6613     // padding (0x1E3)
6614     {
6615         nullptr,
6616         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6617         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6618         0, 0, 0, false, false, false, false,
6619         { false, false, false, false },
6620         { 0.0f, 0.0f, 0.0f, 0.0f },
6621         1, 1
6622     },
6623     // padding (0x1E4)
6624     {
6625         nullptr,
6626         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6627         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6628         0, 0, 0, false, false, false, false,
6629         { false, false, false, false },
6630         { 0.0f, 0.0f, 0.0f, 0.0f },
6631         1, 1
6632     },
6633     // padding (0x1E5)
6634     {
6635         nullptr,
6636         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6637         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6638         0, 0, 0, false, false, false, false,
6639         { false, false, false, false },
6640         { 0.0f, 0.0f, 0.0f, 0.0f },
6641         1, 1
6642     },
6643     // padding (0x1E6)
6644     {
6645         nullptr,
6646         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6647         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6648         0, 0, 0, false, false, false, false,
6649         { false, false, false, false },
6650         { 0.0f, 0.0f, 0.0f, 0.0f },
6651         1, 1
6652     },
6653     // padding (0x1E7)
6654     {
6655         nullptr,
6656         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6657         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6658         0, 0, 0, false, false, false, false,
6659         { false, false, false, false },
6660         { 0.0f, 0.0f, 0.0f, 0.0f },
6661         1, 1
6662     },
6663     // padding (0x1E8)
6664     {
6665         nullptr,
6666         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6667         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6668         0, 0, 0, false, false, false, false,
6669         { false, false, false, false },
6670         { 0.0f, 0.0f, 0.0f, 0.0f },
6671         1, 1
6672     },
6673     // padding (0x1E9)
6674     {
6675         nullptr,
6676         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6677         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6678         0, 0, 0, false, false, false, false,
6679         { false, false, false, false },
6680         { 0.0f, 0.0f, 0.0f, 0.0f },
6681         1, 1
6682     },
6683     // padding (0x1EA)
6684     {
6685         nullptr,
6686         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6687         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6688         0, 0, 0, false, false, false, false,
6689         { false, false, false, false },
6690         { 0.0f, 0.0f, 0.0f, 0.0f },
6691         1, 1
6692     },
6693     // padding (0x1EB)
6694     {
6695         nullptr,
6696         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6697         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6698         0, 0, 0, false, false, false, false,
6699         { false, false, false, false },
6700         { 0.0f, 0.0f, 0.0f, 0.0f },
6701         1, 1
6702     },
6703     // padding (0x1EC)
6704     {
6705         nullptr,
6706         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6707         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6708         0, 0, 0, false, false, false, false,
6709         { false, false, false, false },
6710         { 0.0f, 0.0f, 0.0f, 0.0f },
6711         1, 1
6712     },
6713     // padding (0x1ED)
6714     {
6715         nullptr,
6716         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6717         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6718         0, 0, 0, false, false, false, false,
6719         { false, false, false, false },
6720         { 0.0f, 0.0f, 0.0f, 0.0f },
6721         1, 1
6722     },
6723     // padding (0x1EE)
6724     {
6725         nullptr,
6726         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6727         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6728         0, 0, 0, false, false, false, false,
6729         { false, false, false, false },
6730         { 0.0f, 0.0f, 0.0f, 0.0f },
6731         1, 1
6732     },
6733     // padding (0x1EF)
6734     {
6735         nullptr,
6736         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6737         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6738         0, 0, 0, false, false, false, false,
6739         { false, false, false, false },
6740         { 0.0f, 0.0f, 0.0f, 0.0f },
6741         1, 1
6742     },
6743     // padding (0x1F0)
6744     {
6745         nullptr,
6746         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6747         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6748         0, 0, 0, false, false, false, false,
6749         { false, false, false, false },
6750         { 0.0f, 0.0f, 0.0f, 0.0f },
6751         1, 1
6752     },
6753     // padding (0x1F1)
6754     {
6755         nullptr,
6756         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6757         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6758         0, 0, 0, false, false, false, false,
6759         { false, false, false, false },
6760         { 0.0f, 0.0f, 0.0f, 0.0f },
6761         1, 1
6762     },
6763     // padding (0x1F2)
6764     {
6765         nullptr,
6766         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6767         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6768         0, 0, 0, false, false, false, false,
6769         { false, false, false, false },
6770         { 0.0f, 0.0f, 0.0f, 0.0f },
6771         1, 1
6772     },
6773     // padding (0x1F3)
6774     {
6775         nullptr,
6776         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6777         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6778         0, 0, 0, false, false, false, false,
6779         { false, false, false, false },
6780         { 0.0f, 0.0f, 0.0f, 0.0f },
6781         1, 1
6782     },
6783     // padding (0x1F4)
6784     {
6785         nullptr,
6786         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6787         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6788         0, 0, 0, false, false, false, false,
6789         { false, false, false, false },
6790         { 0.0f, 0.0f, 0.0f, 0.0f },
6791         1, 1
6792     },
6793     // padding (0x1F5)
6794     {
6795         nullptr,
6796         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6797         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6798         0, 0, 0, false, false, false, false,
6799         { false, false, false, false },
6800         { 0.0f, 0.0f, 0.0f, 0.0f },
6801         1, 1
6802     },
6803     // padding (0x1F6)
6804     {
6805         nullptr,
6806         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6807         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6808         0, 0, 0, false, false, false, false,
6809         { false, false, false, false },
6810         { 0.0f, 0.0f, 0.0f, 0.0f },
6811         1, 1
6812     },
6813     // padding (0x1F7)
6814     {
6815         nullptr,
6816         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6817         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6818         0, 0, 0, false, false, false, false,
6819         { false, false, false, false },
6820         { 0.0f, 0.0f, 0.0f, 0.0f },
6821         1, 1
6822     },
6823     // padding (0x1F8)
6824     {
6825         nullptr,
6826         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6827         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6828         0, 0, 0, false, false, false, false,
6829         { false, false, false, false },
6830         { 0.0f, 0.0f, 0.0f, 0.0f },
6831         1, 1
6832     },
6833     // padding (0x1F9)
6834     {
6835         nullptr,
6836         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6837         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6838         0, 0, 0, false, false, false, false,
6839         { false, false, false, false },
6840         { 0.0f, 0.0f, 0.0f, 0.0f },
6841         1, 1
6842     },
6843     // padding (0x1FA)
6844     {
6845         nullptr,
6846         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6847         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6848         0, 0, 0, false, false, false, false,
6849         { false, false, false, false },
6850         { 0.0f, 0.0f, 0.0f, 0.0f },
6851         1, 1
6852     },
6853     // padding (0x1FB)
6854     {
6855         nullptr,
6856         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6857         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6858         0, 0, 0, false, false, false, false,
6859         { false, false, false, false },
6860         { 0.0f, 0.0f, 0.0f, 0.0f },
6861         1, 1
6862     },
6863     // padding (0x1FC)
6864     {
6865         nullptr,
6866         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6867         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6868         0, 0, 0, false, false, false, false,
6869         { false, false, false, false },
6870         { 0.0f, 0.0f, 0.0f, 0.0f },
6871         1, 1
6872     },
6873     // padding (0x1FD)
6874     {
6875         nullptr,
6876         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6877         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6878         0, 0, 0, false, false, false, false,
6879         { false, false, false, false },
6880         { 0.0f, 0.0f, 0.0f, 0.0f },
6881         1, 1
6882     },
6883     // padding (0x1FE)
6884     {
6885         nullptr,
6886         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6887         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6888         0, 0, 0, false, false, false, false,
6889         { false, false, false, false },
6890         { 0.0f, 0.0f, 0.0f, 0.0f },
6891         1, 1
6892     },
6893     // RAW (0x1FF)
6894     {
6895         "RAW",
6896         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6897         { 0, 0, 0, 0x1 }, // Defaults for missing components
6898         { 0, 1, 2, 3 }, // Swizzle
6899         { 8, 0, 0, 0 }, // Bits per component
6900         8, // Bits per element
6901         1, // Bytes per element
6902         1, // Num components
6903         false, // isSRGB
6904         false, // isBC
6905         false, // isSubsampled
6906         false, // isLuminance
6907         { false, false, false, false }, // Is normalized?
6908         { 1.0f, 0, 0, 0 }, // To float scale factor
6909         1, // bcWidth
6910         1, // bcHeight
6911     },
6912 };
6913 
6914