• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2 * Copyright (C) 2016 Intel Corporation.   All Rights Reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21 * IN THE SOFTWARE.
22 *
23 * @file gen_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     // R10G10B10_FLOAT_A2_UNORM (0xD5)
2733     {
2734         "R10G10B10_FLOAT_A2_UNORM",
2735         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT },
2736         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2737         { 0, 1, 2, 3 }, // Swizzle
2738         { 10, 10, 10, 2 }, // Bits per component
2739         32, // Bits per element
2740         4, // Bytes per element
2741         4, // Num components
2742         false, // isSRGB
2743         false, // isBC
2744         false, // isSubsampled
2745         false, // isLuminance
2746         { false, false, false, false }, // Is normalized?
2747         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
2748         1, // bcWidth
2749         1, // bcHeight
2750     },
2751 
2752     // R32_SINT (0xD6)
2753     {
2754         "R32_SINT",
2755         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2756         { 0, 0, 0, 0x1 }, // Defaults for missing components
2757         { 0, 0, 0, 0 }, // Swizzle
2758         { 32, 0, 0, 0 }, // Bits per component
2759         32, // Bits per element
2760         4, // Bytes per element
2761         1, // Num components
2762         false, // isSRGB
2763         false, // isBC
2764         false, // isSubsampled
2765         false, // isLuminance
2766         { false, false, false, false }, // Is normalized?
2767         { 1.0f, 0, 0, 0 }, // To float scale factor
2768         1, // bcWidth
2769         1, // bcHeight
2770     },
2771 
2772     // R32_UINT (0xD7)
2773     {
2774         "R32_UINT",
2775         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2776         { 0, 0, 0, 0x1 }, // Defaults for missing components
2777         { 0, 0, 0, 0 }, // Swizzle
2778         { 32, 0, 0, 0 }, // Bits per component
2779         32, // Bits per element
2780         4, // Bytes per element
2781         1, // Num components
2782         false, // isSRGB
2783         false, // isBC
2784         false, // isSubsampled
2785         false, // isLuminance
2786         { false, false, false, false }, // Is normalized?
2787         { 1.0f, 0, 0, 0 }, // To float scale factor
2788         1, // bcWidth
2789         1, // bcHeight
2790     },
2791 
2792     // R32_FLOAT (0xD8)
2793     {
2794         "R32_FLOAT",
2795         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2796         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2797         { 0, 0, 0, 0 }, // Swizzle
2798         { 32, 0, 0, 0 }, // Bits per component
2799         32, // Bits per element
2800         4, // Bytes per element
2801         1, // Num components
2802         false, // isSRGB
2803         false, // isBC
2804         false, // isSubsampled
2805         false, // isLuminance
2806         { false, false, false, false }, // Is normalized?
2807         { 1.0f, 0, 0, 0 }, // To float scale factor
2808         1, // bcWidth
2809         1, // bcHeight
2810     },
2811 
2812     // R24_UNORM_X8_TYPELESS (0xD9)
2813     {
2814         "R24_UNORM_X8_TYPELESS",
2815         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2816         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2817         { 0, 1, 2, 3 }, // Swizzle
2818         { 24, 0, 0, 0 }, // Bits per component
2819         32, // Bits per element
2820         4, // Bytes per element
2821         1, // Num components
2822         false, // isSRGB
2823         false, // isBC
2824         false, // isSubsampled
2825         false, // isLuminance
2826         { true, false, false, false }, // Is normalized?
2827         { 1.0f / 16777215.0f, 0, 0, 0 }, // To float scale factor
2828         1, // bcWidth
2829         1, // bcHeight
2830     },
2831 
2832     // X24_TYPELESS_G8_UINT (0xDA)
2833     {
2834         "X24_TYPELESS_G8_UINT",
2835         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2836         { 0, 0, 0, 0x1 }, // Defaults for missing components
2837         { 1, 0, 0, 0 }, // Swizzle
2838         { 32, 0, 0, 0 }, // Bits per component
2839         32, // Bits per element
2840         4, // Bytes per element
2841         1, // Num components
2842         false, // isSRGB
2843         false, // isBC
2844         false, // isSubsampled
2845         false, // isLuminance
2846         { false, false, false, false }, // Is normalized?
2847         { 1.0f, 0, 0, 0 }, // To float scale factor
2848         1, // bcWidth
2849         1, // bcHeight
2850     },
2851 
2852     // padding (0xDB)
2853     {
2854         nullptr,
2855         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2856         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2857         0, 0, 0, false, false, false, false,
2858         { false, false, false, false },
2859         { 0.0f, 0.0f, 0.0f, 0.0f },
2860         1, 1
2861     },
2862     // padding (0xDC)
2863     {
2864         nullptr,
2865         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2866         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2867         0, 0, 0, false, false, false, false,
2868         { false, false, false, false },
2869         { 0.0f, 0.0f, 0.0f, 0.0f },
2870         1, 1
2871     },
2872     // L32_UNORM (0xDD)
2873     {
2874         "L32_UNORM",
2875         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2876         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2877         { 0, 0, 0, 0 }, // Swizzle
2878         { 32, 0, 0, 0 }, // Bits per component
2879         32, // Bits per element
2880         4, // Bytes per element
2881         1, // Num components
2882         false, // isSRGB
2883         false, // isBC
2884         false, // isSubsampled
2885         true, // isLuminance
2886         { true, false, false, false }, // Is normalized?
2887         { 1.0f / 4294967295.0f, 0, 0, 0 }, // To float scale factor
2888         1, // bcWidth
2889         1, // bcHeight
2890     },
2891 
2892     // padding (0xDE)
2893     {
2894         nullptr,
2895         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2896         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2897         0, 0, 0, false, false, false, false,
2898         { false, false, false, false },
2899         { 0.0f, 0.0f, 0.0f, 0.0f },
2900         1, 1
2901     },
2902     // L16A16_UNORM (0xDF)
2903     {
2904         "L16A16_UNORM",
2905         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2906         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2907         { 0, 3, 0, 0 }, // Swizzle
2908         { 16, 16, 0, 0 }, // Bits per component
2909         32, // Bits per element
2910         4, // Bytes per element
2911         2, // Num components
2912         false, // isSRGB
2913         false, // isBC
2914         false, // isSubsampled
2915         true, // isLuminance
2916         { true, true, false, false }, // Is normalized?
2917         { 1.0f / 65535.0f, 1.0f / 65535.0f, 0, 0 }, // To float scale factor
2918         1, // bcWidth
2919         1, // bcHeight
2920     },
2921 
2922     // I24X8_UNORM (0xE0)
2923     {
2924         "I24X8_UNORM",
2925         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2926         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2927         { 0, 3, 0, 0 }, // Swizzle
2928         { 24, 8, 0, 0 }, // Bits per component
2929         32, // Bits per element
2930         4, // Bytes per element
2931         2, // Num components
2932         false, // isSRGB
2933         false, // isBC
2934         false, // isSubsampled
2935         true, // isLuminance
2936         { true, true, false, false }, // Is normalized?
2937         { 1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
2938         1, // bcWidth
2939         1, // bcHeight
2940     },
2941 
2942     // L24X8_UNORM (0xE1)
2943     {
2944         "L24X8_UNORM",
2945         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2946         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2947         { 0, 3, 0, 0 }, // Swizzle
2948         { 24, 8, 0, 0 }, // Bits per component
2949         32, // Bits per element
2950         4, // Bytes per element
2951         2, // Num components
2952         false, // isSRGB
2953         false, // isBC
2954         false, // isSubsampled
2955         true, // isLuminance
2956         { true, true, false, false }, // Is normalized?
2957         { 1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
2958         1, // bcWidth
2959         1, // bcHeight
2960     },
2961 
2962     // padding (0xE2)
2963     {
2964         nullptr,
2965         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2966         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2967         0, 0, 0, false, false, false, false,
2968         { false, false, false, false },
2969         { 0.0f, 0.0f, 0.0f, 0.0f },
2970         1, 1
2971     },
2972     // I32_FLOAT (0xE3)
2973     {
2974         "I32_FLOAT",
2975         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2976         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2977         { 0, 0, 0, 0 }, // Swizzle
2978         { 32, 0, 0, 0 }, // Bits per component
2979         32, // Bits per element
2980         4, // Bytes per element
2981         1, // Num components
2982         false, // isSRGB
2983         false, // isBC
2984         false, // isSubsampled
2985         true, // isLuminance
2986         { false, false, false, false }, // Is normalized?
2987         { 1.0f, 0, 0, 0 }, // To float scale factor
2988         1, // bcWidth
2989         1, // bcHeight
2990     },
2991 
2992     // L32_FLOAT (0xE4)
2993     {
2994         "L32_FLOAT",
2995         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2996         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2997         { 0, 0, 0, 0 }, // Swizzle
2998         { 32, 0, 0, 0 }, // Bits per component
2999         32, // Bits per element
3000         4, // Bytes per element
3001         1, // Num components
3002         false, // isSRGB
3003         false, // isBC
3004         false, // isSubsampled
3005         true, // isLuminance
3006         { false, false, false, false }, // Is normalized?
3007         { 1.0f, 0, 0, 0 }, // To float scale factor
3008         1, // bcWidth
3009         1, // bcHeight
3010     },
3011 
3012     // A32_FLOAT (0xE5)
3013     {
3014         "A32_FLOAT",
3015         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3016         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3017         { 3, 0, 0, 0 }, // Swizzle
3018         { 32, 0, 0, 0 }, // Bits per component
3019         32, // Bits per element
3020         4, // Bytes per element
3021         1, // Num components
3022         false, // isSRGB
3023         false, // isBC
3024         false, // isSubsampled
3025         false, // isLuminance
3026         { false, false, false, false }, // Is normalized?
3027         { 1.0f, 0, 0, 0 }, // To float scale factor
3028         1, // bcWidth
3029         1, // bcHeight
3030     },
3031 
3032     // padding (0xE6)
3033     {
3034         nullptr,
3035         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3036         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3037         0, 0, 0, false, false, false, false,
3038         { false, false, false, false },
3039         { 0.0f, 0.0f, 0.0f, 0.0f },
3040         1, 1
3041     },
3042     // padding (0xE7)
3043     {
3044         nullptr,
3045         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3046         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3047         0, 0, 0, false, false, false, false,
3048         { false, false, false, false },
3049         { 0.0f, 0.0f, 0.0f, 0.0f },
3050         1, 1
3051     },
3052     // padding (0xE8)
3053     {
3054         nullptr,
3055         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3056         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3057         0, 0, 0, false, false, false, false,
3058         { false, false, false, false },
3059         { 0.0f, 0.0f, 0.0f, 0.0f },
3060         1, 1
3061     },
3062     // B8G8R8X8_UNORM (0xE9)
3063     {
3064         "B8G8R8X8_UNORM",
3065         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3066         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3067         { 2, 1, 0, 3 }, // Swizzle
3068         { 8, 8, 8, 8 }, // Bits per component
3069         32, // Bits per element
3070         4, // Bytes per element
3071         4, // Num components
3072         false, // isSRGB
3073         false, // isBC
3074         false, // isSubsampled
3075         false, // isLuminance
3076         { true, true, true, false }, // Is normalized?
3077         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3078         1, // bcWidth
3079         1, // bcHeight
3080     },
3081 
3082     // B8G8R8X8_UNORM_SRGB (0xEA)
3083     {
3084         "B8G8R8X8_UNORM_SRGB",
3085         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3086         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3087         { 2, 1, 0, 3 }, // Swizzle
3088         { 8, 8, 8, 8 }, // Bits per component
3089         32, // Bits per element
3090         4, // Bytes per element
3091         4, // Num components
3092         true, // isSRGB
3093         false, // isBC
3094         false, // isSubsampled
3095         false, // isLuminance
3096         { true, true, true, false }, // Is normalized?
3097         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3098         1, // bcWidth
3099         1, // bcHeight
3100     },
3101 
3102     // R8G8B8X8_UNORM (0xEB)
3103     {
3104         "R8G8B8X8_UNORM",
3105         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3106         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3107         { 0, 1, 2, 3 }, // Swizzle
3108         { 8, 8, 8, 8 }, // Bits per component
3109         32, // Bits per element
3110         4, // Bytes per element
3111         4, // Num components
3112         false, // isSRGB
3113         false, // isBC
3114         false, // isSubsampled
3115         false, // isLuminance
3116         { true, true, true, false }, // Is normalized?
3117         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3118         1, // bcWidth
3119         1, // bcHeight
3120     },
3121 
3122     // R8G8B8X8_UNORM_SRGB (0xEC)
3123     {
3124         "R8G8B8X8_UNORM_SRGB",
3125         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3126         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3127         { 0, 1, 2, 3 }, // Swizzle
3128         { 8, 8, 8, 8 }, // Bits per component
3129         32, // Bits per element
3130         4, // Bytes per element
3131         4, // Num components
3132         true, // isSRGB
3133         false, // isBC
3134         false, // isSubsampled
3135         false, // isLuminance
3136         { true, true, true, false }, // Is normalized?
3137         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3138         1, // bcWidth
3139         1, // bcHeight
3140     },
3141 
3142     // R9G9B9E5_SHAREDEXP (0xED)
3143     {
3144         "R9G9B9E5_SHAREDEXP",
3145         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
3146         { 0, 0, 0, 0x1 }, // Defaults for missing components
3147         { 0, 1, 2, 3 }, // Swizzle
3148         { 9, 9, 9, 5 }, // Bits per component
3149         32, // Bits per element
3150         4, // Bytes per element
3151         4, // Num components
3152         false, // isSRGB
3153         false, // isBC
3154         false, // isSubsampled
3155         false, // isLuminance
3156         { false, false, false, false }, // Is normalized?
3157         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3158         1, // bcWidth
3159         1, // bcHeight
3160     },
3161 
3162     // B10G10R10X2_UNORM (0xEE)
3163     {
3164         "B10G10R10X2_UNORM",
3165         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3166         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3167         { 2, 1, 0, 3 }, // Swizzle
3168         { 10, 10, 10, 2 }, // Bits per component
3169         32, // Bits per element
3170         4, // Bytes per element
3171         4, // Num components
3172         false, // isSRGB
3173         false, // isBC
3174         false, // isSubsampled
3175         false, // isLuminance
3176         { true, true, true, false }, // Is normalized?
3177         { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f }, // To float scale factor
3178         1, // bcWidth
3179         1, // bcHeight
3180     },
3181 
3182     // padding (0xEF)
3183     {
3184         nullptr,
3185         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3186         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3187         0, 0, 0, false, false, false, false,
3188         { false, false, false, false },
3189         { 0.0f, 0.0f, 0.0f, 0.0f },
3190         1, 1
3191     },
3192     // L16A16_FLOAT (0xF0)
3193     {
3194         "L16A16_FLOAT",
3195         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3196         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3197         { 0, 3, 0, 0 }, // Swizzle
3198         { 16, 16, 0, 0 }, // Bits per component
3199         32, // Bits per element
3200         4, // Bytes per element
3201         2, // Num components
3202         false, // isSRGB
3203         false, // isBC
3204         false, // isSubsampled
3205         true, // isLuminance
3206         { false, false, false, false }, // Is normalized?
3207         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3208         1, // bcWidth
3209         1, // bcHeight
3210     },
3211 
3212     // padding (0xF1)
3213     {
3214         nullptr,
3215         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3216         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3217         0, 0, 0, false, false, false, false,
3218         { false, false, false, false },
3219         { 0.0f, 0.0f, 0.0f, 0.0f },
3220         1, 1
3221     },
3222     // padding (0xF2)
3223     {
3224         nullptr,
3225         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3226         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3227         0, 0, 0, false, false, false, false,
3228         { false, false, false, false },
3229         { 0.0f, 0.0f, 0.0f, 0.0f },
3230         1, 1
3231     },
3232     // R10G10B10X2_USCALED (0xF3)
3233     {
3234         "R10G10B10X2_USCALED",
3235         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNUSED },
3236         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3237         { 0, 1, 2, 3 }, // Swizzle
3238         { 10, 10, 10, 2 }, // Bits per component
3239         32, // Bits per element
3240         4, // Bytes per element
3241         4, // Num components
3242         false, // isSRGB
3243         false, // isBC
3244         false, // isSubsampled
3245         false, // isLuminance
3246         { false, false, false, false }, // Is normalized?
3247         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3248         1, // bcWidth
3249         1, // bcHeight
3250     },
3251 
3252     // R8G8B8A8_SSCALED (0xF4)
3253     {
3254         "R8G8B8A8_SSCALED",
3255         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
3256         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3257         { 0, 1, 2, 3 }, // Swizzle
3258         { 8, 8, 8, 8 }, // Bits per component
3259         32, // Bits per element
3260         4, // Bytes per element
3261         4, // Num components
3262         false, // isSRGB
3263         false, // isBC
3264         false, // isSubsampled
3265         false, // isLuminance
3266         { false, false, false, false }, // Is normalized?
3267         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3268         1, // bcWidth
3269         1, // bcHeight
3270     },
3271 
3272     // R8G8B8A8_USCALED (0xF5)
3273     {
3274         "R8G8B8A8_USCALED",
3275         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
3276         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3277         { 0, 1, 2, 3 }, // Swizzle
3278         { 8, 8, 8, 8 }, // Bits per component
3279         32, // Bits per element
3280         4, // Bytes per element
3281         4, // Num components
3282         false, // isSRGB
3283         false, // isBC
3284         false, // isSubsampled
3285         false, // isLuminance
3286         { false, false, false, false }, // Is normalized?
3287         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3288         1, // bcWidth
3289         1, // bcHeight
3290     },
3291 
3292     // R16G16_SSCALED (0xF6)
3293     {
3294         "R16G16_SSCALED",
3295         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3296         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3297         { 0, 1, 0, 0 }, // Swizzle
3298         { 16, 16, 0, 0 }, // Bits per component
3299         32, // Bits per element
3300         4, // Bytes per element
3301         2, // Num components
3302         false, // isSRGB
3303         false, // isBC
3304         false, // isSubsampled
3305         false, // isLuminance
3306         { false, false, false, false }, // Is normalized?
3307         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3308         1, // bcWidth
3309         1, // bcHeight
3310     },
3311 
3312     // R16G16_USCALED (0xF7)
3313     {
3314         "R16G16_USCALED",
3315         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3316         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3317         { 0, 1, 0, 0 }, // Swizzle
3318         { 16, 16, 0, 0 }, // Bits per component
3319         32, // Bits per element
3320         4, // Bytes per element
3321         2, // Num components
3322         false, // isSRGB
3323         false, // isBC
3324         false, // isSubsampled
3325         false, // isLuminance
3326         { false, false, false, false }, // Is normalized?
3327         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3328         1, // bcWidth
3329         1, // bcHeight
3330     },
3331 
3332     // R32_SSCALED (0xF8)
3333     {
3334         "R32_SSCALED",
3335         { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3336         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3337         { 0, 0, 0, 0 }, // Swizzle
3338         { 32, 0, 0, 0 }, // Bits per component
3339         32, // Bits per element
3340         4, // Bytes per element
3341         1, // Num components
3342         false, // isSRGB
3343         false, // isBC
3344         false, // isSubsampled
3345         false, // isLuminance
3346         { false, false, false, false }, // Is normalized?
3347         { 1.0f, 0, 0, 0 }, // To float scale factor
3348         1, // bcWidth
3349         1, // bcHeight
3350     },
3351 
3352     // R32_USCALED (0xF9)
3353     {
3354         "R32_USCALED",
3355         { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3356         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3357         { 0, 0, 0, 0 }, // Swizzle
3358         { 32, 0, 0, 0 }, // Bits per component
3359         32, // Bits per element
3360         4, // Bytes per element
3361         1, // Num components
3362         false, // isSRGB
3363         false, // isBC
3364         false, // isSubsampled
3365         false, // isLuminance
3366         { false, false, false, false }, // Is normalized?
3367         { 1.0f, 0, 0, 0 }, // To float scale factor
3368         1, // bcWidth
3369         1, // bcHeight
3370     },
3371 
3372     // padding (0xFA)
3373     {
3374         nullptr,
3375         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3376         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3377         0, 0, 0, false, false, false, false,
3378         { false, false, false, false },
3379         { 0.0f, 0.0f, 0.0f, 0.0f },
3380         1, 1
3381     },
3382     // padding (0xFB)
3383     {
3384         nullptr,
3385         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3386         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3387         0, 0, 0, false, false, false, false,
3388         { false, false, false, false },
3389         { 0.0f, 0.0f, 0.0f, 0.0f },
3390         1, 1
3391     },
3392     // padding (0xFC)
3393     {
3394         nullptr,
3395         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3396         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3397         0, 0, 0, false, false, false, false,
3398         { false, false, false, false },
3399         { 0.0f, 0.0f, 0.0f, 0.0f },
3400         1, 1
3401     },
3402     // padding (0xFD)
3403     {
3404         nullptr,
3405         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3406         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3407         0, 0, 0, false, false, false, false,
3408         { false, false, false, false },
3409         { 0.0f, 0.0f, 0.0f, 0.0f },
3410         1, 1
3411     },
3412     // padding (0xFE)
3413     {
3414         nullptr,
3415         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3416         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3417         0, 0, 0, false, false, false, false,
3418         { false, false, false, false },
3419         { 0.0f, 0.0f, 0.0f, 0.0f },
3420         1, 1
3421     },
3422     // padding (0xFF)
3423     {
3424         nullptr,
3425         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3426         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3427         0, 0, 0, false, false, false, false,
3428         { false, false, false, false },
3429         { 0.0f, 0.0f, 0.0f, 0.0f },
3430         1, 1
3431     },
3432     // B5G6R5_UNORM (0x100)
3433     {
3434         "B5G6R5_UNORM",
3435         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
3436         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3437         { 2, 1, 0, 0 }, // Swizzle
3438         { 5, 6, 5, 0 }, // Bits per component
3439         16, // Bits per element
3440         2, // Bytes per element
3441         3, // Num components
3442         false, // isSRGB
3443         false, // isBC
3444         false, // isSubsampled
3445         false, // isLuminance
3446         { true, true, true, false }, // Is normalized?
3447         { 1.0f / 31.0f, 1.0f / 63.0f, 1.0f / 31.0f, 0 }, // To float scale factor
3448         1, // bcWidth
3449         1, // bcHeight
3450     },
3451 
3452     // B5G6R5_UNORM_SRGB (0x101)
3453     {
3454         "B5G6R5_UNORM_SRGB",
3455         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
3456         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3457         { 2, 1, 0, 0 }, // Swizzle
3458         { 5, 6, 5, 0 }, // Bits per component
3459         16, // Bits per element
3460         2, // Bytes per element
3461         3, // Num components
3462         true, // isSRGB
3463         false, // isBC
3464         false, // isSubsampled
3465         false, // isLuminance
3466         { true, true, true, false }, // Is normalized?
3467         { 1.0f / 31.0f, 1.0f / 63.0f, 1.0f / 31.0f, 0 }, // To float scale factor
3468         1, // bcWidth
3469         1, // bcHeight
3470     },
3471 
3472     // B5G5R5A1_UNORM (0x102)
3473     {
3474         "B5G5R5A1_UNORM",
3475         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3476         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3477         { 2, 1, 0, 3 }, // Swizzle
3478         { 5, 5, 5, 1 }, // Bits per component
3479         16, // Bits per element
3480         2, // Bytes per element
3481         4, // Num components
3482         false, // isSRGB
3483         false, // isBC
3484         false, // isSubsampled
3485         false, // isLuminance
3486         { true, true, true, true }, // Is normalized?
3487         { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 1.0f }, // To float scale factor
3488         1, // bcWidth
3489         1, // bcHeight
3490     },
3491 
3492     // B5G5R5A1_UNORM_SRGB (0x103)
3493     {
3494         "B5G5R5A1_UNORM_SRGB",
3495         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3496         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3497         { 2, 1, 0, 3 }, // Swizzle
3498         { 5, 5, 5, 1 }, // Bits per component
3499         16, // Bits per element
3500         2, // Bytes per element
3501         4, // Num components
3502         true, // isSRGB
3503         false, // isBC
3504         false, // isSubsampled
3505         false, // isLuminance
3506         { true, true, true, true }, // Is normalized?
3507         { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 1.0f }, // To float scale factor
3508         1, // bcWidth
3509         1, // bcHeight
3510     },
3511 
3512     // B4G4R4A4_UNORM (0x104)
3513     {
3514         "B4G4R4A4_UNORM",
3515         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3516         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3517         { 2, 1, 0, 3 }, // Swizzle
3518         { 4, 4, 4, 4 }, // Bits per component
3519         16, // Bits per element
3520         2, // Bytes per element
3521         4, // Num components
3522         false, // isSRGB
3523         false, // isBC
3524         false, // isSubsampled
3525         false, // isLuminance
3526         { true, true, true, true }, // Is normalized?
3527         { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
3528         1, // bcWidth
3529         1, // bcHeight
3530     },
3531 
3532     // B4G4R4A4_UNORM_SRGB (0x105)
3533     {
3534         "B4G4R4A4_UNORM_SRGB",
3535         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3536         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3537         { 2, 1, 0, 3 }, // Swizzle
3538         { 4, 4, 4, 4 }, // Bits per component
3539         16, // Bits per element
3540         2, // Bytes per element
3541         4, // Num components
3542         true, // isSRGB
3543         false, // isBC
3544         false, // isSubsampled
3545         false, // isLuminance
3546         { true, true, true, true }, // Is normalized?
3547         { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
3548         1, // bcWidth
3549         1, // bcHeight
3550     },
3551 
3552     // R8G8_UNORM (0x106)
3553     {
3554         "R8G8_UNORM",
3555         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3556         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3557         { 0, 1, 0, 0 }, // Swizzle
3558         { 8, 8, 0, 0 }, // Bits per component
3559         16, // Bits per element
3560         2, // Bytes per element
3561         2, // Num components
3562         false, // isSRGB
3563         false, // isBC
3564         false, // isSubsampled
3565         false, // isLuminance
3566         { true, true, false, false }, // Is normalized?
3567         { 1.0f / 255.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
3568         1, // bcWidth
3569         1, // bcHeight
3570     },
3571 
3572     // R8G8_SNORM (0x107)
3573     {
3574         "R8G8_SNORM",
3575         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3576         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3577         { 0, 1, 0, 0 }, // Swizzle
3578         { 8, 8, 0, 0 }, // Bits per component
3579         16, // Bits per element
3580         2, // Bytes per element
3581         2, // Num components
3582         false, // isSRGB
3583         false, // isBC
3584         false, // isSubsampled
3585         false, // isLuminance
3586         { true, true, false, false }, // Is normalized?
3587         { 1.0f / 127.0f, 1.0f / 127.0f, 0, 0 }, // To float scale factor
3588         1, // bcWidth
3589         1, // bcHeight
3590     },
3591 
3592     // R8G8_SINT (0x108)
3593     {
3594         "R8G8_SINT",
3595         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3596         { 0, 0, 0, 0x1 }, // Defaults for missing components
3597         { 0, 1, 0, 0 }, // Swizzle
3598         { 8, 8, 0, 0 }, // Bits per component
3599         16, // Bits per element
3600         2, // Bytes per element
3601         2, // Num components
3602         false, // isSRGB
3603         false, // isBC
3604         false, // isSubsampled
3605         false, // isLuminance
3606         { false, false, false, false }, // Is normalized?
3607         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3608         1, // bcWidth
3609         1, // bcHeight
3610     },
3611 
3612     // R8G8_UINT (0x109)
3613     {
3614         "R8G8_UINT",
3615         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3616         { 0, 0, 0, 0x1 }, // Defaults for missing components
3617         { 0, 1, 0, 0 }, // Swizzle
3618         { 8, 8, 0, 0 }, // Bits per component
3619         16, // Bits per element
3620         2, // Bytes per element
3621         2, // Num components
3622         false, // isSRGB
3623         false, // isBC
3624         false, // isSubsampled
3625         false, // isLuminance
3626         { false, false, false, false }, // Is normalized?
3627         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3628         1, // bcWidth
3629         1, // bcHeight
3630     },
3631 
3632     // R16_UNORM (0x10A)
3633     {
3634         "R16_UNORM",
3635         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3636         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3637         { 0, 0, 0, 0 }, // Swizzle
3638         { 16, 0, 0, 0 }, // Bits per component
3639         16, // Bits per element
3640         2, // Bytes per element
3641         1, // Num components
3642         false, // isSRGB
3643         false, // isBC
3644         false, // isSubsampled
3645         false, // isLuminance
3646         { true, false, false, false }, // Is normalized?
3647         { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3648         1, // bcWidth
3649         1, // bcHeight
3650     },
3651 
3652     // R16_SNORM (0x10B)
3653     {
3654         "R16_SNORM",
3655         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3656         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3657         { 0, 0, 0, 0 }, // Swizzle
3658         { 16, 0, 0, 0 }, // Bits per component
3659         16, // Bits per element
3660         2, // Bytes per element
3661         1, // Num components
3662         false, // isSRGB
3663         false, // isBC
3664         false, // isSubsampled
3665         false, // isLuminance
3666         { true, false, false, false }, // Is normalized?
3667         { 1.0f / 32767.0f, 0, 0, 0 }, // To float scale factor
3668         1, // bcWidth
3669         1, // bcHeight
3670     },
3671 
3672     // R16_SINT (0x10C)
3673     {
3674         "R16_SINT",
3675         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3676         { 0, 0, 0, 0x1 }, // Defaults for missing components
3677         { 0, 0, 0, 0 }, // Swizzle
3678         { 16, 0, 0, 0 }, // Bits per component
3679         16, // Bits per element
3680         2, // Bytes per element
3681         1, // Num components
3682         false, // isSRGB
3683         false, // isBC
3684         false, // isSubsampled
3685         false, // isLuminance
3686         { false, false, false, false }, // Is normalized?
3687         { 1.0f, 0, 0, 0 }, // To float scale factor
3688         1, // bcWidth
3689         1, // bcHeight
3690     },
3691 
3692     // R16_UINT (0x10D)
3693     {
3694         "R16_UINT",
3695         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3696         { 0, 0, 0, 0x1 }, // Defaults for missing components
3697         { 0, 0, 0, 0 }, // Swizzle
3698         { 16, 0, 0, 0 }, // Bits per component
3699         16, // Bits per element
3700         2, // Bytes per element
3701         1, // Num components
3702         false, // isSRGB
3703         false, // isBC
3704         false, // isSubsampled
3705         false, // isLuminance
3706         { false, false, false, false }, // Is normalized?
3707         { 1.0f, 0, 0, 0 }, // To float scale factor
3708         1, // bcWidth
3709         1, // bcHeight
3710     },
3711 
3712     // R16_FLOAT (0x10E)
3713     {
3714         "R16_FLOAT",
3715         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3716         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3717         { 0, 0, 0, 0 }, // Swizzle
3718         { 16, 0, 0, 0 }, // Bits per component
3719         16, // Bits per element
3720         2, // Bytes per element
3721         1, // Num components
3722         false, // isSRGB
3723         false, // isBC
3724         false, // isSubsampled
3725         false, // isLuminance
3726         { false, false, false, false }, // Is normalized?
3727         { 1.0f, 0, 0, 0 }, // To float scale factor
3728         1, // bcWidth
3729         1, // bcHeight
3730     },
3731 
3732     // padding (0x10F)
3733     {
3734         nullptr,
3735         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3736         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3737         0, 0, 0, false, false, false, false,
3738         { false, false, false, false },
3739         { 0.0f, 0.0f, 0.0f, 0.0f },
3740         1, 1
3741     },
3742     // padding (0x110)
3743     {
3744         nullptr,
3745         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3746         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3747         0, 0, 0, false, false, false, false,
3748         { false, false, false, false },
3749         { 0.0f, 0.0f, 0.0f, 0.0f },
3750         1, 1
3751     },
3752     // I16_UNORM (0x111)
3753     {
3754         "I16_UNORM",
3755         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3756         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3757         { 0, 0, 0, 0 }, // Swizzle
3758         { 16, 0, 0, 0 }, // Bits per component
3759         16, // Bits per element
3760         2, // Bytes per element
3761         1, // Num components
3762         false, // isSRGB
3763         false, // isBC
3764         false, // isSubsampled
3765         true, // isLuminance
3766         { true, false, false, false }, // Is normalized?
3767         { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3768         1, // bcWidth
3769         1, // bcHeight
3770     },
3771 
3772     // L16_UNORM (0x112)
3773     {
3774         "L16_UNORM",
3775         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3776         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3777         { 0, 0, 0, 0 }, // Swizzle
3778         { 16, 0, 0, 0 }, // Bits per component
3779         16, // Bits per element
3780         2, // Bytes per element
3781         1, // Num components
3782         false, // isSRGB
3783         false, // isBC
3784         false, // isSubsampled
3785         true, // isLuminance
3786         { true, false, false, false }, // Is normalized?
3787         { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3788         1, // bcWidth
3789         1, // bcHeight
3790     },
3791 
3792     // A16_UNORM (0x113)
3793     {
3794         "A16_UNORM",
3795         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3796         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3797         { 3, 0, 0, 0 }, // Swizzle
3798         { 16, 0, 0, 0 }, // Bits per component
3799         16, // Bits per element
3800         2, // Bytes per element
3801         1, // Num components
3802         false, // isSRGB
3803         false, // isBC
3804         false, // isSubsampled
3805         false, // isLuminance
3806         { true, false, false, false }, // Is normalized?
3807         { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3808         1, // bcWidth
3809         1, // bcHeight
3810     },
3811 
3812     // L8A8_UNORM (0x114)
3813     {
3814         "L8A8_UNORM",
3815         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3816         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3817         { 0, 3, 0, 0 }, // Swizzle
3818         { 8, 8, 0, 0 }, // Bits per component
3819         16, // Bits per element
3820         2, // Bytes per element
3821         2, // Num components
3822         false, // isSRGB
3823         false, // isBC
3824         false, // isSubsampled
3825         true, // isLuminance
3826         { true, true, false, false }, // Is normalized?
3827         { 1.0f / 255.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
3828         1, // bcWidth
3829         1, // bcHeight
3830     },
3831 
3832     // I16_FLOAT (0x115)
3833     {
3834         "I16_FLOAT",
3835         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3836         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3837         { 0, 0, 0, 0 }, // Swizzle
3838         { 16, 0, 0, 0 }, // Bits per component
3839         16, // Bits per element
3840         2, // Bytes per element
3841         1, // Num components
3842         false, // isSRGB
3843         false, // isBC
3844         false, // isSubsampled
3845         true, // isLuminance
3846         { false, false, false, false }, // Is normalized?
3847         { 1.0f, 0, 0, 0 }, // To float scale factor
3848         1, // bcWidth
3849         1, // bcHeight
3850     },
3851 
3852     // L16_FLOAT (0x116)
3853     {
3854         "L16_FLOAT",
3855         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3856         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3857         { 0, 0, 0, 0 }, // Swizzle
3858         { 16, 0, 0, 0 }, // Bits per component
3859         16, // Bits per element
3860         2, // Bytes per element
3861         1, // Num components
3862         false, // isSRGB
3863         false, // isBC
3864         false, // isSubsampled
3865         true, // isLuminance
3866         { false, false, false, false }, // Is normalized?
3867         { 1.0f, 0, 0, 0 }, // To float scale factor
3868         1, // bcWidth
3869         1, // bcHeight
3870     },
3871 
3872     // A16_FLOAT (0x117)
3873     {
3874         "A16_FLOAT",
3875         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3876         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3877         { 3, 0, 0, 0 }, // Swizzle
3878         { 16, 0, 0, 0 }, // Bits per component
3879         16, // Bits per element
3880         2, // Bytes per element
3881         1, // Num components
3882         false, // isSRGB
3883         false, // isBC
3884         false, // isSubsampled
3885         false, // isLuminance
3886         { false, false, false, false }, // Is normalized?
3887         { 1.0f, 0, 0, 0 }, // To float scale factor
3888         1, // bcWidth
3889         1, // bcHeight
3890     },
3891 
3892     // L8A8_UNORM_SRGB (0x118)
3893     {
3894         "L8A8_UNORM_SRGB",
3895         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3896         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3897         { 0, 3, 0, 0 }, // Swizzle
3898         { 8, 8, 0, 0 }, // Bits per component
3899         16, // Bits per element
3900         2, // Bytes per element
3901         2, // Num components
3902         true, // isSRGB
3903         false, // isBC
3904         false, // isSubsampled
3905         true, // isLuminance
3906         { true, true, false, false }, // Is normalized?
3907         { 1.0f / 255.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
3908         1, // bcWidth
3909         1, // bcHeight
3910     },
3911 
3912     // padding (0x119)
3913     {
3914         nullptr,
3915         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3916         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3917         0, 0, 0, false, false, false, false,
3918         { false, false, false, false },
3919         { 0.0f, 0.0f, 0.0f, 0.0f },
3920         1, 1
3921     },
3922     // B5G5R5X1_UNORM (0x11A)
3923     {
3924         "B5G5R5X1_UNORM",
3925         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3926         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3927         { 2, 1, 0, 3 }, // Swizzle
3928         { 5, 5, 5, 1 }, // Bits per component
3929         16, // Bits per element
3930         2, // Bytes per element
3931         4, // Num components
3932         false, // isSRGB
3933         false, // isBC
3934         false, // isSubsampled
3935         false, // isLuminance
3936         { true, true, true, false }, // Is normalized?
3937         { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f }, // To float scale factor
3938         1, // bcWidth
3939         1, // bcHeight
3940     },
3941 
3942     // B5G5R5X1_UNORM_SRGB (0x11B)
3943     {
3944         "B5G5R5X1_UNORM_SRGB",
3945         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3946         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3947         { 2, 1, 0, 3 }, // Swizzle
3948         { 5, 5, 5, 1 }, // Bits per component
3949         16, // Bits per element
3950         2, // Bytes per element
3951         4, // Num components
3952         true, // isSRGB
3953         false, // isBC
3954         false, // isSubsampled
3955         false, // isLuminance
3956         { true, true, true, false }, // Is normalized?
3957         { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f }, // To float scale factor
3958         1, // bcWidth
3959         1, // bcHeight
3960     },
3961 
3962     // R8G8_SSCALED (0x11C)
3963     {
3964         "R8G8_SSCALED",
3965         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3966         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3967         { 0, 1, 0, 0 }, // Swizzle
3968         { 8, 8, 0, 0 }, // Bits per component
3969         16, // Bits per element
3970         2, // Bytes per element
3971         2, // Num components
3972         false, // isSRGB
3973         false, // isBC
3974         false, // isSubsampled
3975         false, // isLuminance
3976         { false, false, false, false }, // Is normalized?
3977         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3978         1, // bcWidth
3979         1, // bcHeight
3980     },
3981 
3982     // R8G8_USCALED (0x11D)
3983     {
3984         "R8G8_USCALED",
3985         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3986         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3987         { 0, 1, 0, 0 }, // Swizzle
3988         { 8, 8, 0, 0 }, // Bits per component
3989         16, // Bits per element
3990         2, // Bytes per element
3991         2, // Num components
3992         false, // isSRGB
3993         false, // isBC
3994         false, // isSubsampled
3995         false, // isLuminance
3996         { false, false, false, false }, // Is normalized?
3997         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3998         1, // bcWidth
3999         1, // bcHeight
4000     },
4001 
4002     // R16_SSCALED (0x11E)
4003     {
4004         "R16_SSCALED",
4005         { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4006         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4007         { 0, 0, 0, 0 }, // Swizzle
4008         { 16, 0, 0, 0 }, // Bits per component
4009         16, // Bits per element
4010         2, // Bytes per element
4011         1, // Num components
4012         false, // isSRGB
4013         false, // isBC
4014         false, // isSubsampled
4015         false, // isLuminance
4016         { false, false, false, false }, // Is normalized?
4017         { 1.0f, 0, 0, 0 }, // To float scale factor
4018         1, // bcWidth
4019         1, // bcHeight
4020     },
4021 
4022     // R16_USCALED (0x11F)
4023     {
4024         "R16_USCALED",
4025         { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4026         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4027         { 0, 0, 0, 0 }, // Swizzle
4028         { 16, 0, 0, 0 }, // Bits per component
4029         16, // Bits per element
4030         2, // Bytes per element
4031         1, // Num components
4032         false, // isSRGB
4033         false, // isBC
4034         false, // isSubsampled
4035         false, // isLuminance
4036         { false, false, false, false }, // Is normalized?
4037         { 1.0f, 0, 0, 0 }, // To float scale factor
4038         1, // bcWidth
4039         1, // bcHeight
4040     },
4041 
4042     // padding (0x120)
4043     {
4044         nullptr,
4045         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4046         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4047         0, 0, 0, false, false, false, false,
4048         { false, false, false, false },
4049         { 0.0f, 0.0f, 0.0f, 0.0f },
4050         1, 1
4051     },
4052     // padding (0x121)
4053     {
4054         nullptr,
4055         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4056         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4057         0, 0, 0, false, false, false, false,
4058         { false, false, false, false },
4059         { 0.0f, 0.0f, 0.0f, 0.0f },
4060         1, 1
4061     },
4062     // padding (0x122)
4063     {
4064         nullptr,
4065         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4066         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4067         0, 0, 0, false, false, false, false,
4068         { false, false, false, false },
4069         { 0.0f, 0.0f, 0.0f, 0.0f },
4070         1, 1
4071     },
4072     // padding (0x123)
4073     {
4074         nullptr,
4075         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4076         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4077         0, 0, 0, false, false, false, false,
4078         { false, false, false, false },
4079         { 0.0f, 0.0f, 0.0f, 0.0f },
4080         1, 1
4081     },
4082     // A1B5G5R5_UNORM (0x124)
4083     {
4084         "A1B5G5R5_UNORM",
4085         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
4086         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4087         { 3, 2, 1, 0 }, // Swizzle
4088         { 1, 5, 5, 5 }, // Bits per component
4089         16, // Bits per element
4090         2, // Bytes per element
4091         4, // Num components
4092         false, // isSRGB
4093         false, // isBC
4094         false, // isSubsampled
4095         false, // isLuminance
4096         { true, true, true, true }, // Is normalized?
4097         { 1.0f / 1.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f }, // To float scale factor
4098         1, // bcWidth
4099         1, // bcHeight
4100     },
4101 
4102     // A4B4G4R4_UNORM (0x125)
4103     {
4104         "A4B4G4R4_UNORM",
4105         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
4106         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4107         { 3, 2, 1, 0 }, // Swizzle
4108         { 4, 4, 4, 4 }, // Bits per component
4109         16, // Bits per element
4110         2, // Bytes per element
4111         4, // Num components
4112         false, // isSRGB
4113         false, // isBC
4114         false, // isSubsampled
4115         false, // isLuminance
4116         { true, true, true, true }, // Is normalized?
4117         { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
4118         1, // bcWidth
4119         1, // bcHeight
4120     },
4121 
4122     // L8A8_UINT (0x126)
4123     {
4124         "L8A8_UINT",
4125         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4126         { 0, 0, 0, 0x1 }, // Defaults for missing components
4127         { 0, 3, 0, 0 }, // Swizzle
4128         { 8, 8, 0, 0 }, // Bits per component
4129         16, // Bits per element
4130         2, // Bytes per element
4131         2, // Num components
4132         false, // isSRGB
4133         false, // isBC
4134         false, // isSubsampled
4135         true, // isLuminance
4136         { false, false, false, false }, // Is normalized?
4137         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
4138         1, // bcWidth
4139         1, // bcHeight
4140     },
4141 
4142     // L8A8_SINT (0x127)
4143     {
4144         "L8A8_SINT",
4145         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4146         { 0, 0, 0, 0x1 }, // Defaults for missing components
4147         { 0, 3, 0, 0 }, // Swizzle
4148         { 8, 8, 0, 0 }, // Bits per component
4149         16, // Bits per element
4150         2, // Bytes per element
4151         2, // Num components
4152         false, // isSRGB
4153         false, // isBC
4154         false, // isSubsampled
4155         true, // isLuminance
4156         { false, false, false, false }, // Is normalized?
4157         { 1.0f, 1.0f, 0, 0 }, // To float scale factor
4158         1, // bcWidth
4159         1, // bcHeight
4160     },
4161 
4162     // padding (0x128)
4163     {
4164         nullptr,
4165         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4166         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4167         0, 0, 0, false, false, false, false,
4168         { false, false, false, false },
4169         { 0.0f, 0.0f, 0.0f, 0.0f },
4170         1, 1
4171     },
4172     // padding (0x129)
4173     {
4174         nullptr,
4175         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4176         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4177         0, 0, 0, false, false, false, false,
4178         { false, false, false, false },
4179         { 0.0f, 0.0f, 0.0f, 0.0f },
4180         1, 1
4181     },
4182     // padding (0x12A)
4183     {
4184         nullptr,
4185         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4186         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4187         0, 0, 0, false, false, false, false,
4188         { false, false, false, false },
4189         { 0.0f, 0.0f, 0.0f, 0.0f },
4190         1, 1
4191     },
4192     // padding (0x12B)
4193     {
4194         nullptr,
4195         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4196         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4197         0, 0, 0, false, false, false, false,
4198         { false, false, false, false },
4199         { 0.0f, 0.0f, 0.0f, 0.0f },
4200         1, 1
4201     },
4202     // padding (0x12C)
4203     {
4204         nullptr,
4205         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4206         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4207         0, 0, 0, false, false, false, false,
4208         { false, false, false, false },
4209         { 0.0f, 0.0f, 0.0f, 0.0f },
4210         1, 1
4211     },
4212     // padding (0x12D)
4213     {
4214         nullptr,
4215         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4216         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4217         0, 0, 0, false, false, false, false,
4218         { false, false, false, false },
4219         { 0.0f, 0.0f, 0.0f, 0.0f },
4220         1, 1
4221     },
4222     // padding (0x12E)
4223     {
4224         nullptr,
4225         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4226         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4227         0, 0, 0, false, false, false, false,
4228         { false, false, false, false },
4229         { 0.0f, 0.0f, 0.0f, 0.0f },
4230         1, 1
4231     },
4232     // padding (0x12F)
4233     {
4234         nullptr,
4235         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4236         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4237         0, 0, 0, false, false, false, false,
4238         { false, false, false, false },
4239         { 0.0f, 0.0f, 0.0f, 0.0f },
4240         1, 1
4241     },
4242     // padding (0x130)
4243     {
4244         nullptr,
4245         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4246         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4247         0, 0, 0, false, false, false, false,
4248         { false, false, false, false },
4249         { 0.0f, 0.0f, 0.0f, 0.0f },
4250         1, 1
4251     },
4252     // padding (0x131)
4253     {
4254         nullptr,
4255         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4256         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4257         0, 0, 0, false, false, false, false,
4258         { false, false, false, false },
4259         { 0.0f, 0.0f, 0.0f, 0.0f },
4260         1, 1
4261     },
4262     // padding (0x132)
4263     {
4264         nullptr,
4265         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4266         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4267         0, 0, 0, false, false, false, false,
4268         { false, false, false, false },
4269         { 0.0f, 0.0f, 0.0f, 0.0f },
4270         1, 1
4271     },
4272     // padding (0x133)
4273     {
4274         nullptr,
4275         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4276         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4277         0, 0, 0, false, false, false, false,
4278         { false, false, false, false },
4279         { 0.0f, 0.0f, 0.0f, 0.0f },
4280         1, 1
4281     },
4282     // padding (0x134)
4283     {
4284         nullptr,
4285         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4286         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4287         0, 0, 0, false, false, false, false,
4288         { false, false, false, false },
4289         { 0.0f, 0.0f, 0.0f, 0.0f },
4290         1, 1
4291     },
4292     // padding (0x135)
4293     {
4294         nullptr,
4295         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4296         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4297         0, 0, 0, false, false, false, false,
4298         { false, false, false, false },
4299         { 0.0f, 0.0f, 0.0f, 0.0f },
4300         1, 1
4301     },
4302     // padding (0x136)
4303     {
4304         nullptr,
4305         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4306         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4307         0, 0, 0, false, false, false, false,
4308         { false, false, false, false },
4309         { 0.0f, 0.0f, 0.0f, 0.0f },
4310         1, 1
4311     },
4312     // padding (0x137)
4313     {
4314         nullptr,
4315         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4316         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4317         0, 0, 0, false, false, false, false,
4318         { false, false, false, false },
4319         { 0.0f, 0.0f, 0.0f, 0.0f },
4320         1, 1
4321     },
4322     // padding (0x138)
4323     {
4324         nullptr,
4325         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4326         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4327         0, 0, 0, false, false, false, false,
4328         { false, false, false, false },
4329         { 0.0f, 0.0f, 0.0f, 0.0f },
4330         1, 1
4331     },
4332     // padding (0x139)
4333     {
4334         nullptr,
4335         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4336         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4337         0, 0, 0, false, false, false, false,
4338         { false, false, false, false },
4339         { 0.0f, 0.0f, 0.0f, 0.0f },
4340         1, 1
4341     },
4342     // padding (0x13A)
4343     {
4344         nullptr,
4345         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4346         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4347         0, 0, 0, false, false, false, false,
4348         { false, false, false, false },
4349         { 0.0f, 0.0f, 0.0f, 0.0f },
4350         1, 1
4351     },
4352     // padding (0x13B)
4353     {
4354         nullptr,
4355         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4356         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4357         0, 0, 0, false, false, false, false,
4358         { false, false, false, false },
4359         { 0.0f, 0.0f, 0.0f, 0.0f },
4360         1, 1
4361     },
4362     // padding (0x13C)
4363     {
4364         nullptr,
4365         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4366         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4367         0, 0, 0, false, false, false, false,
4368         { false, false, false, false },
4369         { 0.0f, 0.0f, 0.0f, 0.0f },
4370         1, 1
4371     },
4372     // padding (0x13D)
4373     {
4374         nullptr,
4375         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4376         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4377         0, 0, 0, false, false, false, false,
4378         { false, false, false, false },
4379         { 0.0f, 0.0f, 0.0f, 0.0f },
4380         1, 1
4381     },
4382     // padding (0x13E)
4383     {
4384         nullptr,
4385         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4386         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4387         0, 0, 0, false, false, false, false,
4388         { false, false, false, false },
4389         { 0.0f, 0.0f, 0.0f, 0.0f },
4390         1, 1
4391     },
4392     // padding (0x13F)
4393     {
4394         nullptr,
4395         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4396         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4397         0, 0, 0, false, false, false, false,
4398         { false, false, false, false },
4399         { 0.0f, 0.0f, 0.0f, 0.0f },
4400         1, 1
4401     },
4402     // R8_UNORM (0x140)
4403     {
4404         "R8_UNORM",
4405         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4406         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4407         { 0, 0, 0, 0 }, // Swizzle
4408         { 8, 0, 0, 0 }, // Bits per component
4409         8, // Bits per element
4410         1, // Bytes per element
4411         1, // Num components
4412         false, // isSRGB
4413         false, // isBC
4414         false, // isSubsampled
4415         false, // isLuminance
4416         { true, false, false, false }, // Is normalized?
4417         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4418         1, // bcWidth
4419         1, // bcHeight
4420     },
4421 
4422     // R8_SNORM (0x141)
4423     {
4424         "R8_SNORM",
4425         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4426         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4427         { 0, 0, 0, 0 }, // Swizzle
4428         { 8, 0, 0, 0 }, // Bits per component
4429         8, // Bits per element
4430         1, // Bytes per element
4431         1, // Num components
4432         false, // isSRGB
4433         false, // isBC
4434         false, // isSubsampled
4435         false, // isLuminance
4436         { true, false, false, false }, // Is normalized?
4437         { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
4438         1, // bcWidth
4439         1, // bcHeight
4440     },
4441 
4442     // R8_SINT (0x142)
4443     {
4444         "R8_SINT",
4445         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4446         { 0, 0, 0, 0x1 }, // Defaults for missing components
4447         { 0, 0, 0, 0 }, // Swizzle
4448         { 8, 0, 0, 0 }, // Bits per component
4449         8, // Bits per element
4450         1, // Bytes per element
4451         1, // Num components
4452         false, // isSRGB
4453         false, // isBC
4454         false, // isSubsampled
4455         false, // isLuminance
4456         { false, false, false, false }, // Is normalized?
4457         { 1.0f, 0, 0, 0 }, // To float scale factor
4458         1, // bcWidth
4459         1, // bcHeight
4460     },
4461 
4462     // R8_UINT (0x143)
4463     {
4464         "R8_UINT",
4465         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4466         { 0, 0, 0, 0x1 }, // Defaults for missing components
4467         { 0, 0, 0, 0 }, // Swizzle
4468         { 8, 0, 0, 0 }, // Bits per component
4469         8, // Bits per element
4470         1, // Bytes per element
4471         1, // Num components
4472         false, // isSRGB
4473         false, // isBC
4474         false, // isSubsampled
4475         false, // isLuminance
4476         { false, false, false, false }, // Is normalized?
4477         { 1.0f, 0, 0, 0 }, // To float scale factor
4478         1, // bcWidth
4479         1, // bcHeight
4480     },
4481 
4482     // A8_UNORM (0x144)
4483     {
4484         "A8_UNORM",
4485         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4486         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4487         { 3, 0, 0, 0 }, // Swizzle
4488         { 8, 0, 0, 0 }, // Bits per component
4489         8, // Bits per element
4490         1, // Bytes per element
4491         1, // Num components
4492         false, // isSRGB
4493         false, // isBC
4494         false, // isSubsampled
4495         false, // isLuminance
4496         { true, false, false, false }, // Is normalized?
4497         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4498         1, // bcWidth
4499         1, // bcHeight
4500     },
4501 
4502     // I8_UNORM (0x145)
4503     {
4504         "I8_UNORM",
4505         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4506         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4507         { 0, 0, 0, 0 }, // Swizzle
4508         { 8, 0, 0, 0 }, // Bits per component
4509         8, // Bits per element
4510         1, // Bytes per element
4511         1, // Num components
4512         false, // isSRGB
4513         false, // isBC
4514         false, // isSubsampled
4515         true, // isLuminance
4516         { true, false, false, false }, // Is normalized?
4517         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4518         1, // bcWidth
4519         1, // bcHeight
4520     },
4521 
4522     // L8_UNORM (0x146)
4523     {
4524         "L8_UNORM",
4525         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4526         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4527         { 0, 0, 0, 0 }, // Swizzle
4528         { 8, 0, 0, 0 }, // Bits per component
4529         8, // Bits per element
4530         1, // Bytes per element
4531         1, // Num components
4532         false, // isSRGB
4533         false, // isBC
4534         false, // isSubsampled
4535         true, // isLuminance
4536         { true, false, false, false }, // Is normalized?
4537         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4538         1, // bcWidth
4539         1, // bcHeight
4540     },
4541 
4542     // padding (0x147)
4543     {
4544         nullptr,
4545         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4546         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4547         0, 0, 0, false, false, false, false,
4548         { false, false, false, false },
4549         { 0.0f, 0.0f, 0.0f, 0.0f },
4550         1, 1
4551     },
4552     // padding (0x148)
4553     {
4554         nullptr,
4555         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4556         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4557         0, 0, 0, false, false, false, false,
4558         { false, false, false, false },
4559         { 0.0f, 0.0f, 0.0f, 0.0f },
4560         1, 1
4561     },
4562     // R8_SSCALED (0x149)
4563     {
4564         "R8_SSCALED",
4565         { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4566         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4567         { 0, 0, 0, 0 }, // Swizzle
4568         { 8, 0, 0, 0 }, // Bits per component
4569         8, // Bits per element
4570         1, // Bytes per element
4571         1, // Num components
4572         false, // isSRGB
4573         false, // isBC
4574         false, // isSubsampled
4575         false, // isLuminance
4576         { false, false, false, false }, // Is normalized?
4577         { 1.0f, 0, 0, 0 }, // To float scale factor
4578         1, // bcWidth
4579         1, // bcHeight
4580     },
4581 
4582     // R8_USCALED (0x14A)
4583     {
4584         "R8_USCALED",
4585         { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4586         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4587         { 0, 0, 0, 0 }, // Swizzle
4588         { 8, 0, 0, 0 }, // Bits per component
4589         8, // Bits per element
4590         1, // Bytes per element
4591         1, // Num components
4592         false, // isSRGB
4593         false, // isBC
4594         false, // isSubsampled
4595         false, // isLuminance
4596         { false, false, false, false }, // Is normalized?
4597         { 1.0f, 0, 0, 0 }, // To float scale factor
4598         1, // bcWidth
4599         1, // bcHeight
4600     },
4601 
4602     // padding (0x14B)
4603     {
4604         nullptr,
4605         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4606         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4607         0, 0, 0, false, false, false, false,
4608         { false, false, false, false },
4609         { 0.0f, 0.0f, 0.0f, 0.0f },
4610         1, 1
4611     },
4612     // L8_UNORM_SRGB (0x14C)
4613     {
4614         "L8_UNORM_SRGB",
4615         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4616         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4617         { 0, 0, 0, 0 }, // Swizzle
4618         { 8, 0, 0, 0 }, // Bits per component
4619         8, // Bits per element
4620         1, // Bytes per element
4621         1, // Num components
4622         true, // isSRGB
4623         false, // isBC
4624         false, // isSubsampled
4625         true, // isLuminance
4626         { true, false, false, false }, // Is normalized?
4627         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4628         1, // bcWidth
4629         1, // bcHeight
4630     },
4631 
4632     // padding (0x14D)
4633     {
4634         nullptr,
4635         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4636         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4637         0, 0, 0, false, false, false, false,
4638         { false, false, false, false },
4639         { 0.0f, 0.0f, 0.0f, 0.0f },
4640         1, 1
4641     },
4642     // padding (0x14E)
4643     {
4644         nullptr,
4645         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4646         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4647         0, 0, 0, false, false, false, false,
4648         { false, false, false, false },
4649         { 0.0f, 0.0f, 0.0f, 0.0f },
4650         1, 1
4651     },
4652     // padding (0x14F)
4653     {
4654         nullptr,
4655         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4656         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4657         0, 0, 0, false, false, false, false,
4658         { false, false, false, false },
4659         { 0.0f, 0.0f, 0.0f, 0.0f },
4660         1, 1
4661     },
4662     // padding (0x150)
4663     {
4664         nullptr,
4665         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4666         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4667         0, 0, 0, false, false, false, false,
4668         { false, false, false, false },
4669         { 0.0f, 0.0f, 0.0f, 0.0f },
4670         1, 1
4671     },
4672     // padding (0x151)
4673     {
4674         nullptr,
4675         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4676         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4677         0, 0, 0, false, false, false, false,
4678         { false, false, false, false },
4679         { 0.0f, 0.0f, 0.0f, 0.0f },
4680         1, 1
4681     },
4682     // L8_UINT (0x152)
4683     {
4684         "L8_UINT",
4685         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4686         { 0, 0, 0, 0x1 }, // Defaults for missing components
4687         { 0, 0, 0, 0 }, // Swizzle
4688         { 8, 0, 0, 0 }, // Bits per component
4689         8, // Bits per element
4690         1, // Bytes per element
4691         1, // Num components
4692         false, // isSRGB
4693         false, // isBC
4694         false, // isSubsampled
4695         true, // isLuminance
4696         { false, false, false, false }, // Is normalized?
4697         { 1.0f, 0, 0, 0 }, // To float scale factor
4698         1, // bcWidth
4699         1, // bcHeight
4700     },
4701 
4702     // L8_SINT (0x153)
4703     {
4704         "L8_SINT",
4705         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4706         { 0, 0, 0, 0x1 }, // Defaults for missing components
4707         { 0, 0, 0, 0 }, // Swizzle
4708         { 8, 0, 0, 0 }, // Bits per component
4709         8, // Bits per element
4710         1, // Bytes per element
4711         1, // Num components
4712         false, // isSRGB
4713         false, // isBC
4714         false, // isSubsampled
4715         true, // isLuminance
4716         { false, false, false, false }, // Is normalized?
4717         { 1.0f, 0, 0, 0 }, // To float scale factor
4718         1, // bcWidth
4719         1, // bcHeight
4720     },
4721 
4722     // I8_UINT (0x154)
4723     {
4724         "I8_UINT",
4725         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4726         { 0, 0, 0, 0x1 }, // Defaults for missing components
4727         { 0, 0, 0, 0 }, // Swizzle
4728         { 8, 0, 0, 0 }, // Bits per component
4729         8, // Bits per element
4730         1, // Bytes per element
4731         1, // Num components
4732         false, // isSRGB
4733         false, // isBC
4734         false, // isSubsampled
4735         true, // isLuminance
4736         { false, false, false, false }, // Is normalized?
4737         { 1.0f, 0, 0, 0 }, // To float scale factor
4738         1, // bcWidth
4739         1, // bcHeight
4740     },
4741 
4742     // I8_SINT (0x155)
4743     {
4744         "I8_SINT",
4745         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4746         { 0, 0, 0, 0x1 }, // Defaults for missing components
4747         { 0, 0, 0, 0 }, // Swizzle
4748         { 8, 0, 0, 0 }, // Bits per component
4749         8, // Bits per element
4750         1, // Bytes per element
4751         1, // Num components
4752         false, // isSRGB
4753         false, // isBC
4754         false, // isSubsampled
4755         true, // isLuminance
4756         { false, false, false, false }, // Is normalized?
4757         { 1.0f, 0, 0, 0 }, // To float scale factor
4758         1, // bcWidth
4759         1, // bcHeight
4760     },
4761 
4762     // padding (0x156)
4763     {
4764         nullptr,
4765         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4766         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4767         0, 0, 0, false, false, false, false,
4768         { false, false, false, false },
4769         { 0.0f, 0.0f, 0.0f, 0.0f },
4770         1, 1
4771     },
4772     // padding (0x157)
4773     {
4774         nullptr,
4775         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4776         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4777         0, 0, 0, false, false, false, false,
4778         { false, false, false, false },
4779         { 0.0f, 0.0f, 0.0f, 0.0f },
4780         1, 1
4781     },
4782     // padding (0x158)
4783     {
4784         nullptr,
4785         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4786         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4787         0, 0, 0, false, false, false, false,
4788         { false, false, false, false },
4789         { 0.0f, 0.0f, 0.0f, 0.0f },
4790         1, 1
4791     },
4792     // padding (0x159)
4793     {
4794         nullptr,
4795         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4796         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4797         0, 0, 0, false, false, false, false,
4798         { false, false, false, false },
4799         { 0.0f, 0.0f, 0.0f, 0.0f },
4800         1, 1
4801     },
4802     // padding (0x15A)
4803     {
4804         nullptr,
4805         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4806         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4807         0, 0, 0, false, false, false, false,
4808         { false, false, false, false },
4809         { 0.0f, 0.0f, 0.0f, 0.0f },
4810         1, 1
4811     },
4812     // padding (0x15B)
4813     {
4814         nullptr,
4815         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4816         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4817         0, 0, 0, false, false, false, false,
4818         { false, false, false, false },
4819         { 0.0f, 0.0f, 0.0f, 0.0f },
4820         1, 1
4821     },
4822     // padding (0x15C)
4823     {
4824         nullptr,
4825         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4826         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4827         0, 0, 0, false, false, false, false,
4828         { false, false, false, false },
4829         { 0.0f, 0.0f, 0.0f, 0.0f },
4830         1, 1
4831     },
4832     // padding (0x15D)
4833     {
4834         nullptr,
4835         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4836         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4837         0, 0, 0, false, false, false, false,
4838         { false, false, false, false },
4839         { 0.0f, 0.0f, 0.0f, 0.0f },
4840         1, 1
4841     },
4842     // padding (0x15E)
4843     {
4844         nullptr,
4845         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4846         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4847         0, 0, 0, false, false, false, false,
4848         { false, false, false, false },
4849         { 0.0f, 0.0f, 0.0f, 0.0f },
4850         1, 1
4851     },
4852     // padding (0x15F)
4853     {
4854         nullptr,
4855         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4856         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4857         0, 0, 0, false, false, false, false,
4858         { false, false, false, false },
4859         { 0.0f, 0.0f, 0.0f, 0.0f },
4860         1, 1
4861     },
4862     // padding (0x160)
4863     {
4864         nullptr,
4865         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4866         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4867         0, 0, 0, false, false, false, false,
4868         { false, false, false, false },
4869         { 0.0f, 0.0f, 0.0f, 0.0f },
4870         1, 1
4871     },
4872     // padding (0x161)
4873     {
4874         nullptr,
4875         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4876         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4877         0, 0, 0, false, false, false, false,
4878         { false, false, false, false },
4879         { 0.0f, 0.0f, 0.0f, 0.0f },
4880         1, 1
4881     },
4882     // padding (0x162)
4883     {
4884         nullptr,
4885         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4886         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4887         0, 0, 0, false, false, false, false,
4888         { false, false, false, false },
4889         { 0.0f, 0.0f, 0.0f, 0.0f },
4890         1, 1
4891     },
4892     // padding (0x163)
4893     {
4894         nullptr,
4895         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4896         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4897         0, 0, 0, false, false, false, false,
4898         { false, false, false, false },
4899         { 0.0f, 0.0f, 0.0f, 0.0f },
4900         1, 1
4901     },
4902     // padding (0x164)
4903     {
4904         nullptr,
4905         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4906         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4907         0, 0, 0, false, false, false, false,
4908         { false, false, false, false },
4909         { 0.0f, 0.0f, 0.0f, 0.0f },
4910         1, 1
4911     },
4912     // padding (0x165)
4913     {
4914         nullptr,
4915         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4916         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4917         0, 0, 0, false, false, false, false,
4918         { false, false, false, false },
4919         { 0.0f, 0.0f, 0.0f, 0.0f },
4920         1, 1
4921     },
4922     // padding (0x166)
4923     {
4924         nullptr,
4925         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4926         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4927         0, 0, 0, false, false, false, false,
4928         { false, false, false, false },
4929         { 0.0f, 0.0f, 0.0f, 0.0f },
4930         1, 1
4931     },
4932     // padding (0x167)
4933     {
4934         nullptr,
4935         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4936         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4937         0, 0, 0, false, false, false, false,
4938         { false, false, false, false },
4939         { 0.0f, 0.0f, 0.0f, 0.0f },
4940         1, 1
4941     },
4942     // padding (0x168)
4943     {
4944         nullptr,
4945         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4946         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4947         0, 0, 0, false, false, false, false,
4948         { false, false, false, false },
4949         { 0.0f, 0.0f, 0.0f, 0.0f },
4950         1, 1
4951     },
4952     // padding (0x169)
4953     {
4954         nullptr,
4955         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4956         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4957         0, 0, 0, false, false, false, false,
4958         { false, false, false, false },
4959         { 0.0f, 0.0f, 0.0f, 0.0f },
4960         1, 1
4961     },
4962     // padding (0x16A)
4963     {
4964         nullptr,
4965         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4966         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4967         0, 0, 0, false, false, false, false,
4968         { false, false, false, false },
4969         { 0.0f, 0.0f, 0.0f, 0.0f },
4970         1, 1
4971     },
4972     // padding (0x16B)
4973     {
4974         nullptr,
4975         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4976         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4977         0, 0, 0, false, false, false, false,
4978         { false, false, false, false },
4979         { 0.0f, 0.0f, 0.0f, 0.0f },
4980         1, 1
4981     },
4982     // padding (0x16C)
4983     {
4984         nullptr,
4985         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4986         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4987         0, 0, 0, false, false, false, false,
4988         { false, false, false, false },
4989         { 0.0f, 0.0f, 0.0f, 0.0f },
4990         1, 1
4991     },
4992     // padding (0x16D)
4993     {
4994         nullptr,
4995         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4996         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4997         0, 0, 0, false, false, false, false,
4998         { false, false, false, false },
4999         { 0.0f, 0.0f, 0.0f, 0.0f },
5000         1, 1
5001     },
5002     // padding (0x16E)
5003     {
5004         nullptr,
5005         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5006         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5007         0, 0, 0, false, false, false, false,
5008         { false, false, false, false },
5009         { 0.0f, 0.0f, 0.0f, 0.0f },
5010         1, 1
5011     },
5012     // padding (0x16F)
5013     {
5014         nullptr,
5015         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5016         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5017         0, 0, 0, false, false, false, false,
5018         { false, false, false, false },
5019         { 0.0f, 0.0f, 0.0f, 0.0f },
5020         1, 1
5021     },
5022     // padding (0x170)
5023     {
5024         nullptr,
5025         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5026         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5027         0, 0, 0, false, false, false, false,
5028         { false, false, false, false },
5029         { 0.0f, 0.0f, 0.0f, 0.0f },
5030         1, 1
5031     },
5032     // padding (0x171)
5033     {
5034         nullptr,
5035         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5036         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5037         0, 0, 0, false, false, false, false,
5038         { false, false, false, false },
5039         { 0.0f, 0.0f, 0.0f, 0.0f },
5040         1, 1
5041     },
5042     // padding (0x172)
5043     {
5044         nullptr,
5045         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5046         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5047         0, 0, 0, false, false, false, false,
5048         { false, false, false, false },
5049         { 0.0f, 0.0f, 0.0f, 0.0f },
5050         1, 1
5051     },
5052     // padding (0x173)
5053     {
5054         nullptr,
5055         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5056         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5057         0, 0, 0, false, false, false, false,
5058         { false, false, false, false },
5059         { 0.0f, 0.0f, 0.0f, 0.0f },
5060         1, 1
5061     },
5062     // padding (0x174)
5063     {
5064         nullptr,
5065         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5066         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5067         0, 0, 0, false, false, false, false,
5068         { false, false, false, false },
5069         { 0.0f, 0.0f, 0.0f, 0.0f },
5070         1, 1
5071     },
5072     // padding (0x175)
5073     {
5074         nullptr,
5075         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5076         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5077         0, 0, 0, false, false, false, false,
5078         { false, false, false, false },
5079         { 0.0f, 0.0f, 0.0f, 0.0f },
5080         1, 1
5081     },
5082     // padding (0x176)
5083     {
5084         nullptr,
5085         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5086         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5087         0, 0, 0, false, false, false, false,
5088         { false, false, false, false },
5089         { 0.0f, 0.0f, 0.0f, 0.0f },
5090         1, 1
5091     },
5092     // padding (0x177)
5093     {
5094         nullptr,
5095         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5096         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5097         0, 0, 0, false, false, false, false,
5098         { false, false, false, false },
5099         { 0.0f, 0.0f, 0.0f, 0.0f },
5100         1, 1
5101     },
5102     // padding (0x178)
5103     {
5104         nullptr,
5105         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5106         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5107         0, 0, 0, false, false, false, false,
5108         { false, false, false, false },
5109         { 0.0f, 0.0f, 0.0f, 0.0f },
5110         1, 1
5111     },
5112     // padding (0x179)
5113     {
5114         nullptr,
5115         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5116         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5117         0, 0, 0, false, false, false, false,
5118         { false, false, false, false },
5119         { 0.0f, 0.0f, 0.0f, 0.0f },
5120         1, 1
5121     },
5122     // padding (0x17A)
5123     {
5124         nullptr,
5125         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5126         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5127         0, 0, 0, false, false, false, false,
5128         { false, false, false, false },
5129         { 0.0f, 0.0f, 0.0f, 0.0f },
5130         1, 1
5131     },
5132     // padding (0x17B)
5133     {
5134         nullptr,
5135         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5136         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5137         0, 0, 0, false, false, false, false,
5138         { false, false, false, false },
5139         { 0.0f, 0.0f, 0.0f, 0.0f },
5140         1, 1
5141     },
5142     // padding (0x17C)
5143     {
5144         nullptr,
5145         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5146         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5147         0, 0, 0, false, false, false, false,
5148         { false, false, false, false },
5149         { 0.0f, 0.0f, 0.0f, 0.0f },
5150         1, 1
5151     },
5152     // padding (0x17D)
5153     {
5154         nullptr,
5155         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5156         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5157         0, 0, 0, false, false, false, false,
5158         { false, false, false, false },
5159         { 0.0f, 0.0f, 0.0f, 0.0f },
5160         1, 1
5161     },
5162     // padding (0x17E)
5163     {
5164         nullptr,
5165         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5166         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5167         0, 0, 0, false, false, false, false,
5168         { false, false, false, false },
5169         { 0.0f, 0.0f, 0.0f, 0.0f },
5170         1, 1
5171     },
5172     // padding (0x17F)
5173     {
5174         nullptr,
5175         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5176         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5177         0, 0, 0, false, false, false, false,
5178         { false, false, false, false },
5179         { 0.0f, 0.0f, 0.0f, 0.0f },
5180         1, 1
5181     },
5182     // padding (0x180)
5183     {
5184         nullptr,
5185         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5186         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5187         0, 0, 0, false, false, false, false,
5188         { false, false, false, false },
5189         { 0.0f, 0.0f, 0.0f, 0.0f },
5190         1, 1
5191     },
5192     // padding (0x181)
5193     {
5194         nullptr,
5195         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5196         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5197         0, 0, 0, false, false, false, false,
5198         { false, false, false, false },
5199         { 0.0f, 0.0f, 0.0f, 0.0f },
5200         1, 1
5201     },
5202     // padding (0x182)
5203     {
5204         nullptr,
5205         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5206         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5207         0, 0, 0, false, false, false, false,
5208         { false, false, false, false },
5209         { 0.0f, 0.0f, 0.0f, 0.0f },
5210         1, 1
5211     },
5212     // YCRCB_SWAPUVY (0x183)
5213     {
5214         "YCRCB_SWAPUVY",
5215         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
5216         { 0, 0, 0, 0x1 }, // Defaults for missing components
5217         { 0, 1, 2, 3 }, // Swizzle
5218         { 8, 8, 8, 8 }, // Bits per component
5219         32, // Bits per element
5220         4, // Bytes per element
5221         4, // Num components
5222         false, // isSRGB
5223         false, // isBC
5224         true, // isSubsampled
5225         false, // isLuminance
5226         { false, false, false, false }, // Is normalized?
5227         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
5228         2, // bcWidth
5229         1, // bcHeight
5230     },
5231 
5232     // padding (0x184)
5233     {
5234         nullptr,
5235         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5236         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5237         0, 0, 0, false, false, false, false,
5238         { false, false, false, false },
5239         { 0.0f, 0.0f, 0.0f, 0.0f },
5240         1, 1
5241     },
5242     // padding (0x185)
5243     {
5244         nullptr,
5245         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5246         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5247         0, 0, 0, false, false, false, false,
5248         { false, false, false, false },
5249         { 0.0f, 0.0f, 0.0f, 0.0f },
5250         1, 1
5251     },
5252     // BC1_UNORM (0x186)
5253     {
5254         "BC1_UNORM",
5255         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5256         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5257         { 0, 1, 2, 3 }, // Swizzle
5258         { 8, 8, 8, 8 }, // Bits per component
5259         64, // Bits per element
5260         8, // Bytes per element
5261         1, // Num components
5262         false, // isSRGB
5263         true, // isBC
5264         false, // isSubsampled
5265         false, // isLuminance
5266         { true, false, false, false }, // Is normalized?
5267         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5268         4, // bcWidth
5269         4, // bcHeight
5270     },
5271 
5272     // BC2_UNORM (0x187)
5273     {
5274         "BC2_UNORM",
5275         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5276         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5277         { 0, 1, 2, 3 }, // Swizzle
5278         { 8, 8, 8, 8 }, // Bits per component
5279         128, // Bits per element
5280         16, // Bytes per element
5281         1, // Num components
5282         false, // isSRGB
5283         true, // isBC
5284         false, // isSubsampled
5285         false, // isLuminance
5286         { true, false, false, false }, // Is normalized?
5287         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5288         4, // bcWidth
5289         4, // bcHeight
5290     },
5291 
5292     // BC3_UNORM (0x188)
5293     {
5294         "BC3_UNORM",
5295         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5296         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5297         { 0, 1, 2, 3 }, // Swizzle
5298         { 8, 8, 8, 8 }, // Bits per component
5299         128, // Bits per element
5300         16, // Bytes per element
5301         1, // Num components
5302         false, // isSRGB
5303         true, // isBC
5304         false, // isSubsampled
5305         false, // isLuminance
5306         { true, false, false, false }, // Is normalized?
5307         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5308         4, // bcWidth
5309         4, // bcHeight
5310     },
5311 
5312     // BC4_UNORM (0x189)
5313     {
5314         "BC4_UNORM",
5315         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5316         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5317         { 0, 1, 2, 3 }, // Swizzle
5318         { 8, 8, 8, 8 }, // Bits per component
5319         64, // Bits per element
5320         8, // Bytes per element
5321         1, // Num components
5322         false, // isSRGB
5323         true, // isBC
5324         false, // isSubsampled
5325         false, // isLuminance
5326         { true, false, false, false }, // Is normalized?
5327         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5328         4, // bcWidth
5329         4, // bcHeight
5330     },
5331 
5332     // BC5_UNORM (0x18A)
5333     {
5334         "BC5_UNORM",
5335         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5336         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5337         { 0, 1, 2, 3 }, // Swizzle
5338         { 8, 8, 8, 8 }, // Bits per component
5339         128, // Bits per element
5340         16, // Bytes per element
5341         1, // Num components
5342         false, // isSRGB
5343         true, // isBC
5344         false, // isSubsampled
5345         false, // isLuminance
5346         { true, false, false, false }, // Is normalized?
5347         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5348         4, // bcWidth
5349         4, // bcHeight
5350     },
5351 
5352     // BC1_UNORM_SRGB (0x18B)
5353     {
5354         "BC1_UNORM_SRGB",
5355         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5356         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5357         { 0, 1, 2, 3 }, // Swizzle
5358         { 8, 8, 8, 8 }, // Bits per component
5359         64, // Bits per element
5360         8, // Bytes per element
5361         1, // Num components
5362         true, // isSRGB
5363         true, // isBC
5364         false, // isSubsampled
5365         false, // isLuminance
5366         { true, false, false, false }, // Is normalized?
5367         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5368         4, // bcWidth
5369         4, // bcHeight
5370     },
5371 
5372     // BC2_UNORM_SRGB (0x18C)
5373     {
5374         "BC2_UNORM_SRGB",
5375         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5376         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5377         { 0, 1, 2, 3 }, // Swizzle
5378         { 8, 8, 8, 8 }, // Bits per component
5379         128, // Bits per element
5380         16, // Bytes per element
5381         1, // Num components
5382         true, // isSRGB
5383         true, // isBC
5384         false, // isSubsampled
5385         false, // isLuminance
5386         { true, false, false, false }, // Is normalized?
5387         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5388         4, // bcWidth
5389         4, // bcHeight
5390     },
5391 
5392     // BC3_UNORM_SRGB (0x18D)
5393     {
5394         "BC3_UNORM_SRGB",
5395         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5396         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5397         { 0, 1, 2, 3 }, // Swizzle
5398         { 8, 8, 8, 8 }, // Bits per component
5399         128, // Bits per element
5400         16, // Bytes per element
5401         1, // Num components
5402         true, // isSRGB
5403         true, // isBC
5404         false, // isSubsampled
5405         false, // isLuminance
5406         { true, false, false, false }, // Is normalized?
5407         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5408         4, // bcWidth
5409         4, // bcHeight
5410     },
5411 
5412     // padding (0x18E)
5413     {
5414         nullptr,
5415         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5416         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5417         0, 0, 0, false, false, false, false,
5418         { false, false, false, false },
5419         { 0.0f, 0.0f, 0.0f, 0.0f },
5420         1, 1
5421     },
5422     // YCRCB_SWAPUV (0x18F)
5423     {
5424         "YCRCB_SWAPUV",
5425         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
5426         { 0, 0, 0, 0x1 }, // Defaults for missing components
5427         { 0, 1, 2, 3 }, // Swizzle
5428         { 8, 8, 8, 8 }, // Bits per component
5429         32, // Bits per element
5430         4, // Bytes per element
5431         4, // Num components
5432         false, // isSRGB
5433         false, // isBC
5434         true, // isSubsampled
5435         false, // isLuminance
5436         { false, false, false, false }, // Is normalized?
5437         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
5438         2, // bcWidth
5439         1, // bcHeight
5440     },
5441 
5442     // padding (0x190)
5443     {
5444         nullptr,
5445         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5446         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5447         0, 0, 0, false, false, false, false,
5448         { false, false, false, false },
5449         { 0.0f, 0.0f, 0.0f, 0.0f },
5450         1, 1
5451     },
5452     // padding (0x191)
5453     {
5454         nullptr,
5455         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5456         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5457         0, 0, 0, false, false, false, false,
5458         { false, false, false, false },
5459         { 0.0f, 0.0f, 0.0f, 0.0f },
5460         1, 1
5461     },
5462     // padding (0x192)
5463     {
5464         nullptr,
5465         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5466         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5467         0, 0, 0, false, false, false, false,
5468         { false, false, false, false },
5469         { 0.0f, 0.0f, 0.0f, 0.0f },
5470         1, 1
5471     },
5472     // R8G8B8_UNORM (0x193)
5473     {
5474         "R8G8B8_UNORM",
5475         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
5476         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5477         { 0, 1, 2, 0 }, // Swizzle
5478         { 8, 8, 8, 0 }, // Bits per component
5479         24, // Bits per element
5480         3, // Bytes per element
5481         3, // Num components
5482         false, // isSRGB
5483         false, // isBC
5484         false, // isSubsampled
5485         false, // isLuminance
5486         { true, true, true, false }, // Is normalized?
5487         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 0 }, // To float scale factor
5488         1, // bcWidth
5489         1, // bcHeight
5490     },
5491 
5492     // R8G8B8_SNORM (0x194)
5493     {
5494         "R8G8B8_SNORM",
5495         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN },
5496         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5497         { 0, 1, 2, 0 }, // Swizzle
5498         { 8, 8, 8, 0 }, // Bits per component
5499         24, // Bits per element
5500         3, // Bytes per element
5501         3, // Num components
5502         false, // isSRGB
5503         false, // isBC
5504         false, // isSubsampled
5505         false, // isLuminance
5506         { true, true, true, false }, // Is normalized?
5507         { 1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f, 0 }, // To float scale factor
5508         1, // bcWidth
5509         1, // bcHeight
5510     },
5511 
5512     // R8G8B8_SSCALED (0x195)
5513     {
5514         "R8G8B8_SSCALED",
5515         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN },
5516         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5517         { 0, 1, 2, 0 }, // Swizzle
5518         { 8, 8, 8, 0 }, // Bits per component
5519         24, // Bits per element
5520         3, // Bytes per element
5521         3, // Num components
5522         false, // isSRGB
5523         false, // isBC
5524         false, // isSubsampled
5525         false, // isLuminance
5526         { false, false, false, false }, // Is normalized?
5527         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5528         1, // bcWidth
5529         1, // bcHeight
5530     },
5531 
5532     // R8G8B8_USCALED (0x196)
5533     {
5534         "R8G8B8_USCALED",
5535         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN },
5536         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5537         { 0, 1, 2, 0 }, // Swizzle
5538         { 8, 8, 8, 0 }, // Bits per component
5539         24, // Bits per element
5540         3, // Bytes per element
5541         3, // Num components
5542         false, // isSRGB
5543         false, // isBC
5544         false, // isSubsampled
5545         false, // isLuminance
5546         { false, false, false, false }, // Is normalized?
5547         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5548         1, // bcWidth
5549         1, // bcHeight
5550     },
5551 
5552     // R64G64B64A64_FLOAT (0x197)
5553     {
5554         "R64G64B64A64_FLOAT",
5555         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT },
5556         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5557         { 0, 1, 2, 3 }, // Swizzle
5558         { 64, 64, 64, 64 }, // Bits per component
5559         256, // Bits per element
5560         32, // Bytes per element
5561         4, // Num components
5562         false, // isSRGB
5563         false, // isBC
5564         false, // isSubsampled
5565         false, // isLuminance
5566         { false, false, false, false }, // Is normalized?
5567         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
5568         1, // bcWidth
5569         1, // bcHeight
5570     },
5571 
5572     // R64G64B64_FLOAT (0x198)
5573     {
5574         "R64G64B64_FLOAT",
5575         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
5576         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5577         { 0, 1, 2, 0 }, // Swizzle
5578         { 64, 64, 64, 0 }, // Bits per component
5579         192, // Bits per element
5580         24, // Bytes per element
5581         3, // Num components
5582         false, // isSRGB
5583         false, // isBC
5584         false, // isSubsampled
5585         false, // isLuminance
5586         { false, false, false, false }, // Is normalized?
5587         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5588         1, // bcWidth
5589         1, // bcHeight
5590     },
5591 
5592     // BC4_SNORM (0x199)
5593     {
5594         "BC4_SNORM",
5595         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5596         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5597         { 0, 1, 2, 3 }, // Swizzle
5598         { 8, 8, 8, 8 }, // Bits per component
5599         64, // Bits per element
5600         8, // Bytes per element
5601         1, // Num components
5602         false, // isSRGB
5603         true, // isBC
5604         false, // isSubsampled
5605         false, // isLuminance
5606         { true, false, false, false }, // Is normalized?
5607         { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
5608         4, // bcWidth
5609         4, // bcHeight
5610     },
5611 
5612     // BC5_SNORM (0x19A)
5613     {
5614         "BC5_SNORM",
5615         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5616         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5617         { 0, 1, 2, 3 }, // Swizzle
5618         { 8, 8, 8, 8 }, // Bits per component
5619         128, // Bits per element
5620         16, // Bytes per element
5621         1, // Num components
5622         false, // isSRGB
5623         true, // isBC
5624         false, // isSubsampled
5625         false, // isLuminance
5626         { true, false, false, false }, // Is normalized?
5627         { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
5628         4, // bcWidth
5629         4, // bcHeight
5630     },
5631 
5632     // R16G16B16_FLOAT (0x19B)
5633     {
5634         "R16G16B16_FLOAT",
5635         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
5636         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5637         { 0, 1, 2, 0 }, // Swizzle
5638         { 16, 16, 16, 0 }, // Bits per component
5639         48, // Bits per element
5640         6, // Bytes per element
5641         3, // Num components
5642         false, // isSRGB
5643         false, // isBC
5644         false, // isSubsampled
5645         false, // isLuminance
5646         { false, false, false, false }, // Is normalized?
5647         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5648         1, // bcWidth
5649         1, // bcHeight
5650     },
5651 
5652     // R16G16B16_UNORM (0x19C)
5653     {
5654         "R16G16B16_UNORM",
5655         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
5656         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5657         { 0, 1, 2, 0 }, // Swizzle
5658         { 16, 16, 16, 0 }, // Bits per component
5659         48, // Bits per element
5660         6, // Bytes per element
5661         3, // Num components
5662         false, // isSRGB
5663         false, // isBC
5664         false, // isSubsampled
5665         false, // isLuminance
5666         { true, true, true, false }, // Is normalized?
5667         { 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 0 }, // To float scale factor
5668         1, // bcWidth
5669         1, // bcHeight
5670     },
5671 
5672     // R16G16B16_SNORM (0x19D)
5673     {
5674         "R16G16B16_SNORM",
5675         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN },
5676         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5677         { 0, 1, 2, 0 }, // Swizzle
5678         { 16, 16, 16, 0 }, // Bits per component
5679         48, // Bits per element
5680         6, // Bytes per element
5681         3, // Num components
5682         false, // isSRGB
5683         false, // isBC
5684         false, // isSubsampled
5685         false, // isLuminance
5686         { true, true, true, false }, // Is normalized?
5687         { 1.0f / 32767.0f, 1.0f / 32767.0f, 1.0f / 32767.0f, 0 }, // To float scale factor
5688         1, // bcWidth
5689         1, // bcHeight
5690     },
5691 
5692     // R16G16B16_SSCALED (0x19E)
5693     {
5694         "R16G16B16_SSCALED",
5695         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN },
5696         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5697         { 0, 1, 2, 0 }, // Swizzle
5698         { 16, 16, 16, 0 }, // Bits per component
5699         48, // Bits per element
5700         6, // Bytes per element
5701         3, // Num components
5702         false, // isSRGB
5703         false, // isBC
5704         false, // isSubsampled
5705         false, // isLuminance
5706         { false, false, false, false }, // Is normalized?
5707         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5708         1, // bcWidth
5709         1, // bcHeight
5710     },
5711 
5712     // R16G16B16_USCALED (0x19F)
5713     {
5714         "R16G16B16_USCALED",
5715         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN },
5716         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5717         { 0, 1, 2, 0 }, // Swizzle
5718         { 16, 16, 16, 0 }, // Bits per component
5719         48, // Bits per element
5720         6, // Bytes per element
5721         3, // Num components
5722         false, // isSRGB
5723         false, // isBC
5724         false, // isSubsampled
5725         false, // isLuminance
5726         { false, false, false, false }, // Is normalized?
5727         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5728         1, // bcWidth
5729         1, // bcHeight
5730     },
5731 
5732     // padding (0x1A0)
5733     {
5734         nullptr,
5735         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5736         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5737         0, 0, 0, false, false, false, false,
5738         { false, false, false, false },
5739         { 0.0f, 0.0f, 0.0f, 0.0f },
5740         1, 1
5741     },
5742     // BC6H_SF16 (0x1A1)
5743     {
5744         "BC6H_SF16",
5745         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5746         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5747         { 0, 1, 2, 3 }, // Swizzle
5748         { 8, 8, 8, 8 }, // Bits per component
5749         128, // Bits per element
5750         16, // Bytes per element
5751         1, // Num components
5752         false, // isSRGB
5753         true, // isBC
5754         false, // isSubsampled
5755         false, // isLuminance
5756         { true, false, false, false }, // Is normalized?
5757         { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
5758         4, // bcWidth
5759         4, // bcHeight
5760     },
5761 
5762     // BC7_UNORM (0x1A2)
5763     {
5764         "BC7_UNORM",
5765         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5766         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5767         { 0, 1, 2, 3 }, // Swizzle
5768         { 8, 8, 8, 8 }, // Bits per component
5769         128, // Bits per element
5770         16, // Bytes per element
5771         1, // Num components
5772         false, // isSRGB
5773         true, // isBC
5774         false, // isSubsampled
5775         false, // isLuminance
5776         { true, false, false, false }, // Is normalized?
5777         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5778         4, // bcWidth
5779         4, // bcHeight
5780     },
5781 
5782     // BC7_UNORM_SRGB (0x1A3)
5783     {
5784         "BC7_UNORM_SRGB",
5785         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5786         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5787         { 0, 1, 2, 3 }, // Swizzle
5788         { 8, 8, 8, 8 }, // Bits per component
5789         128, // Bits per element
5790         16, // Bytes per element
5791         1, // Num components
5792         true, // isSRGB
5793         true, // isBC
5794         false, // isSubsampled
5795         false, // isLuminance
5796         { true, false, false, false }, // Is normalized?
5797         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5798         4, // bcWidth
5799         4, // bcHeight
5800     },
5801 
5802     // BC6H_UF16 (0x1A4)
5803     {
5804         "BC6H_UF16",
5805         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5806         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5807         { 0, 1, 2, 3 }, // Swizzle
5808         { 8, 8, 8, 8 }, // Bits per component
5809         128, // Bits per element
5810         16, // Bytes per element
5811         1, // Num components
5812         false, // isSRGB
5813         true, // isBC
5814         false, // isSubsampled
5815         false, // isLuminance
5816         { true, false, false, false }, // Is normalized?
5817         { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5818         4, // bcWidth
5819         4, // bcHeight
5820     },
5821 
5822     // padding (0x1A5)
5823     {
5824         nullptr,
5825         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5826         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5827         0, 0, 0, false, false, false, false,
5828         { false, false, false, false },
5829         { 0.0f, 0.0f, 0.0f, 0.0f },
5830         1, 1
5831     },
5832     // padding (0x1A6)
5833     {
5834         nullptr,
5835         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5836         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5837         0, 0, 0, false, false, false, false,
5838         { false, false, false, false },
5839         { 0.0f, 0.0f, 0.0f, 0.0f },
5840         1, 1
5841     },
5842     // padding (0x1A7)
5843     {
5844         nullptr,
5845         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5846         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5847         0, 0, 0, false, false, false, false,
5848         { false, false, false, false },
5849         { 0.0f, 0.0f, 0.0f, 0.0f },
5850         1, 1
5851     },
5852     // R8G8B8_UNORM_SRGB (0x1A8)
5853     {
5854         "R8G8B8_UNORM_SRGB",
5855         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
5856         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5857         { 0, 1, 2, 0 }, // Swizzle
5858         { 8, 8, 8, 0 }, // Bits per component
5859         24, // Bits per element
5860         3, // Bytes per element
5861         3, // Num components
5862         true, // isSRGB
5863         false, // isBC
5864         false, // isSubsampled
5865         false, // isLuminance
5866         { true, true, true, false }, // Is normalized?
5867         { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 0 }, // To float scale factor
5868         1, // bcWidth
5869         1, // bcHeight
5870     },
5871 
5872     // padding (0x1A9)
5873     {
5874         nullptr,
5875         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5876         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5877         0, 0, 0, false, false, false, false,
5878         { false, false, false, false },
5879         { 0.0f, 0.0f, 0.0f, 0.0f },
5880         1, 1
5881     },
5882     // padding (0x1AA)
5883     {
5884         nullptr,
5885         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5886         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5887         0, 0, 0, false, false, false, false,
5888         { false, false, false, false },
5889         { 0.0f, 0.0f, 0.0f, 0.0f },
5890         1, 1
5891     },
5892     // padding (0x1AB)
5893     {
5894         nullptr,
5895         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5896         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5897         0, 0, 0, false, false, false, false,
5898         { false, false, false, false },
5899         { 0.0f, 0.0f, 0.0f, 0.0f },
5900         1, 1
5901     },
5902     // padding (0x1AC)
5903     {
5904         nullptr,
5905         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5906         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5907         0, 0, 0, false, false, false, false,
5908         { false, false, false, false },
5909         { 0.0f, 0.0f, 0.0f, 0.0f },
5910         1, 1
5911     },
5912     // padding (0x1AD)
5913     {
5914         nullptr,
5915         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5916         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5917         0, 0, 0, false, false, false, false,
5918         { false, false, false, false },
5919         { 0.0f, 0.0f, 0.0f, 0.0f },
5920         1, 1
5921     },
5922     // padding (0x1AE)
5923     {
5924         nullptr,
5925         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5926         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5927         0, 0, 0, false, false, false, false,
5928         { false, false, false, false },
5929         { 0.0f, 0.0f, 0.0f, 0.0f },
5930         1, 1
5931     },
5932     // padding (0x1AF)
5933     {
5934         nullptr,
5935         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5936         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5937         0, 0, 0, false, false, false, false,
5938         { false, false, false, false },
5939         { 0.0f, 0.0f, 0.0f, 0.0f },
5940         1, 1
5941     },
5942     // R16G16B16_UINT (0x1B0)
5943     {
5944         "R16G16B16_UINT",
5945         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
5946         { 0, 0, 0, 0x1 }, // Defaults for missing components
5947         { 0, 1, 2, 0 }, // Swizzle
5948         { 16, 16, 16, 0 }, // Bits per component
5949         48, // Bits per element
5950         6, // Bytes per element
5951         3, // Num components
5952         false, // isSRGB
5953         false, // isBC
5954         false, // isSubsampled
5955         false, // isLuminance
5956         { false, false, false, false }, // Is normalized?
5957         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5958         1, // bcWidth
5959         1, // bcHeight
5960     },
5961 
5962     // R16G16B16_SINT (0x1B1)
5963     {
5964         "R16G16B16_SINT",
5965         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
5966         { 0, 0, 0, 0x1 }, // Defaults for missing components
5967         { 0, 1, 2, 0 }, // Swizzle
5968         { 16, 16, 16, 0 }, // Bits per component
5969         48, // Bits per element
5970         6, // Bytes per element
5971         3, // Num components
5972         false, // isSRGB
5973         false, // isBC
5974         false, // isSubsampled
5975         false, // isLuminance
5976         { false, false, false, false }, // Is normalized?
5977         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5978         1, // bcWidth
5979         1, // bcHeight
5980     },
5981 
5982     // R32_SFIXED (0x1B2)
5983     {
5984         "R32_SFIXED",
5985         { SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5986         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5987         { 0, 0, 0, 0 }, // Swizzle
5988         { 32, 0, 0, 0 }, // Bits per component
5989         32, // Bits per element
5990         4, // Bytes per element
5991         1, // Num components
5992         false, // isSRGB
5993         false, // isBC
5994         false, // isSubsampled
5995         false, // isLuminance
5996         { false, false, false, false }, // Is normalized?
5997         { 1.0f, 0, 0, 0 }, // To float scale factor
5998         1, // bcWidth
5999         1, // bcHeight
6000     },
6001 
6002     // R10G10B10A2_SNORM (0x1B3)
6003     {
6004         "R10G10B10A2_SNORM",
6005         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
6006         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6007         { 0, 1, 2, 3 }, // Swizzle
6008         { 10, 10, 10, 2 }, // Bits per component
6009         32, // Bits per element
6010         4, // Bytes per element
6011         4, // Num components
6012         false, // isSRGB
6013         false, // isBC
6014         false, // isSubsampled
6015         false, // isLuminance
6016         { true, true, true, true }, // Is normalized?
6017         { 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 1.0f }, // To float scale factor
6018         1, // bcWidth
6019         1, // bcHeight
6020     },
6021 
6022     // R10G10B10A2_USCALED (0x1B4)
6023     {
6024         "R10G10B10A2_USCALED",
6025         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
6026         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6027         { 0, 1, 2, 3 }, // Swizzle
6028         { 10, 10, 10, 2 }, // Bits per component
6029         32, // Bits per element
6030         4, // Bytes per element
6031         4, // Num components
6032         false, // isSRGB
6033         false, // isBC
6034         false, // isSubsampled
6035         false, // isLuminance
6036         { false, false, false, false }, // Is normalized?
6037         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6038         1, // bcWidth
6039         1, // bcHeight
6040     },
6041 
6042     // R10G10B10A2_SSCALED (0x1B5)
6043     {
6044         "R10G10B10A2_SSCALED",
6045         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
6046         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6047         { 0, 1, 2, 3 }, // Swizzle
6048         { 10, 10, 10, 2 }, // Bits per component
6049         32, // Bits per element
6050         4, // Bytes per element
6051         4, // Num components
6052         false, // isSRGB
6053         false, // isBC
6054         false, // isSubsampled
6055         false, // isLuminance
6056         { false, false, false, false }, // Is normalized?
6057         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6058         1, // bcWidth
6059         1, // bcHeight
6060     },
6061 
6062     // R10G10B10A2_SINT (0x1B6)
6063     {
6064         "R10G10B10A2_SINT",
6065         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
6066         { 0, 0, 0, 0x1 }, // Defaults for missing components
6067         { 0, 1, 2, 3 }, // Swizzle
6068         { 10, 10, 10, 2 }, // Bits per component
6069         32, // Bits per element
6070         4, // Bytes per element
6071         4, // Num components
6072         false, // isSRGB
6073         false, // isBC
6074         false, // isSubsampled
6075         false, // isLuminance
6076         { false, false, false, false }, // Is normalized?
6077         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6078         1, // bcWidth
6079         1, // bcHeight
6080     },
6081 
6082     // B10G10R10A2_SNORM (0x1B7)
6083     {
6084         "B10G10R10A2_SNORM",
6085         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
6086         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6087         { 2, 1, 0, 3 }, // Swizzle
6088         { 10, 10, 10, 2 }, // Bits per component
6089         32, // Bits per element
6090         4, // Bytes per element
6091         4, // Num components
6092         false, // isSRGB
6093         false, // isBC
6094         false, // isSubsampled
6095         false, // isLuminance
6096         { true, true, true, true }, // Is normalized?
6097         { 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 1.0f }, // To float scale factor
6098         1, // bcWidth
6099         1, // bcHeight
6100     },
6101 
6102     // B10G10R10A2_USCALED (0x1B8)
6103     {
6104         "B10G10R10A2_USCALED",
6105         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
6106         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6107         { 2, 1, 0, 3 }, // Swizzle
6108         { 10, 10, 10, 2 }, // Bits per component
6109         32, // Bits per element
6110         4, // Bytes per element
6111         4, // Num components
6112         false, // isSRGB
6113         false, // isBC
6114         false, // isSubsampled
6115         false, // isLuminance
6116         { false, false, false, false }, // Is normalized?
6117         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6118         1, // bcWidth
6119         1, // bcHeight
6120     },
6121 
6122     // B10G10R10A2_SSCALED (0x1B9)
6123     {
6124         "B10G10R10A2_SSCALED",
6125         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
6126         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6127         { 2, 1, 0, 3 }, // Swizzle
6128         { 10, 10, 10, 2 }, // Bits per component
6129         32, // Bits per element
6130         4, // Bytes per element
6131         4, // Num components
6132         false, // isSRGB
6133         false, // isBC
6134         false, // isSubsampled
6135         false, // isLuminance
6136         { false, false, false, false }, // Is normalized?
6137         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6138         1, // bcWidth
6139         1, // bcHeight
6140     },
6141 
6142     // B10G10R10A2_UINT (0x1BA)
6143     {
6144         "B10G10R10A2_UINT",
6145         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
6146         { 0, 0, 0, 0x1 }, // Defaults for missing components
6147         { 2, 1, 0, 3 }, // Swizzle
6148         { 10, 10, 10, 2 }, // Bits per component
6149         32, // Bits per element
6150         4, // Bytes per element
6151         4, // Num components
6152         false, // isSRGB
6153         false, // isBC
6154         false, // isSubsampled
6155         false, // isLuminance
6156         { false, false, false, false }, // Is normalized?
6157         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6158         1, // bcWidth
6159         1, // bcHeight
6160     },
6161 
6162     // B10G10R10A2_SINT (0x1BB)
6163     {
6164         "B10G10R10A2_SINT",
6165         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
6166         { 0, 0, 0, 0x1 }, // Defaults for missing components
6167         { 2, 1, 0, 3 }, // Swizzle
6168         { 10, 10, 10, 2 }, // Bits per component
6169         32, // Bits per element
6170         4, // Bytes per element
6171         4, // Num components
6172         false, // isSRGB
6173         false, // isBC
6174         false, // isSubsampled
6175         false, // isLuminance
6176         { false, false, false, false }, // Is normalized?
6177         { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6178         1, // bcWidth
6179         1, // bcHeight
6180     },
6181 
6182     // padding (0x1BC)
6183     {
6184         nullptr,
6185         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6186         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6187         0, 0, 0, false, false, false, false,
6188         { false, false, false, false },
6189         { 0.0f, 0.0f, 0.0f, 0.0f },
6190         1, 1
6191     },
6192     // padding (0x1BD)
6193     {
6194         nullptr,
6195         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6196         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6197         0, 0, 0, false, false, false, false,
6198         { false, false, false, false },
6199         { 0.0f, 0.0f, 0.0f, 0.0f },
6200         1, 1
6201     },
6202     // padding (0x1BE)
6203     {
6204         nullptr,
6205         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6206         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6207         0, 0, 0, false, false, false, false,
6208         { false, false, false, false },
6209         { 0.0f, 0.0f, 0.0f, 0.0f },
6210         1, 1
6211     },
6212     // padding (0x1BF)
6213     {
6214         nullptr,
6215         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6216         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6217         0, 0, 0, false, false, false, false,
6218         { false, false, false, false },
6219         { 0.0f, 0.0f, 0.0f, 0.0f },
6220         1, 1
6221     },
6222     // padding (0x1C0)
6223     {
6224         nullptr,
6225         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6226         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6227         0, 0, 0, false, false, false, false,
6228         { false, false, false, false },
6229         { 0.0f, 0.0f, 0.0f, 0.0f },
6230         1, 1
6231     },
6232     // padding (0x1C1)
6233     {
6234         nullptr,
6235         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6236         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6237         0, 0, 0, false, false, false, false,
6238         { false, false, false, false },
6239         { 0.0f, 0.0f, 0.0f, 0.0f },
6240         1, 1
6241     },
6242     // padding (0x1C2)
6243     {
6244         nullptr,
6245         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6246         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6247         0, 0, 0, false, false, false, false,
6248         { false, false, false, false },
6249         { 0.0f, 0.0f, 0.0f, 0.0f },
6250         1, 1
6251     },
6252     // padding (0x1C3)
6253     {
6254         nullptr,
6255         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6256         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6257         0, 0, 0, false, false, false, false,
6258         { false, false, false, false },
6259         { 0.0f, 0.0f, 0.0f, 0.0f },
6260         1, 1
6261     },
6262     // padding (0x1C4)
6263     {
6264         nullptr,
6265         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6266         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6267         0, 0, 0, false, false, false, false,
6268         { false, false, false, false },
6269         { 0.0f, 0.0f, 0.0f, 0.0f },
6270         1, 1
6271     },
6272     // padding (0x1C5)
6273     {
6274         nullptr,
6275         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6276         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6277         0, 0, 0, false, false, false, false,
6278         { false, false, false, false },
6279         { 0.0f, 0.0f, 0.0f, 0.0f },
6280         1, 1
6281     },
6282     // padding (0x1C6)
6283     {
6284         nullptr,
6285         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6286         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6287         0, 0, 0, false, false, false, false,
6288         { false, false, false, false },
6289         { 0.0f, 0.0f, 0.0f, 0.0f },
6290         1, 1
6291     },
6292     // padding (0x1C7)
6293     {
6294         nullptr,
6295         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6296         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6297         0, 0, 0, false, false, false, false,
6298         { false, false, false, false },
6299         { 0.0f, 0.0f, 0.0f, 0.0f },
6300         1, 1
6301     },
6302     // R8G8B8_UINT (0x1C8)
6303     {
6304         "R8G8B8_UINT",
6305         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
6306         { 0, 0, 0, 0x1 }, // Defaults for missing components
6307         { 0, 1, 2, 0 }, // Swizzle
6308         { 8, 8, 8, 0 }, // Bits per component
6309         24, // Bits per element
6310         3, // Bytes per element
6311         3, // Num components
6312         false, // isSRGB
6313         false, // isBC
6314         false, // isSubsampled
6315         false, // isLuminance
6316         { false, false, false, false }, // Is normalized?
6317         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
6318         1, // bcWidth
6319         1, // bcHeight
6320     },
6321 
6322     // R8G8B8_SINT (0x1C9)
6323     {
6324         "R8G8B8_SINT",
6325         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
6326         { 0, 0, 0, 0x1 }, // Defaults for missing components
6327         { 0, 1, 2, 0 }, // Swizzle
6328         { 8, 8, 8, 0 }, // Bits per component
6329         24, // Bits per element
6330         3, // Bytes per element
6331         3, // Num components
6332         false, // isSRGB
6333         false, // isBC
6334         false, // isSubsampled
6335         false, // isLuminance
6336         { false, false, false, false }, // Is normalized?
6337         { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
6338         1, // bcWidth
6339         1, // bcHeight
6340     },
6341 
6342     // padding (0x1CA)
6343     {
6344         nullptr,
6345         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6346         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6347         0, 0, 0, false, false, false, false,
6348         { false, false, false, false },
6349         { 0.0f, 0.0f, 0.0f, 0.0f },
6350         1, 1
6351     },
6352     // padding (0x1CB)
6353     {
6354         nullptr,
6355         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6356         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6357         0, 0, 0, false, false, false, false,
6358         { false, false, false, false },
6359         { 0.0f, 0.0f, 0.0f, 0.0f },
6360         1, 1
6361     },
6362     // padding (0x1CC)
6363     {
6364         nullptr,
6365         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6366         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6367         0, 0, 0, false, false, false, false,
6368         { false, false, false, false },
6369         { 0.0f, 0.0f, 0.0f, 0.0f },
6370         1, 1
6371     },
6372     // padding (0x1CD)
6373     {
6374         nullptr,
6375         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6376         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6377         0, 0, 0, false, false, false, false,
6378         { false, false, false, false },
6379         { 0.0f, 0.0f, 0.0f, 0.0f },
6380         1, 1
6381     },
6382     // padding (0x1CE)
6383     {
6384         nullptr,
6385         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6386         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6387         0, 0, 0, false, false, false, false,
6388         { false, false, false, false },
6389         { 0.0f, 0.0f, 0.0f, 0.0f },
6390         1, 1
6391     },
6392     // padding (0x1CF)
6393     {
6394         nullptr,
6395         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6396         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6397         0, 0, 0, false, false, false, false,
6398         { false, false, false, false },
6399         { 0.0f, 0.0f, 0.0f, 0.0f },
6400         1, 1
6401     },
6402     // padding (0x1D0)
6403     {
6404         nullptr,
6405         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6406         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6407         0, 0, 0, false, false, false, false,
6408         { false, false, false, false },
6409         { 0.0f, 0.0f, 0.0f, 0.0f },
6410         1, 1
6411     },
6412     // padding (0x1D1)
6413     {
6414         nullptr,
6415         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6416         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6417         0, 0, 0, false, false, false, false,
6418         { false, false, false, false },
6419         { 0.0f, 0.0f, 0.0f, 0.0f },
6420         1, 1
6421     },
6422     // padding (0x1D2)
6423     {
6424         nullptr,
6425         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6426         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6427         0, 0, 0, false, false, false, false,
6428         { false, false, false, false },
6429         { 0.0f, 0.0f, 0.0f, 0.0f },
6430         1, 1
6431     },
6432     // padding (0x1D3)
6433     {
6434         nullptr,
6435         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6436         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6437         0, 0, 0, false, false, false, false,
6438         { false, false, false, false },
6439         { 0.0f, 0.0f, 0.0f, 0.0f },
6440         1, 1
6441     },
6442     // padding (0x1D4)
6443     {
6444         nullptr,
6445         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6446         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6447         0, 0, 0, false, false, false, false,
6448         { false, false, false, false },
6449         { 0.0f, 0.0f, 0.0f, 0.0f },
6450         1, 1
6451     },
6452     // padding (0x1D5)
6453     {
6454         nullptr,
6455         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6456         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6457         0, 0, 0, false, false, false, false,
6458         { false, false, false, false },
6459         { 0.0f, 0.0f, 0.0f, 0.0f },
6460         1, 1
6461     },
6462     // padding (0x1D6)
6463     {
6464         nullptr,
6465         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6466         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6467         0, 0, 0, false, false, false, false,
6468         { false, false, false, false },
6469         { 0.0f, 0.0f, 0.0f, 0.0f },
6470         1, 1
6471     },
6472     // padding (0x1D7)
6473     {
6474         nullptr,
6475         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6476         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6477         0, 0, 0, false, false, false, false,
6478         { false, false, false, false },
6479         { 0.0f, 0.0f, 0.0f, 0.0f },
6480         1, 1
6481     },
6482     // padding (0x1D8)
6483     {
6484         nullptr,
6485         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6486         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6487         0, 0, 0, false, false, false, false,
6488         { false, false, false, false },
6489         { 0.0f, 0.0f, 0.0f, 0.0f },
6490         1, 1
6491     },
6492     // padding (0x1D9)
6493     {
6494         nullptr,
6495         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6496         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6497         0, 0, 0, false, false, false, false,
6498         { false, false, false, false },
6499         { 0.0f, 0.0f, 0.0f, 0.0f },
6500         1, 1
6501     },
6502     // padding (0x1DA)
6503     {
6504         nullptr,
6505         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6506         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6507         0, 0, 0, false, false, false, false,
6508         { false, false, false, false },
6509         { 0.0f, 0.0f, 0.0f, 0.0f },
6510         1, 1
6511     },
6512     // padding (0x1DB)
6513     {
6514         nullptr,
6515         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6516         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6517         0, 0, 0, false, false, false, false,
6518         { false, false, false, false },
6519         { 0.0f, 0.0f, 0.0f, 0.0f },
6520         1, 1
6521     },
6522     // padding (0x1DC)
6523     {
6524         nullptr,
6525         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6526         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6527         0, 0, 0, false, false, false, false,
6528         { false, false, false, false },
6529         { 0.0f, 0.0f, 0.0f, 0.0f },
6530         1, 1
6531     },
6532     // padding (0x1DD)
6533     {
6534         nullptr,
6535         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6536         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6537         0, 0, 0, false, false, false, false,
6538         { false, false, false, false },
6539         { 0.0f, 0.0f, 0.0f, 0.0f },
6540         1, 1
6541     },
6542     // padding (0x1DE)
6543     {
6544         nullptr,
6545         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6546         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6547         0, 0, 0, false, false, false, false,
6548         { false, false, false, false },
6549         { 0.0f, 0.0f, 0.0f, 0.0f },
6550         1, 1
6551     },
6552     // padding (0x1DF)
6553     {
6554         nullptr,
6555         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6556         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6557         0, 0, 0, false, false, false, false,
6558         { false, false, false, false },
6559         { 0.0f, 0.0f, 0.0f, 0.0f },
6560         1, 1
6561     },
6562     // padding (0x1E0)
6563     {
6564         nullptr,
6565         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6566         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6567         0, 0, 0, false, false, false, false,
6568         { false, false, false, false },
6569         { 0.0f, 0.0f, 0.0f, 0.0f },
6570         1, 1
6571     },
6572     // padding (0x1E1)
6573     {
6574         nullptr,
6575         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6576         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6577         0, 0, 0, false, false, false, false,
6578         { false, false, false, false },
6579         { 0.0f, 0.0f, 0.0f, 0.0f },
6580         1, 1
6581     },
6582     // padding (0x1E2)
6583     {
6584         nullptr,
6585         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6586         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6587         0, 0, 0, false, false, false, false,
6588         { false, false, false, false },
6589         { 0.0f, 0.0f, 0.0f, 0.0f },
6590         1, 1
6591     },
6592     // padding (0x1E3)
6593     {
6594         nullptr,
6595         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6596         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6597         0, 0, 0, false, false, false, false,
6598         { false, false, false, false },
6599         { 0.0f, 0.0f, 0.0f, 0.0f },
6600         1, 1
6601     },
6602     // padding (0x1E4)
6603     {
6604         nullptr,
6605         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6606         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6607         0, 0, 0, false, false, false, false,
6608         { false, false, false, false },
6609         { 0.0f, 0.0f, 0.0f, 0.0f },
6610         1, 1
6611     },
6612     // padding (0x1E5)
6613     {
6614         nullptr,
6615         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6616         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6617         0, 0, 0, false, false, false, false,
6618         { false, false, false, false },
6619         { 0.0f, 0.0f, 0.0f, 0.0f },
6620         1, 1
6621     },
6622     // padding (0x1E6)
6623     {
6624         nullptr,
6625         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6626         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6627         0, 0, 0, false, false, false, false,
6628         { false, false, false, false },
6629         { 0.0f, 0.0f, 0.0f, 0.0f },
6630         1, 1
6631     },
6632     // padding (0x1E7)
6633     {
6634         nullptr,
6635         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6636         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6637         0, 0, 0, false, false, false, false,
6638         { false, false, false, false },
6639         { 0.0f, 0.0f, 0.0f, 0.0f },
6640         1, 1
6641     },
6642     // padding (0x1E8)
6643     {
6644         nullptr,
6645         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6646         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6647         0, 0, 0, false, false, false, false,
6648         { false, false, false, false },
6649         { 0.0f, 0.0f, 0.0f, 0.0f },
6650         1, 1
6651     },
6652     // padding (0x1E9)
6653     {
6654         nullptr,
6655         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6656         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6657         0, 0, 0, false, false, false, false,
6658         { false, false, false, false },
6659         { 0.0f, 0.0f, 0.0f, 0.0f },
6660         1, 1
6661     },
6662     // padding (0x1EA)
6663     {
6664         nullptr,
6665         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6666         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6667         0, 0, 0, false, false, false, false,
6668         { false, false, false, false },
6669         { 0.0f, 0.0f, 0.0f, 0.0f },
6670         1, 1
6671     },
6672     // padding (0x1EB)
6673     {
6674         nullptr,
6675         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6676         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6677         0, 0, 0, false, false, false, false,
6678         { false, false, false, false },
6679         { 0.0f, 0.0f, 0.0f, 0.0f },
6680         1, 1
6681     },
6682     // padding (0x1EC)
6683     {
6684         nullptr,
6685         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6686         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6687         0, 0, 0, false, false, false, false,
6688         { false, false, false, false },
6689         { 0.0f, 0.0f, 0.0f, 0.0f },
6690         1, 1
6691     },
6692     // padding (0x1ED)
6693     {
6694         nullptr,
6695         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6696         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6697         0, 0, 0, false, false, false, false,
6698         { false, false, false, false },
6699         { 0.0f, 0.0f, 0.0f, 0.0f },
6700         1, 1
6701     },
6702     // padding (0x1EE)
6703     {
6704         nullptr,
6705         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6706         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6707         0, 0, 0, false, false, false, false,
6708         { false, false, false, false },
6709         { 0.0f, 0.0f, 0.0f, 0.0f },
6710         1, 1
6711     },
6712     // padding (0x1EF)
6713     {
6714         nullptr,
6715         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6716         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6717         0, 0, 0, false, false, false, false,
6718         { false, false, false, false },
6719         { 0.0f, 0.0f, 0.0f, 0.0f },
6720         1, 1
6721     },
6722     // padding (0x1F0)
6723     {
6724         nullptr,
6725         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6726         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6727         0, 0, 0, false, false, false, false,
6728         { false, false, false, false },
6729         { 0.0f, 0.0f, 0.0f, 0.0f },
6730         1, 1
6731     },
6732     // padding (0x1F1)
6733     {
6734         nullptr,
6735         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6736         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6737         0, 0, 0, false, false, false, false,
6738         { false, false, false, false },
6739         { 0.0f, 0.0f, 0.0f, 0.0f },
6740         1, 1
6741     },
6742     // padding (0x1F2)
6743     {
6744         nullptr,
6745         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6746         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6747         0, 0, 0, false, false, false, false,
6748         { false, false, false, false },
6749         { 0.0f, 0.0f, 0.0f, 0.0f },
6750         1, 1
6751     },
6752     // padding (0x1F3)
6753     {
6754         nullptr,
6755         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6756         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6757         0, 0, 0, false, false, false, false,
6758         { false, false, false, false },
6759         { 0.0f, 0.0f, 0.0f, 0.0f },
6760         1, 1
6761     },
6762     // padding (0x1F4)
6763     {
6764         nullptr,
6765         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6766         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6767         0, 0, 0, false, false, false, false,
6768         { false, false, false, false },
6769         { 0.0f, 0.0f, 0.0f, 0.0f },
6770         1, 1
6771     },
6772     // padding (0x1F5)
6773     {
6774         nullptr,
6775         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6776         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6777         0, 0, 0, false, false, false, false,
6778         { false, false, false, false },
6779         { 0.0f, 0.0f, 0.0f, 0.0f },
6780         1, 1
6781     },
6782     // padding (0x1F6)
6783     {
6784         nullptr,
6785         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6786         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6787         0, 0, 0, false, false, false, false,
6788         { false, false, false, false },
6789         { 0.0f, 0.0f, 0.0f, 0.0f },
6790         1, 1
6791     },
6792     // padding (0x1F7)
6793     {
6794         nullptr,
6795         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6796         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6797         0, 0, 0, false, false, false, false,
6798         { false, false, false, false },
6799         { 0.0f, 0.0f, 0.0f, 0.0f },
6800         1, 1
6801     },
6802     // padding (0x1F8)
6803     {
6804         nullptr,
6805         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6806         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6807         0, 0, 0, false, false, false, false,
6808         { false, false, false, false },
6809         { 0.0f, 0.0f, 0.0f, 0.0f },
6810         1, 1
6811     },
6812     // padding (0x1F9)
6813     {
6814         nullptr,
6815         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6816         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6817         0, 0, 0, false, false, false, false,
6818         { false, false, false, false },
6819         { 0.0f, 0.0f, 0.0f, 0.0f },
6820         1, 1
6821     },
6822     // padding (0x1FA)
6823     {
6824         nullptr,
6825         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6826         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6827         0, 0, 0, false, false, false, false,
6828         { false, false, false, false },
6829         { 0.0f, 0.0f, 0.0f, 0.0f },
6830         1, 1
6831     },
6832     // padding (0x1FB)
6833     {
6834         nullptr,
6835         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6836         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6837         0, 0, 0, false, false, false, false,
6838         { false, false, false, false },
6839         { 0.0f, 0.0f, 0.0f, 0.0f },
6840         1, 1
6841     },
6842     // padding (0x1FC)
6843     {
6844         nullptr,
6845         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6846         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6847         0, 0, 0, false, false, false, false,
6848         { false, false, false, false },
6849         { 0.0f, 0.0f, 0.0f, 0.0f },
6850         1, 1
6851     },
6852     // padding (0x1FD)
6853     {
6854         nullptr,
6855         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6856         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6857         0, 0, 0, false, false, false, false,
6858         { false, false, false, false },
6859         { 0.0f, 0.0f, 0.0f, 0.0f },
6860         1, 1
6861     },
6862     // padding (0x1FE)
6863     {
6864         nullptr,
6865         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6866         { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6867         0, 0, 0, false, false, false, false,
6868         { false, false, false, false },
6869         { 0.0f, 0.0f, 0.0f, 0.0f },
6870         1, 1
6871     },
6872     // RAW (0x1FF)
6873     {
6874         "RAW",
6875         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6876         { 0, 0, 0, 0x1 }, // Defaults for missing components
6877         { 0, 1, 2, 3 }, // Swizzle
6878         { 8, 0, 0, 0 }, // Bits per component
6879         8, // Bits per element
6880         1, // Bytes per element
6881         1, // Num components
6882         false, // isSRGB
6883         false, // isBC
6884         false, // isSubsampled
6885         false, // isLuminance
6886         { false, false, false, false }, // Is normalized?
6887         { 1.0f, 0, 0, 0 }, // To float scale factor
6888         1, // bcWidth
6889         1, // bcHeight
6890     },
6891 };
6892 
6893