swr/rast: add support for DX1_RGB{_SRGB} formats
[mesa.git] / src / gallium / drivers / swr / rasterizer / common / formats.cpp
1 /****************************************************************************
2 * Copyright (C) 2016 Intel Corporation. All Rights Reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21 * IN THE SOFTWARE.
22 *
23 * @file formats.cpp
24 *
25 * @brief auto-generated file
26 *
27 * DO NOT EDIT
28 *
29 ******************************************************************************/
30
31 #include "formats.h"
32
33 // lookup table for unorm8 srgb -> float conversion
34 const uint32_t srgb8Table[256] = {
35 0x00000000, 0x399f22b4, 0x3a1f22b4, 0x3a6eb40f, 0x3a9f22b4, 0x3ac6eb61, 0x3aeeb40f, 0x3b0b3e5e,
36 0x3b1f22b4, 0x3b33070b, 0x3b46eb61, 0x3b5b518d, 0x3b70f18d, 0x3b83e1c6, 0x3b8fe616, 0x3b9c87fd,
37 0x3ba9c9b5, 0x3bb7ad6f, 0x3bc63549, 0x3bd5635f, 0x3be539c1, 0x3bf5ba70, 0x3c0373b5, 0x3c0c6152,
38 0x3c15a703, 0x3c1f45be, 0x3c293e6b, 0x3c3391f7, 0x3c3e4149, 0x3c494d43, 0x3c54b6c7, 0x3c607eb1,
39 0x3c6ca5dc, 0x3c792d22, 0x3c830aa8, 0x3c89af9f, 0x3c9085db, 0x3c978dc5, 0x3c9ec7c0, 0x3ca63431,
40 0x3cadd37d, 0x3cb5a601, 0x3cbdac20, 0x3cc5e639, 0x3cce54ab, 0x3cd6f7d3, 0x3cdfd00e, 0x3ce8ddb9,
41 0x3cf22131, 0x3cfb9ac6, 0x3d02a56c, 0x3d0798df, 0x3d0ca7e7, 0x3d11d2b0, 0x3d171965, 0x3d1c7c31,
42 0x3d21fb3c, 0x3d2796b2, 0x3d2d4ebe, 0x3d332384, 0x3d39152e, 0x3d3f23e6, 0x3d454fd4, 0x3d4b991f,
43 0x3d51ffef, 0x3d58846a, 0x3d5f26b7, 0x3d65e6fe, 0x3d6cc564, 0x3d73c20f, 0x3d7add25, 0x3d810b66,
44 0x3d84b795, 0x3d887330, 0x3d8c3e4a, 0x3d9018f6, 0x3d940345, 0x3d97fd4a, 0x3d9c0716, 0x3da020bb,
45 0x3da44a4b, 0x3da883d7, 0x3daccd70, 0x3db12728, 0x3db59110, 0x3dba0b38, 0x3dbe95b5, 0x3dc33092,
46 0x3dc7dbe2, 0x3dcc97b6, 0x3dd1641f, 0x3dd6412c, 0x3ddb2eef, 0x3de02d77, 0x3de53cd5, 0x3dea5d19,
47 0x3def8e55, 0x3df4d093, 0x3dfa23e8, 0x3dff8861, 0x3e027f07, 0x3e054282, 0x3e080ea5, 0x3e0ae379,
48 0x3e0dc107, 0x3e10a755, 0x3e13966c, 0x3e168e53, 0x3e198f11, 0x3e1c98ae, 0x3e1fab32, 0x3e22c6a3,
49 0x3e25eb09, 0x3e29186c, 0x3e2c4ed2, 0x3e2f8e45, 0x3e32d6c8, 0x3e362865, 0x3e398322, 0x3e3ce706,
50 0x3e405419, 0x3e43ca62, 0x3e4749e8, 0x3e4ad2b1, 0x3e4e64c6, 0x3e52002b, 0x3e55a4e9, 0x3e595307,
51 0x3e5d0a8b, 0x3e60cb7c, 0x3e6495e0, 0x3e6869bf, 0x3e6c4720, 0x3e702e08, 0x3e741e7f, 0x3e78188c,
52 0x3e7c1c38, 0x3e8014c2, 0x3e82203c, 0x3e84308d, 0x3e8645ba, 0x3e885fc5, 0x3e8a7eb2, 0x3e8ca283,
53 0x3e8ecb3d, 0x3e90f8e1, 0x3e932b74, 0x3e9562f8, 0x3e979f71, 0x3e99e0e2, 0x3e9c274e, 0x3e9e72b7,
54 0x3ea0c322, 0x3ea31892, 0x3ea57308, 0x3ea7d289, 0x3eaa3718, 0x3eaca0b7, 0x3eaf0f69, 0x3eb18333,
55 0x3eb3fc16, 0x3eb67a15, 0x3eb8fd34, 0x3ebb8576, 0x3ebe12e1, 0x3ec0a571, 0x3ec33d2d, 0x3ec5da17,
56 0x3ec87c33, 0x3ecb2383, 0x3ecdd00b, 0x3ed081cd, 0x3ed338cc, 0x3ed5f50b, 0x3ed8b68d, 0x3edb7d54,
57 0x3ede4965, 0x3ee11ac1, 0x3ee3f16b, 0x3ee6cd67, 0x3ee9aeb6, 0x3eec955d, 0x3eef815d, 0x3ef272ba,
58 0x3ef56976, 0x3ef86594, 0x3efb6717, 0x3efe6e02, 0x3f00bd2b, 0x3f02460c, 0x3f03d1a5, 0x3f055ff8,
59 0x3f06f106, 0x3f0884cf, 0x3f0a1b57, 0x3f0bb49d, 0x3f0d50a2, 0x3f0eef69, 0x3f1090f2, 0x3f123540,
60 0x3f13dc53, 0x3f15862d, 0x3f1732cf, 0x3f18e23b, 0x3f1a9471, 0x3f1c4973, 0x3f1e0143, 0x3f1fbbe1,
61 0x3f217950, 0x3f23398f, 0x3f24fca2, 0x3f26c288, 0x3f288b43, 0x3f2a56d5, 0x3f2c253f, 0x3f2df681,
62 0x3f2fca9e, 0x3f31a197, 0x3f337b6c, 0x3f355820, 0x3f3737b3, 0x3f391a26, 0x3f3aff7e, 0x3f3ce7b7,
63 0x3f3ed2d4, 0x3f40c0d6, 0x3f42b1c0, 0x3f44a592, 0x3f469c4d, 0x3f4895f3, 0x3f4a9284, 0x3f4c9203,
64 0x3f4e9470, 0x3f5099cd, 0x3f52a21a, 0x3f54ad59, 0x3f56bb8c, 0x3f58ccb3, 0x3f5ae0cf, 0x3f5cf7e2,
65 0x3f5f11ee, 0x3f612ef2, 0x3f634eef, 0x3f6571ec, 0x3f6797e1, 0x3f69c0d8, 0x3f6beccb, 0x3f6e1bc2,
66 0x3f704db6, 0x3f7282b1, 0x3f74baae, 0x3f76f5b3, 0x3f7933b9, 0x3f7b74cb, 0x3f7db8e0, 0x3f800000,
67 };
68
69 // order must match SWR_FORMAT
70 const SWR_FORMAT_INFO gFormatInfo[] = {
71
72 // R32G32B32A32_FLOAT (0x0)
73 {
74 "R32G32B32A32_FLOAT",
75 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT },
76 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
77 { 0, 1, 2, 3 }, // Swizzle
78 { 32, 32, 32, 32 }, // Bits per component
79 128, // Bits per element
80 16, // Bytes per element
81 4, // Num components
82 false, // isSRGB
83 false, // isBC
84 false, // isSubsampled
85 false, // isLuminance
86 { false, false, false, false }, // Is normalized?
87 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
88 1, // bcWidth
89 1, // bcHeight
90 },
91
92 // R32G32B32A32_SINT (0x1)
93 {
94 "R32G32B32A32_SINT",
95 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
96 { 0, 0, 0, 0x1 }, // Defaults for missing components
97 { 0, 1, 2, 3 }, // Swizzle
98 { 32, 32, 32, 32 }, // Bits per component
99 128, // Bits per element
100 16, // Bytes per element
101 4, // Num components
102 false, // isSRGB
103 false, // isBC
104 false, // isSubsampled
105 false, // isLuminance
106 { false, false, false, false }, // Is normalized?
107 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
108 1, // bcWidth
109 1, // bcHeight
110 },
111
112 // R32G32B32A32_UINT (0x2)
113 {
114 "R32G32B32A32_UINT",
115 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
116 { 0, 0, 0, 0x1 }, // Defaults for missing components
117 { 0, 1, 2, 3 }, // Swizzle
118 { 32, 32, 32, 32 }, // Bits per component
119 128, // Bits per element
120 16, // Bytes per element
121 4, // Num components
122 false, // isSRGB
123 false, // isBC
124 false, // isSubsampled
125 false, // isLuminance
126 { false, false, false, false }, // Is normalized?
127 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
128 1, // bcWidth
129 1, // bcHeight
130 },
131
132 // padding (0x3)
133 {
134 nullptr,
135 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
136 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
137 0, 0, 0, false, false, false, false,
138 { false, false, false, false },
139 { 0.0f, 0.0f, 0.0f, 0.0f },
140 1, 1
141 },
142 // padding (0x4)
143 {
144 nullptr,
145 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
146 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
147 0, 0, 0, false, false, false, false,
148 { false, false, false, false },
149 { 0.0f, 0.0f, 0.0f, 0.0f },
150 1, 1
151 },
152 // R64G64_FLOAT (0x5)
153 {
154 "R64G64_FLOAT",
155 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
156 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
157 { 0, 1, 0, 0 }, // Swizzle
158 { 64, 64, 0, 0 }, // Bits per component
159 128, // Bits per element
160 16, // Bytes per element
161 2, // Num components
162 false, // isSRGB
163 false, // isBC
164 false, // isSubsampled
165 false, // isLuminance
166 { false, false, false, false }, // Is normalized?
167 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
168 1, // bcWidth
169 1, // bcHeight
170 },
171
172 // R32G32B32X32_FLOAT (0x6)
173 {
174 "R32G32B32X32_FLOAT",
175 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNUSED },
176 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
177 { 0, 1, 2, 3 }, // Swizzle
178 { 32, 32, 32, 32 }, // Bits per component
179 128, // Bits per element
180 16, // Bytes per element
181 4, // Num components
182 false, // isSRGB
183 false, // isBC
184 false, // isSubsampled
185 false, // isLuminance
186 { false, false, false, false }, // Is normalized?
187 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
188 1, // bcWidth
189 1, // bcHeight
190 },
191
192 // R32G32B32A32_SSCALED (0x7)
193 {
194 "R32G32B32A32_SSCALED",
195 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
196 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
197 { 0, 1, 2, 3 }, // Swizzle
198 { 32, 32, 32, 32 }, // Bits per component
199 128, // Bits per element
200 16, // Bytes per element
201 4, // Num components
202 false, // isSRGB
203 false, // isBC
204 false, // isSubsampled
205 false, // isLuminance
206 { false, false, false, false }, // Is normalized?
207 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
208 1, // bcWidth
209 1, // bcHeight
210 },
211
212 // R32G32B32A32_USCALED (0x8)
213 {
214 "R32G32B32A32_USCALED",
215 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
216 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
217 { 0, 1, 2, 3 }, // Swizzle
218 { 32, 32, 32, 32 }, // Bits per component
219 128, // Bits per element
220 16, // Bytes per element
221 4, // Num components
222 false, // isSRGB
223 false, // isBC
224 false, // isSubsampled
225 false, // isLuminance
226 { false, false, false, false }, // Is normalized?
227 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
228 1, // bcWidth
229 1, // bcHeight
230 },
231
232 // padding (0x9)
233 {
234 nullptr,
235 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
236 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
237 0, 0, 0, false, false, false, false,
238 { false, false, false, false },
239 { 0.0f, 0.0f, 0.0f, 0.0f },
240 1, 1
241 },
242 // padding (0xA)
243 {
244 nullptr,
245 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
246 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
247 0, 0, 0, false, false, false, false,
248 { false, false, false, false },
249 { 0.0f, 0.0f, 0.0f, 0.0f },
250 1, 1
251 },
252 // padding (0xB)
253 {
254 nullptr,
255 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
256 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
257 0, 0, 0, false, false, false, false,
258 { false, false, false, false },
259 { 0.0f, 0.0f, 0.0f, 0.0f },
260 1, 1
261 },
262 // padding (0xC)
263 {
264 nullptr,
265 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
266 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
267 0, 0, 0, false, false, false, false,
268 { false, false, false, false },
269 { 0.0f, 0.0f, 0.0f, 0.0f },
270 1, 1
271 },
272 // padding (0xD)
273 {
274 nullptr,
275 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
276 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
277 0, 0, 0, false, false, false, false,
278 { false, false, false, false },
279 { 0.0f, 0.0f, 0.0f, 0.0f },
280 1, 1
281 },
282 // padding (0xE)
283 {
284 nullptr,
285 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
286 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
287 0, 0, 0, false, false, false, false,
288 { false, false, false, false },
289 { 0.0f, 0.0f, 0.0f, 0.0f },
290 1, 1
291 },
292 // padding (0xF)
293 {
294 nullptr,
295 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
296 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
297 0, 0, 0, false, false, false, false,
298 { false, false, false, false },
299 { 0.0f, 0.0f, 0.0f, 0.0f },
300 1, 1
301 },
302 // padding (0x10)
303 {
304 nullptr,
305 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
306 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
307 0, 0, 0, false, false, false, false,
308 { false, false, false, false },
309 { 0.0f, 0.0f, 0.0f, 0.0f },
310 1, 1
311 },
312 // padding (0x11)
313 {
314 nullptr,
315 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
316 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
317 0, 0, 0, false, false, false, false,
318 { false, false, false, false },
319 { 0.0f, 0.0f, 0.0f, 0.0f },
320 1, 1
321 },
322 // padding (0x12)
323 {
324 nullptr,
325 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
326 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
327 0, 0, 0, false, false, false, false,
328 { false, false, false, false },
329 { 0.0f, 0.0f, 0.0f, 0.0f },
330 1, 1
331 },
332 // padding (0x13)
333 {
334 nullptr,
335 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
336 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
337 0, 0, 0, false, false, false, false,
338 { false, false, false, false },
339 { 0.0f, 0.0f, 0.0f, 0.0f },
340 1, 1
341 },
342 // padding (0x14)
343 {
344 nullptr,
345 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
346 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
347 0, 0, 0, false, false, false, false,
348 { false, false, false, false },
349 { 0.0f, 0.0f, 0.0f, 0.0f },
350 1, 1
351 },
352 // padding (0x15)
353 {
354 nullptr,
355 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
356 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
357 0, 0, 0, false, false, false, false,
358 { false, false, false, false },
359 { 0.0f, 0.0f, 0.0f, 0.0f },
360 1, 1
361 },
362 // padding (0x16)
363 {
364 nullptr,
365 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
366 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
367 0, 0, 0, false, false, false, false,
368 { false, false, false, false },
369 { 0.0f, 0.0f, 0.0f, 0.0f },
370 1, 1
371 },
372 // padding (0x17)
373 {
374 nullptr,
375 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
376 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
377 0, 0, 0, false, false, false, false,
378 { false, false, false, false },
379 { 0.0f, 0.0f, 0.0f, 0.0f },
380 1, 1
381 },
382 // padding (0x18)
383 {
384 nullptr,
385 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
386 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
387 0, 0, 0, false, false, false, false,
388 { false, false, false, false },
389 { 0.0f, 0.0f, 0.0f, 0.0f },
390 1, 1
391 },
392 // padding (0x19)
393 {
394 nullptr,
395 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
396 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
397 0, 0, 0, false, false, false, false,
398 { false, false, false, false },
399 { 0.0f, 0.0f, 0.0f, 0.0f },
400 1, 1
401 },
402 // padding (0x1A)
403 {
404 nullptr,
405 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
406 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
407 0, 0, 0, false, false, false, false,
408 { false, false, false, false },
409 { 0.0f, 0.0f, 0.0f, 0.0f },
410 1, 1
411 },
412 // padding (0x1B)
413 {
414 nullptr,
415 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
416 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
417 0, 0, 0, false, false, false, false,
418 { false, false, false, false },
419 { 0.0f, 0.0f, 0.0f, 0.0f },
420 1, 1
421 },
422 // padding (0x1C)
423 {
424 nullptr,
425 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
426 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
427 0, 0, 0, false, false, false, false,
428 { false, false, false, false },
429 { 0.0f, 0.0f, 0.0f, 0.0f },
430 1, 1
431 },
432 // padding (0x1D)
433 {
434 nullptr,
435 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
436 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
437 0, 0, 0, false, false, false, false,
438 { false, false, false, false },
439 { 0.0f, 0.0f, 0.0f, 0.0f },
440 1, 1
441 },
442 // padding (0x1E)
443 {
444 nullptr,
445 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
446 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
447 0, 0, 0, false, false, false, false,
448 { false, false, false, false },
449 { 0.0f, 0.0f, 0.0f, 0.0f },
450 1, 1
451 },
452 // padding (0x1F)
453 {
454 nullptr,
455 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
456 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
457 0, 0, 0, false, false, false, false,
458 { false, false, false, false },
459 { 0.0f, 0.0f, 0.0f, 0.0f },
460 1, 1
461 },
462 // R32G32B32A32_SFIXED (0x20)
463 {
464 "R32G32B32A32_SFIXED",
465 { SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED },
466 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
467 { 0, 1, 2, 3 }, // Swizzle
468 { 32, 32, 32, 32 }, // Bits per component
469 128, // Bits per element
470 16, // Bytes per element
471 4, // Num components
472 false, // isSRGB
473 false, // isBC
474 false, // isSubsampled
475 false, // isLuminance
476 { false, false, false, false }, // Is normalized?
477 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
478 1, // bcWidth
479 1, // bcHeight
480 },
481
482 // padding (0x21)
483 {
484 nullptr,
485 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
486 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
487 0, 0, 0, false, false, false, false,
488 { false, false, false, false },
489 { 0.0f, 0.0f, 0.0f, 0.0f },
490 1, 1
491 },
492 // padding (0x22)
493 {
494 nullptr,
495 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
496 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
497 0, 0, 0, false, false, false, false,
498 { false, false, false, false },
499 { 0.0f, 0.0f, 0.0f, 0.0f },
500 1, 1
501 },
502 // padding (0x23)
503 {
504 nullptr,
505 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
506 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
507 0, 0, 0, false, false, false, false,
508 { false, false, false, false },
509 { 0.0f, 0.0f, 0.0f, 0.0f },
510 1, 1
511 },
512 // padding (0x24)
513 {
514 nullptr,
515 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
516 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
517 0, 0, 0, false, false, false, false,
518 { false, false, false, false },
519 { 0.0f, 0.0f, 0.0f, 0.0f },
520 1, 1
521 },
522 // padding (0x25)
523 {
524 nullptr,
525 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
526 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
527 0, 0, 0, false, false, false, false,
528 { false, false, false, false },
529 { 0.0f, 0.0f, 0.0f, 0.0f },
530 1, 1
531 },
532 // padding (0x26)
533 {
534 nullptr,
535 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
536 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
537 0, 0, 0, false, false, false, false,
538 { false, false, false, false },
539 { 0.0f, 0.0f, 0.0f, 0.0f },
540 1, 1
541 },
542 // padding (0x27)
543 {
544 nullptr,
545 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
546 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
547 0, 0, 0, false, false, false, false,
548 { false, false, false, false },
549 { 0.0f, 0.0f, 0.0f, 0.0f },
550 1, 1
551 },
552 // padding (0x28)
553 {
554 nullptr,
555 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
556 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
557 0, 0, 0, false, false, false, false,
558 { false, false, false, false },
559 { 0.0f, 0.0f, 0.0f, 0.0f },
560 1, 1
561 },
562 // padding (0x29)
563 {
564 nullptr,
565 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
566 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
567 0, 0, 0, false, false, false, false,
568 { false, false, false, false },
569 { 0.0f, 0.0f, 0.0f, 0.0f },
570 1, 1
571 },
572 // padding (0x2A)
573 {
574 nullptr,
575 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
576 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
577 0, 0, 0, false, false, false, false,
578 { false, false, false, false },
579 { 0.0f, 0.0f, 0.0f, 0.0f },
580 1, 1
581 },
582 // padding (0x2B)
583 {
584 nullptr,
585 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
586 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
587 0, 0, 0, false, false, false, false,
588 { false, false, false, false },
589 { 0.0f, 0.0f, 0.0f, 0.0f },
590 1, 1
591 },
592 // padding (0x2C)
593 {
594 nullptr,
595 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
596 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
597 0, 0, 0, false, false, false, false,
598 { false, false, false, false },
599 { 0.0f, 0.0f, 0.0f, 0.0f },
600 1, 1
601 },
602 // padding (0x2D)
603 {
604 nullptr,
605 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
606 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
607 0, 0, 0, false, false, false, false,
608 { false, false, false, false },
609 { 0.0f, 0.0f, 0.0f, 0.0f },
610 1, 1
611 },
612 // padding (0x2E)
613 {
614 nullptr,
615 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
616 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
617 0, 0, 0, false, false, false, false,
618 { false, false, false, false },
619 { 0.0f, 0.0f, 0.0f, 0.0f },
620 1, 1
621 },
622 // padding (0x2F)
623 {
624 nullptr,
625 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
626 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
627 0, 0, 0, false, false, false, false,
628 { false, false, false, false },
629 { 0.0f, 0.0f, 0.0f, 0.0f },
630 1, 1
631 },
632 // padding (0x30)
633 {
634 nullptr,
635 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
636 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
637 0, 0, 0, false, false, false, false,
638 { false, false, false, false },
639 { 0.0f, 0.0f, 0.0f, 0.0f },
640 1, 1
641 },
642 // padding (0x31)
643 {
644 nullptr,
645 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
646 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
647 0, 0, 0, false, false, false, false,
648 { false, false, false, false },
649 { 0.0f, 0.0f, 0.0f, 0.0f },
650 1, 1
651 },
652 // padding (0x32)
653 {
654 nullptr,
655 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
656 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
657 0, 0, 0, false, false, false, false,
658 { false, false, false, false },
659 { 0.0f, 0.0f, 0.0f, 0.0f },
660 1, 1
661 },
662 // padding (0x33)
663 {
664 nullptr,
665 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
666 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
667 0, 0, 0, false, false, false, false,
668 { false, false, false, false },
669 { 0.0f, 0.0f, 0.0f, 0.0f },
670 1, 1
671 },
672 // padding (0x34)
673 {
674 nullptr,
675 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
676 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
677 0, 0, 0, false, false, false, false,
678 { false, false, false, false },
679 { 0.0f, 0.0f, 0.0f, 0.0f },
680 1, 1
681 },
682 // padding (0x35)
683 {
684 nullptr,
685 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
686 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
687 0, 0, 0, false, false, false, false,
688 { false, false, false, false },
689 { 0.0f, 0.0f, 0.0f, 0.0f },
690 1, 1
691 },
692 // padding (0x36)
693 {
694 nullptr,
695 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
696 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
697 0, 0, 0, false, false, false, false,
698 { false, false, false, false },
699 { 0.0f, 0.0f, 0.0f, 0.0f },
700 1, 1
701 },
702 // padding (0x37)
703 {
704 nullptr,
705 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
706 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
707 0, 0, 0, false, false, false, false,
708 { false, false, false, false },
709 { 0.0f, 0.0f, 0.0f, 0.0f },
710 1, 1
711 },
712 // padding (0x38)
713 {
714 nullptr,
715 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
716 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
717 0, 0, 0, false, false, false, false,
718 { false, false, false, false },
719 { 0.0f, 0.0f, 0.0f, 0.0f },
720 1, 1
721 },
722 // padding (0x39)
723 {
724 nullptr,
725 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
726 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
727 0, 0, 0, false, false, false, false,
728 { false, false, false, false },
729 { 0.0f, 0.0f, 0.0f, 0.0f },
730 1, 1
731 },
732 // padding (0x3A)
733 {
734 nullptr,
735 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
736 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
737 0, 0, 0, false, false, false, false,
738 { false, false, false, false },
739 { 0.0f, 0.0f, 0.0f, 0.0f },
740 1, 1
741 },
742 // padding (0x3B)
743 {
744 nullptr,
745 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
746 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
747 0, 0, 0, false, false, false, false,
748 { false, false, false, false },
749 { 0.0f, 0.0f, 0.0f, 0.0f },
750 1, 1
751 },
752 // padding (0x3C)
753 {
754 nullptr,
755 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
756 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
757 0, 0, 0, false, false, false, false,
758 { false, false, false, false },
759 { 0.0f, 0.0f, 0.0f, 0.0f },
760 1, 1
761 },
762 // padding (0x3D)
763 {
764 nullptr,
765 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
766 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
767 0, 0, 0, false, false, false, false,
768 { false, false, false, false },
769 { 0.0f, 0.0f, 0.0f, 0.0f },
770 1, 1
771 },
772 // padding (0x3E)
773 {
774 nullptr,
775 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
776 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
777 0, 0, 0, false, false, false, false,
778 { false, false, false, false },
779 { 0.0f, 0.0f, 0.0f, 0.0f },
780 1, 1
781 },
782 // padding (0x3F)
783 {
784 nullptr,
785 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
786 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
787 0, 0, 0, false, false, false, false,
788 { false, false, false, false },
789 { 0.0f, 0.0f, 0.0f, 0.0f },
790 1, 1
791 },
792 // R32G32B32_FLOAT (0x40)
793 {
794 "R32G32B32_FLOAT",
795 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
796 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
797 { 0, 1, 2, 0 }, // Swizzle
798 { 32, 32, 32, 0 }, // Bits per component
799 96, // Bits per element
800 12, // Bytes per element
801 3, // Num components
802 false, // isSRGB
803 false, // isBC
804 false, // isSubsampled
805 false, // isLuminance
806 { false, false, false, false }, // Is normalized?
807 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
808 1, // bcWidth
809 1, // bcHeight
810 },
811
812 // R32G32B32_SINT (0x41)
813 {
814 "R32G32B32_SINT",
815 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
816 { 0, 0, 0, 0x1 }, // Defaults for missing components
817 { 0, 1, 2, 0 }, // Swizzle
818 { 32, 32, 32, 0 }, // Bits per component
819 96, // Bits per element
820 12, // Bytes per element
821 3, // Num components
822 false, // isSRGB
823 false, // isBC
824 false, // isSubsampled
825 false, // isLuminance
826 { false, false, false, false }, // Is normalized?
827 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
828 1, // bcWidth
829 1, // bcHeight
830 },
831
832 // R32G32B32_UINT (0x42)
833 {
834 "R32G32B32_UINT",
835 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
836 { 0, 0, 0, 0x1 }, // Defaults for missing components
837 { 0, 1, 2, 0 }, // Swizzle
838 { 32, 32, 32, 0 }, // Bits per component
839 96, // Bits per element
840 12, // Bytes per element
841 3, // Num components
842 false, // isSRGB
843 false, // isBC
844 false, // isSubsampled
845 false, // isLuminance
846 { false, false, false, false }, // Is normalized?
847 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
848 1, // bcWidth
849 1, // bcHeight
850 },
851
852 // padding (0x43)
853 {
854 nullptr,
855 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
856 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
857 0, 0, 0, false, false, false, false,
858 { false, false, false, false },
859 { 0.0f, 0.0f, 0.0f, 0.0f },
860 1, 1
861 },
862 // padding (0x44)
863 {
864 nullptr,
865 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
866 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
867 0, 0, 0, false, false, false, false,
868 { false, false, false, false },
869 { 0.0f, 0.0f, 0.0f, 0.0f },
870 1, 1
871 },
872 // R32G32B32_SSCALED (0x45)
873 {
874 "R32G32B32_SSCALED",
875 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN },
876 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
877 { 0, 1, 2, 0 }, // Swizzle
878 { 32, 32, 32, 0 }, // Bits per component
879 96, // Bits per element
880 12, // Bytes per element
881 3, // Num components
882 false, // isSRGB
883 false, // isBC
884 false, // isSubsampled
885 false, // isLuminance
886 { false, false, false, false }, // Is normalized?
887 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
888 1, // bcWidth
889 1, // bcHeight
890 },
891
892 // R32G32B32_USCALED (0x46)
893 {
894 "R32G32B32_USCALED",
895 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN },
896 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
897 { 0, 1, 2, 0 }, // Swizzle
898 { 32, 32, 32, 0 }, // Bits per component
899 96, // Bits per element
900 12, // Bytes per element
901 3, // Num components
902 false, // isSRGB
903 false, // isBC
904 false, // isSubsampled
905 false, // isLuminance
906 { false, false, false, false }, // Is normalized?
907 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
908 1, // bcWidth
909 1, // bcHeight
910 },
911
912 // padding (0x47)
913 {
914 nullptr,
915 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
916 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
917 0, 0, 0, false, false, false, false,
918 { false, false, false, false },
919 { 0.0f, 0.0f, 0.0f, 0.0f },
920 1, 1
921 },
922 // padding (0x48)
923 {
924 nullptr,
925 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
926 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
927 0, 0, 0, false, false, false, false,
928 { false, false, false, false },
929 { 0.0f, 0.0f, 0.0f, 0.0f },
930 1, 1
931 },
932 // padding (0x49)
933 {
934 nullptr,
935 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
936 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
937 0, 0, 0, false, false, false, false,
938 { false, false, false, false },
939 { 0.0f, 0.0f, 0.0f, 0.0f },
940 1, 1
941 },
942 // padding (0x4A)
943 {
944 nullptr,
945 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
946 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
947 0, 0, 0, false, false, false, false,
948 { false, false, false, false },
949 { 0.0f, 0.0f, 0.0f, 0.0f },
950 1, 1
951 },
952 // padding (0x4B)
953 {
954 nullptr,
955 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
956 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
957 0, 0, 0, false, false, false, false,
958 { false, false, false, false },
959 { 0.0f, 0.0f, 0.0f, 0.0f },
960 1, 1
961 },
962 // padding (0x4C)
963 {
964 nullptr,
965 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
966 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
967 0, 0, 0, false, false, false, false,
968 { false, false, false, false },
969 { 0.0f, 0.0f, 0.0f, 0.0f },
970 1, 1
971 },
972 // padding (0x4D)
973 {
974 nullptr,
975 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
976 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
977 0, 0, 0, false, false, false, false,
978 { false, false, false, false },
979 { 0.0f, 0.0f, 0.0f, 0.0f },
980 1, 1
981 },
982 // padding (0x4E)
983 {
984 nullptr,
985 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
986 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
987 0, 0, 0, false, false, false, false,
988 { false, false, false, false },
989 { 0.0f, 0.0f, 0.0f, 0.0f },
990 1, 1
991 },
992 // padding (0x4F)
993 {
994 nullptr,
995 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
996 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
997 0, 0, 0, false, false, false, false,
998 { false, false, false, false },
999 { 0.0f, 0.0f, 0.0f, 0.0f },
1000 1, 1
1001 },
1002 // R32G32B32_SFIXED (0x50)
1003 {
1004 "R32G32B32_SFIXED",
1005 { SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN },
1006 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1007 { 0, 1, 2, 0 }, // Swizzle
1008 { 32, 32, 32, 0 }, // Bits per component
1009 96, // Bits per element
1010 12, // Bytes per element
1011 3, // Num components
1012 false, // isSRGB
1013 false, // isBC
1014 false, // isSubsampled
1015 false, // isLuminance
1016 { false, false, false, false }, // Is normalized?
1017 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
1018 1, // bcWidth
1019 1, // bcHeight
1020 },
1021
1022 // padding (0x51)
1023 {
1024 nullptr,
1025 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1026 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1027 0, 0, 0, false, false, false, false,
1028 { false, false, false, false },
1029 { 0.0f, 0.0f, 0.0f, 0.0f },
1030 1, 1
1031 },
1032 // padding (0x52)
1033 {
1034 nullptr,
1035 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1036 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1037 0, 0, 0, false, false, false, false,
1038 { false, false, false, false },
1039 { 0.0f, 0.0f, 0.0f, 0.0f },
1040 1, 1
1041 },
1042 // padding (0x53)
1043 {
1044 nullptr,
1045 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1046 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1047 0, 0, 0, false, false, false, false,
1048 { false, false, false, false },
1049 { 0.0f, 0.0f, 0.0f, 0.0f },
1050 1, 1
1051 },
1052 // padding (0x54)
1053 {
1054 nullptr,
1055 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1056 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1057 0, 0, 0, false, false, false, false,
1058 { false, false, false, false },
1059 { 0.0f, 0.0f, 0.0f, 0.0f },
1060 1, 1
1061 },
1062 // padding (0x55)
1063 {
1064 nullptr,
1065 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1066 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1067 0, 0, 0, false, false, false, false,
1068 { false, false, false, false },
1069 { 0.0f, 0.0f, 0.0f, 0.0f },
1070 1, 1
1071 },
1072 // padding (0x56)
1073 {
1074 nullptr,
1075 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1076 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1077 0, 0, 0, false, false, false, false,
1078 { false, false, false, false },
1079 { 0.0f, 0.0f, 0.0f, 0.0f },
1080 1, 1
1081 },
1082 // padding (0x57)
1083 {
1084 nullptr,
1085 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1086 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1087 0, 0, 0, false, false, false, false,
1088 { false, false, false, false },
1089 { 0.0f, 0.0f, 0.0f, 0.0f },
1090 1, 1
1091 },
1092 // padding (0x58)
1093 {
1094 nullptr,
1095 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1096 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1097 0, 0, 0, false, false, false, false,
1098 { false, false, false, false },
1099 { 0.0f, 0.0f, 0.0f, 0.0f },
1100 1, 1
1101 },
1102 // padding (0x59)
1103 {
1104 nullptr,
1105 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1106 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1107 0, 0, 0, false, false, false, false,
1108 { false, false, false, false },
1109 { 0.0f, 0.0f, 0.0f, 0.0f },
1110 1, 1
1111 },
1112 // padding (0x5A)
1113 {
1114 nullptr,
1115 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1116 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1117 0, 0, 0, false, false, false, false,
1118 { false, false, false, false },
1119 { 0.0f, 0.0f, 0.0f, 0.0f },
1120 1, 1
1121 },
1122 // padding (0x5B)
1123 {
1124 nullptr,
1125 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1126 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1127 0, 0, 0, false, false, false, false,
1128 { false, false, false, false },
1129 { 0.0f, 0.0f, 0.0f, 0.0f },
1130 1, 1
1131 },
1132 // padding (0x5C)
1133 {
1134 nullptr,
1135 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1136 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1137 0, 0, 0, false, false, false, false,
1138 { false, false, false, false },
1139 { 0.0f, 0.0f, 0.0f, 0.0f },
1140 1, 1
1141 },
1142 // padding (0x5D)
1143 {
1144 nullptr,
1145 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1146 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1147 0, 0, 0, false, false, false, false,
1148 { false, false, false, false },
1149 { 0.0f, 0.0f, 0.0f, 0.0f },
1150 1, 1
1151 },
1152 // padding (0x5E)
1153 {
1154 nullptr,
1155 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1156 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1157 0, 0, 0, false, false, false, false,
1158 { false, false, false, false },
1159 { 0.0f, 0.0f, 0.0f, 0.0f },
1160 1, 1
1161 },
1162 // padding (0x5F)
1163 {
1164 nullptr,
1165 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1166 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1167 0, 0, 0, false, false, false, false,
1168 { false, false, false, false },
1169 { 0.0f, 0.0f, 0.0f, 0.0f },
1170 1, 1
1171 },
1172 // padding (0x60)
1173 {
1174 nullptr,
1175 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1176 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1177 0, 0, 0, false, false, false, false,
1178 { false, false, false, false },
1179 { 0.0f, 0.0f, 0.0f, 0.0f },
1180 1, 1
1181 },
1182 // padding (0x61)
1183 {
1184 nullptr,
1185 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1186 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1187 0, 0, 0, false, false, false, false,
1188 { false, false, false, false },
1189 { 0.0f, 0.0f, 0.0f, 0.0f },
1190 1, 1
1191 },
1192 // padding (0x62)
1193 {
1194 nullptr,
1195 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1196 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1197 0, 0, 0, false, false, false, false,
1198 { false, false, false, false },
1199 { 0.0f, 0.0f, 0.0f, 0.0f },
1200 1, 1
1201 },
1202 // padding (0x63)
1203 {
1204 nullptr,
1205 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1206 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1207 0, 0, 0, false, false, false, false,
1208 { false, false, false, false },
1209 { 0.0f, 0.0f, 0.0f, 0.0f },
1210 1, 1
1211 },
1212 // padding (0x64)
1213 {
1214 nullptr,
1215 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1216 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1217 0, 0, 0, false, false, false, false,
1218 { false, false, false, false },
1219 { 0.0f, 0.0f, 0.0f, 0.0f },
1220 1, 1
1221 },
1222 // padding (0x65)
1223 {
1224 nullptr,
1225 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1226 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1227 0, 0, 0, false, false, false, false,
1228 { false, false, false, false },
1229 { 0.0f, 0.0f, 0.0f, 0.0f },
1230 1, 1
1231 },
1232 // padding (0x66)
1233 {
1234 nullptr,
1235 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1236 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1237 0, 0, 0, false, false, false, false,
1238 { false, false, false, false },
1239 { 0.0f, 0.0f, 0.0f, 0.0f },
1240 1, 1
1241 },
1242 // padding (0x67)
1243 {
1244 nullptr,
1245 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1246 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1247 0, 0, 0, false, false, false, false,
1248 { false, false, false, false },
1249 { 0.0f, 0.0f, 0.0f, 0.0f },
1250 1, 1
1251 },
1252 // padding (0x68)
1253 {
1254 nullptr,
1255 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1256 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1257 0, 0, 0, false, false, false, false,
1258 { false, false, false, false },
1259 { 0.0f, 0.0f, 0.0f, 0.0f },
1260 1, 1
1261 },
1262 // padding (0x69)
1263 {
1264 nullptr,
1265 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1266 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1267 0, 0, 0, false, false, false, false,
1268 { false, false, false, false },
1269 { 0.0f, 0.0f, 0.0f, 0.0f },
1270 1, 1
1271 },
1272 // padding (0x6A)
1273 {
1274 nullptr,
1275 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1276 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1277 0, 0, 0, false, false, false, false,
1278 { false, false, false, false },
1279 { 0.0f, 0.0f, 0.0f, 0.0f },
1280 1, 1
1281 },
1282 // padding (0x6B)
1283 {
1284 nullptr,
1285 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1286 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1287 0, 0, 0, false, false, false, false,
1288 { false, false, false, false },
1289 { 0.0f, 0.0f, 0.0f, 0.0f },
1290 1, 1
1291 },
1292 // padding (0x6C)
1293 {
1294 nullptr,
1295 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1296 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1297 0, 0, 0, false, false, false, false,
1298 { false, false, false, false },
1299 { 0.0f, 0.0f, 0.0f, 0.0f },
1300 1, 1
1301 },
1302 // padding (0x6D)
1303 {
1304 nullptr,
1305 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1306 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1307 0, 0, 0, false, false, false, false,
1308 { false, false, false, false },
1309 { 0.0f, 0.0f, 0.0f, 0.0f },
1310 1, 1
1311 },
1312 // padding (0x6E)
1313 {
1314 nullptr,
1315 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1316 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1317 0, 0, 0, false, false, false, false,
1318 { false, false, false, false },
1319 { 0.0f, 0.0f, 0.0f, 0.0f },
1320 1, 1
1321 },
1322 // padding (0x6F)
1323 {
1324 nullptr,
1325 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1326 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1327 0, 0, 0, false, false, false, false,
1328 { false, false, false, false },
1329 { 0.0f, 0.0f, 0.0f, 0.0f },
1330 1, 1
1331 },
1332 // padding (0x70)
1333 {
1334 nullptr,
1335 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1336 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1337 0, 0, 0, false, false, false, false,
1338 { false, false, false, false },
1339 { 0.0f, 0.0f, 0.0f, 0.0f },
1340 1, 1
1341 },
1342 // padding (0x71)
1343 {
1344 nullptr,
1345 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1346 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1347 0, 0, 0, false, false, false, false,
1348 { false, false, false, false },
1349 { 0.0f, 0.0f, 0.0f, 0.0f },
1350 1, 1
1351 },
1352 // padding (0x72)
1353 {
1354 nullptr,
1355 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1356 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1357 0, 0, 0, false, false, false, false,
1358 { false, false, false, false },
1359 { 0.0f, 0.0f, 0.0f, 0.0f },
1360 1, 1
1361 },
1362 // padding (0x73)
1363 {
1364 nullptr,
1365 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1366 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1367 0, 0, 0, false, false, false, false,
1368 { false, false, false, false },
1369 { 0.0f, 0.0f, 0.0f, 0.0f },
1370 1, 1
1371 },
1372 // padding (0x74)
1373 {
1374 nullptr,
1375 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1376 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1377 0, 0, 0, false, false, false, false,
1378 { false, false, false, false },
1379 { 0.0f, 0.0f, 0.0f, 0.0f },
1380 1, 1
1381 },
1382 // padding (0x75)
1383 {
1384 nullptr,
1385 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1386 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1387 0, 0, 0, false, false, false, false,
1388 { false, false, false, false },
1389 { 0.0f, 0.0f, 0.0f, 0.0f },
1390 1, 1
1391 },
1392 // padding (0x76)
1393 {
1394 nullptr,
1395 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1396 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1397 0, 0, 0, false, false, false, false,
1398 { false, false, false, false },
1399 { 0.0f, 0.0f, 0.0f, 0.0f },
1400 1, 1
1401 },
1402 // padding (0x77)
1403 {
1404 nullptr,
1405 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1406 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1407 0, 0, 0, false, false, false, false,
1408 { false, false, false, false },
1409 { 0.0f, 0.0f, 0.0f, 0.0f },
1410 1, 1
1411 },
1412 // padding (0x78)
1413 {
1414 nullptr,
1415 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1416 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1417 0, 0, 0, false, false, false, false,
1418 { false, false, false, false },
1419 { 0.0f, 0.0f, 0.0f, 0.0f },
1420 1, 1
1421 },
1422 // padding (0x79)
1423 {
1424 nullptr,
1425 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1426 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1427 0, 0, 0, false, false, false, false,
1428 { false, false, false, false },
1429 { 0.0f, 0.0f, 0.0f, 0.0f },
1430 1, 1
1431 },
1432 // padding (0x7A)
1433 {
1434 nullptr,
1435 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1436 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1437 0, 0, 0, false, false, false, false,
1438 { false, false, false, false },
1439 { 0.0f, 0.0f, 0.0f, 0.0f },
1440 1, 1
1441 },
1442 // padding (0x7B)
1443 {
1444 nullptr,
1445 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1446 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1447 0, 0, 0, false, false, false, false,
1448 { false, false, false, false },
1449 { 0.0f, 0.0f, 0.0f, 0.0f },
1450 1, 1
1451 },
1452 // padding (0x7C)
1453 {
1454 nullptr,
1455 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1456 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1457 0, 0, 0, false, false, false, false,
1458 { false, false, false, false },
1459 { 0.0f, 0.0f, 0.0f, 0.0f },
1460 1, 1
1461 },
1462 // padding (0x7D)
1463 {
1464 nullptr,
1465 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1466 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1467 0, 0, 0, false, false, false, false,
1468 { false, false, false, false },
1469 { 0.0f, 0.0f, 0.0f, 0.0f },
1470 1, 1
1471 },
1472 // padding (0x7E)
1473 {
1474 nullptr,
1475 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1476 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1477 0, 0, 0, false, false, false, false,
1478 { false, false, false, false },
1479 { 0.0f, 0.0f, 0.0f, 0.0f },
1480 1, 1
1481 },
1482 // padding (0x7F)
1483 {
1484 nullptr,
1485 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1486 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1487 0, 0, 0, false, false, false, false,
1488 { false, false, false, false },
1489 { 0.0f, 0.0f, 0.0f, 0.0f },
1490 1, 1
1491 },
1492 // R16G16B16A16_UNORM (0x80)
1493 {
1494 "R16G16B16A16_UNORM",
1495 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
1496 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1497 { 0, 1, 2, 3 }, // Swizzle
1498 { 16, 16, 16, 16 }, // Bits per component
1499 64, // Bits per element
1500 8, // Bytes per element
1501 4, // Num components
1502 false, // isSRGB
1503 false, // isBC
1504 false, // isSubsampled
1505 false, // isLuminance
1506 { true, true, true, true }, // Is normalized?
1507 { 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f }, // To float scale factor
1508 1, // bcWidth
1509 1, // bcHeight
1510 },
1511
1512 // R16G16B16A16_SNORM (0x81)
1513 {
1514 "R16G16B16A16_SNORM",
1515 { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
1516 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1517 { 0, 1, 2, 3 }, // Swizzle
1518 { 16, 16, 16, 16 }, // Bits per component
1519 64, // Bits per element
1520 8, // Bytes per element
1521 4, // Num components
1522 false, // isSRGB
1523 false, // isBC
1524 false, // isSubsampled
1525 false, // isLuminance
1526 { true, true, true, true }, // Is normalized?
1527 { 1.0f / 32767.0f, 1.0f / 32767.0f, 1.0f / 32767.0f, 1.0f / 32767.0f }, // To float scale factor
1528 1, // bcWidth
1529 1, // bcHeight
1530 },
1531
1532 // R16G16B16A16_SINT (0x82)
1533 {
1534 "R16G16B16A16_SINT",
1535 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
1536 { 0, 0, 0, 0x1 }, // Defaults for missing components
1537 { 0, 1, 2, 3 }, // Swizzle
1538 { 16, 16, 16, 16 }, // Bits per component
1539 64, // Bits per element
1540 8, // Bytes per element
1541 4, // Num components
1542 false, // isSRGB
1543 false, // isBC
1544 false, // isSubsampled
1545 false, // isLuminance
1546 { false, false, false, false }, // Is normalized?
1547 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1548 1, // bcWidth
1549 1, // bcHeight
1550 },
1551
1552 // R16G16B16A16_UINT (0x83)
1553 {
1554 "R16G16B16A16_UINT",
1555 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
1556 { 0, 0, 0, 0x1 }, // Defaults for missing components
1557 { 0, 1, 2, 3 }, // Swizzle
1558 { 16, 16, 16, 16 }, // Bits per component
1559 64, // Bits per element
1560 8, // Bytes per element
1561 4, // Num components
1562 false, // isSRGB
1563 false, // isBC
1564 false, // isSubsampled
1565 false, // isLuminance
1566 { false, false, false, false }, // Is normalized?
1567 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1568 1, // bcWidth
1569 1, // bcHeight
1570 },
1571
1572 // R16G16B16A16_FLOAT (0x84)
1573 {
1574 "R16G16B16A16_FLOAT",
1575 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT },
1576 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1577 { 0, 1, 2, 3 }, // Swizzle
1578 { 16, 16, 16, 16 }, // Bits per component
1579 64, // Bits per element
1580 8, // Bytes per element
1581 4, // Num components
1582 false, // isSRGB
1583 false, // isBC
1584 false, // isSubsampled
1585 false, // isLuminance
1586 { false, false, false, false }, // Is normalized?
1587 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1588 1, // bcWidth
1589 1, // bcHeight
1590 },
1591
1592 // R32G32_FLOAT (0x85)
1593 {
1594 "R32G32_FLOAT",
1595 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1596 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1597 { 0, 1, 0, 0 }, // Swizzle
1598 { 32, 32, 0, 0 }, // Bits per component
1599 64, // Bits per element
1600 8, // Bytes per element
1601 2, // Num components
1602 false, // isSRGB
1603 false, // isBC
1604 false, // isSubsampled
1605 false, // isLuminance
1606 { false, false, false, false }, // Is normalized?
1607 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1608 1, // bcWidth
1609 1, // bcHeight
1610 },
1611
1612 // R32G32_SINT (0x86)
1613 {
1614 "R32G32_SINT",
1615 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1616 { 0, 0, 0, 0x1 }, // Defaults for missing components
1617 { 0, 1, 0, 0 }, // Swizzle
1618 { 32, 32, 0, 0 }, // Bits per component
1619 64, // Bits per element
1620 8, // Bytes per element
1621 2, // Num components
1622 false, // isSRGB
1623 false, // isBC
1624 false, // isSubsampled
1625 false, // isLuminance
1626 { false, false, false, false }, // Is normalized?
1627 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1628 1, // bcWidth
1629 1, // bcHeight
1630 },
1631
1632 // R32G32_UINT (0x87)
1633 {
1634 "R32G32_UINT",
1635 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1636 { 0, 0, 0, 0x1 }, // Defaults for missing components
1637 { 0, 1, 0, 0 }, // Swizzle
1638 { 32, 32, 0, 0 }, // Bits per component
1639 64, // Bits per element
1640 8, // Bytes per element
1641 2, // Num components
1642 false, // isSRGB
1643 false, // isBC
1644 false, // isSubsampled
1645 false, // isLuminance
1646 { false, false, false, false }, // Is normalized?
1647 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1648 1, // bcWidth
1649 1, // bcHeight
1650 },
1651
1652 // R32_FLOAT_X8X24_TYPELESS (0x88)
1653 {
1654 "R32_FLOAT_X8X24_TYPELESS",
1655 { SWR_TYPE_FLOAT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1656 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1657 { 0, 1, 2, 3 }, // Swizzle
1658 { 32, 32, 0, 0 }, // Bits per component
1659 64, // Bits per element
1660 8, // Bytes per element
1661 2, // Num components
1662 false, // isSRGB
1663 false, // isBC
1664 false, // isSubsampled
1665 false, // isLuminance
1666 { false, false, false, false }, // Is normalized?
1667 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1668 1, // bcWidth
1669 1, // bcHeight
1670 },
1671
1672 // X32_TYPELESS_G8X24_UINT (0x89)
1673 {
1674 "X32_TYPELESS_G8X24_UINT",
1675 { SWR_TYPE_UINT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1676 { 0, 0, 0, 0x1 }, // Defaults for missing components
1677 { 0, 1, 2, 3 }, // Swizzle
1678 { 32, 32, 0, 0 }, // Bits per component
1679 64, // Bits per element
1680 8, // Bytes per element
1681 2, // Num components
1682 false, // isSRGB
1683 false, // isBC
1684 false, // isSubsampled
1685 false, // isLuminance
1686 { false, false, false, false }, // Is normalized?
1687 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1688 1, // bcWidth
1689 1, // bcHeight
1690 },
1691
1692 // L32A32_FLOAT (0x8A)
1693 {
1694 "L32A32_FLOAT",
1695 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1696 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1697 { 0, 3, 0, 0 }, // Swizzle
1698 { 32, 32, 0, 0 }, // Bits per component
1699 64, // Bits per element
1700 8, // Bytes per element
1701 2, // Num components
1702 false, // isSRGB
1703 false, // isBC
1704 false, // isSubsampled
1705 true, // isLuminance
1706 { false, false, false, false }, // Is normalized?
1707 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1708 1, // bcWidth
1709 1, // bcHeight
1710 },
1711
1712 // padding (0x8B)
1713 {
1714 nullptr,
1715 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1716 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1717 0, 0, 0, false, false, false, false,
1718 { false, false, false, false },
1719 { 0.0f, 0.0f, 0.0f, 0.0f },
1720 1, 1
1721 },
1722 // padding (0x8C)
1723 {
1724 nullptr,
1725 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1726 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1727 0, 0, 0, false, false, false, false,
1728 { false, false, false, false },
1729 { 0.0f, 0.0f, 0.0f, 0.0f },
1730 1, 1
1731 },
1732 // R64_FLOAT (0x8D)
1733 {
1734 "R64_FLOAT",
1735 { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1736 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1737 { 0, 0, 0, 0 }, // Swizzle
1738 { 64, 0, 0, 0 }, // Bits per component
1739 64, // Bits per element
1740 8, // Bytes per element
1741 1, // Num components
1742 false, // isSRGB
1743 false, // isBC
1744 false, // isSubsampled
1745 false, // isLuminance
1746 { false, false, false, false }, // Is normalized?
1747 { 1.0f, 0, 0, 0 }, // To float scale factor
1748 1, // bcWidth
1749 1, // bcHeight
1750 },
1751
1752 // R16G16B16X16_UNORM (0x8E)
1753 {
1754 "R16G16B16X16_UNORM",
1755 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
1756 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1757 { 0, 1, 2, 3 }, // Swizzle
1758 { 16, 16, 16, 16 }, // Bits per component
1759 64, // Bits per element
1760 8, // Bytes per element
1761 4, // Num components
1762 false, // isSRGB
1763 false, // isBC
1764 false, // isSubsampled
1765 false, // isLuminance
1766 { true, true, true, false }, // Is normalized?
1767 { 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f }, // To float scale factor
1768 1, // bcWidth
1769 1, // bcHeight
1770 },
1771
1772 // R16G16B16X16_FLOAT (0x8F)
1773 {
1774 "R16G16B16X16_FLOAT",
1775 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNUSED },
1776 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1777 { 0, 1, 2, 3 }, // Swizzle
1778 { 16, 16, 16, 16 }, // Bits per component
1779 64, // Bits per element
1780 8, // Bytes per element
1781 4, // Num components
1782 false, // isSRGB
1783 false, // isBC
1784 false, // isSubsampled
1785 false, // isLuminance
1786 { false, false, false, false }, // Is normalized?
1787 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1788 1, // bcWidth
1789 1, // bcHeight
1790 },
1791
1792 // padding (0x90)
1793 {
1794 nullptr,
1795 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1796 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1797 0, 0, 0, false, false, false, false,
1798 { false, false, false, false },
1799 { 0.0f, 0.0f, 0.0f, 0.0f },
1800 1, 1
1801 },
1802 // L32X32_FLOAT (0x91)
1803 {
1804 "L32X32_FLOAT",
1805 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1806 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1807 { 0, 3, 0, 0 }, // Swizzle
1808 { 32, 32, 0, 0 }, // Bits per component
1809 64, // Bits per element
1810 8, // Bytes per element
1811 2, // Num components
1812 false, // isSRGB
1813 false, // isBC
1814 false, // isSubsampled
1815 true, // isLuminance
1816 { false, false, false, false }, // Is normalized?
1817 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1818 1, // bcWidth
1819 1, // bcHeight
1820 },
1821
1822 // I32X32_FLOAT (0x92)
1823 {
1824 "I32X32_FLOAT",
1825 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1826 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1827 { 0, 3, 0, 0 }, // Swizzle
1828 { 32, 32, 0, 0 }, // Bits per component
1829 64, // Bits per element
1830 8, // Bytes per element
1831 2, // Num components
1832 false, // isSRGB
1833 false, // isBC
1834 false, // isSubsampled
1835 true, // isLuminance
1836 { false, false, false, false }, // Is normalized?
1837 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1838 1, // bcWidth
1839 1, // bcHeight
1840 },
1841
1842 // R16G16B16A16_SSCALED (0x93)
1843 {
1844 "R16G16B16A16_SSCALED",
1845 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
1846 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1847 { 0, 1, 2, 3 }, // Swizzle
1848 { 16, 16, 16, 16 }, // Bits per component
1849 64, // Bits per element
1850 8, // Bytes per element
1851 4, // Num components
1852 false, // isSRGB
1853 false, // isBC
1854 false, // isSubsampled
1855 false, // isLuminance
1856 { false, false, false, false }, // Is normalized?
1857 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1858 1, // bcWidth
1859 1, // bcHeight
1860 },
1861
1862 // R16G16B16A16_USCALED (0x94)
1863 {
1864 "R16G16B16A16_USCALED",
1865 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
1866 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1867 { 0, 1, 2, 3 }, // Swizzle
1868 { 16, 16, 16, 16 }, // Bits per component
1869 64, // Bits per element
1870 8, // Bytes per element
1871 4, // Num components
1872 false, // isSRGB
1873 false, // isBC
1874 false, // isSubsampled
1875 false, // isLuminance
1876 { false, false, false, false }, // Is normalized?
1877 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
1878 1, // bcWidth
1879 1, // bcHeight
1880 },
1881
1882 // R32G32_SSCALED (0x95)
1883 {
1884 "R32G32_SSCALED",
1885 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1886 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1887 { 0, 1, 0, 0 }, // Swizzle
1888 { 32, 32, 0, 0 }, // Bits per component
1889 64, // Bits per element
1890 8, // Bytes per element
1891 2, // Num components
1892 false, // isSRGB
1893 false, // isBC
1894 false, // isSubsampled
1895 false, // isLuminance
1896 { false, false, false, false }, // Is normalized?
1897 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1898 1, // bcWidth
1899 1, // bcHeight
1900 },
1901
1902 // R32G32_USCALED (0x96)
1903 {
1904 "R32G32_USCALED",
1905 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1906 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
1907 { 0, 1, 0, 0 }, // Swizzle
1908 { 32, 32, 0, 0 }, // Bits per component
1909 64, // Bits per element
1910 8, // Bytes per element
1911 2, // Num components
1912 false, // isSRGB
1913 false, // isBC
1914 false, // isSubsampled
1915 false, // isLuminance
1916 { false, false, false, false }, // Is normalized?
1917 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
1918 1, // bcWidth
1919 1, // bcHeight
1920 },
1921
1922 // padding (0x97)
1923 {
1924 nullptr,
1925 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1926 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1927 0, 0, 0, false, false, false, false,
1928 { false, false, false, false },
1929 { 0.0f, 0.0f, 0.0f, 0.0f },
1930 1, 1
1931 },
1932 // padding (0x98)
1933 {
1934 nullptr,
1935 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1936 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1937 0, 0, 0, false, false, false, false,
1938 { false, false, false, false },
1939 { 0.0f, 0.0f, 0.0f, 0.0f },
1940 1, 1
1941 },
1942 // padding (0x99)
1943 {
1944 nullptr,
1945 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1946 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1947 0, 0, 0, false, false, false, false,
1948 { false, false, false, false },
1949 { 0.0f, 0.0f, 0.0f, 0.0f },
1950 1, 1
1951 },
1952 // padding (0x9A)
1953 {
1954 nullptr,
1955 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1956 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1957 0, 0, 0, false, false, false, false,
1958 { false, false, false, false },
1959 { 0.0f, 0.0f, 0.0f, 0.0f },
1960 1, 1
1961 },
1962 // padding (0x9B)
1963 {
1964 nullptr,
1965 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1966 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1967 0, 0, 0, false, false, false, false,
1968 { false, false, false, false },
1969 { 0.0f, 0.0f, 0.0f, 0.0f },
1970 1, 1
1971 },
1972 // padding (0x9C)
1973 {
1974 nullptr,
1975 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1976 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1977 0, 0, 0, false, false, false, false,
1978 { false, false, false, false },
1979 { 0.0f, 0.0f, 0.0f, 0.0f },
1980 1, 1
1981 },
1982 // padding (0x9D)
1983 {
1984 nullptr,
1985 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1986 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1987 0, 0, 0, false, false, false, false,
1988 { false, false, false, false },
1989 { 0.0f, 0.0f, 0.0f, 0.0f },
1990 1, 1
1991 },
1992 // padding (0x9E)
1993 {
1994 nullptr,
1995 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
1996 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
1997 0, 0, 0, false, false, false, false,
1998 { false, false, false, false },
1999 { 0.0f, 0.0f, 0.0f, 0.0f },
2000 1, 1
2001 },
2002 // padding (0x9F)
2003 {
2004 nullptr,
2005 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2006 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2007 0, 0, 0, false, false, false, false,
2008 { false, false, false, false },
2009 { 0.0f, 0.0f, 0.0f, 0.0f },
2010 1, 1
2011 },
2012 // R32G32_SFIXED (0xA0)
2013 {
2014 "R32G32_SFIXED",
2015 { SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2016 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2017 { 0, 1, 0, 0 }, // Swizzle
2018 { 32, 32, 0, 0 }, // Bits per component
2019 64, // Bits per element
2020 8, // Bytes per element
2021 2, // Num components
2022 false, // isSRGB
2023 false, // isBC
2024 false, // isSubsampled
2025 false, // isLuminance
2026 { false, false, false, false }, // Is normalized?
2027 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
2028 1, // bcWidth
2029 1, // bcHeight
2030 },
2031
2032 // padding (0xA1)
2033 {
2034 nullptr,
2035 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2036 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2037 0, 0, 0, false, false, false, false,
2038 { false, false, false, false },
2039 { 0.0f, 0.0f, 0.0f, 0.0f },
2040 1, 1
2041 },
2042 // padding (0xA2)
2043 {
2044 nullptr,
2045 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2046 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2047 0, 0, 0, false, false, false, false,
2048 { false, false, false, false },
2049 { 0.0f, 0.0f, 0.0f, 0.0f },
2050 1, 1
2051 },
2052 // padding (0xA3)
2053 {
2054 nullptr,
2055 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2056 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2057 0, 0, 0, false, false, false, false,
2058 { false, false, false, false },
2059 { 0.0f, 0.0f, 0.0f, 0.0f },
2060 1, 1
2061 },
2062 // padding (0xA4)
2063 {
2064 nullptr,
2065 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2066 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2067 0, 0, 0, false, false, false, false,
2068 { false, false, false, false },
2069 { 0.0f, 0.0f, 0.0f, 0.0f },
2070 1, 1
2071 },
2072 // padding (0xA5)
2073 {
2074 nullptr,
2075 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2076 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2077 0, 0, 0, false, false, false, false,
2078 { false, false, false, false },
2079 { 0.0f, 0.0f, 0.0f, 0.0f },
2080 1, 1
2081 },
2082 // padding (0xA6)
2083 {
2084 nullptr,
2085 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2086 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2087 0, 0, 0, false, false, false, false,
2088 { false, false, false, false },
2089 { 0.0f, 0.0f, 0.0f, 0.0f },
2090 1, 1
2091 },
2092 // padding (0xA7)
2093 {
2094 nullptr,
2095 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2096 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2097 0, 0, 0, false, false, false, false,
2098 { false, false, false, false },
2099 { 0.0f, 0.0f, 0.0f, 0.0f },
2100 1, 1
2101 },
2102 // padding (0xA8)
2103 {
2104 nullptr,
2105 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2106 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2107 0, 0, 0, false, false, false, false,
2108 { false, false, false, false },
2109 { 0.0f, 0.0f, 0.0f, 0.0f },
2110 1, 1
2111 },
2112 // padding (0xA9)
2113 {
2114 nullptr,
2115 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2116 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2117 0, 0, 0, false, false, false, false,
2118 { false, false, false, false },
2119 { 0.0f, 0.0f, 0.0f, 0.0f },
2120 1, 1
2121 },
2122 // padding (0xAA)
2123 {
2124 nullptr,
2125 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2126 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2127 0, 0, 0, false, false, false, false,
2128 { false, false, false, false },
2129 { 0.0f, 0.0f, 0.0f, 0.0f },
2130 1, 1
2131 },
2132 // padding (0xAB)
2133 {
2134 nullptr,
2135 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2136 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2137 0, 0, 0, false, false, false, false,
2138 { false, false, false, false },
2139 { 0.0f, 0.0f, 0.0f, 0.0f },
2140 1, 1
2141 },
2142 // padding (0xAC)
2143 {
2144 nullptr,
2145 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2146 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2147 0, 0, 0, false, false, false, false,
2148 { false, false, false, false },
2149 { 0.0f, 0.0f, 0.0f, 0.0f },
2150 1, 1
2151 },
2152 // padding (0xAD)
2153 {
2154 nullptr,
2155 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2156 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2157 0, 0, 0, false, false, false, false,
2158 { false, false, false, false },
2159 { 0.0f, 0.0f, 0.0f, 0.0f },
2160 1, 1
2161 },
2162 // padding (0xAE)
2163 {
2164 nullptr,
2165 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2166 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2167 0, 0, 0, false, false, false, false,
2168 { false, false, false, false },
2169 { 0.0f, 0.0f, 0.0f, 0.0f },
2170 1, 1
2171 },
2172 // padding (0xAF)
2173 {
2174 nullptr,
2175 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2176 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2177 0, 0, 0, false, false, false, false,
2178 { false, false, false, false },
2179 { 0.0f, 0.0f, 0.0f, 0.0f },
2180 1, 1
2181 },
2182 // padding (0xB0)
2183 {
2184 nullptr,
2185 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2186 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2187 0, 0, 0, false, false, false, false,
2188 { false, false, false, false },
2189 { 0.0f, 0.0f, 0.0f, 0.0f },
2190 1, 1
2191 },
2192 // padding (0xB1)
2193 {
2194 nullptr,
2195 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2196 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2197 0, 0, 0, false, false, false, false,
2198 { false, false, false, false },
2199 { 0.0f, 0.0f, 0.0f, 0.0f },
2200 1, 1
2201 },
2202 // padding (0xB2)
2203 {
2204 nullptr,
2205 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2206 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2207 0, 0, 0, false, false, false, false,
2208 { false, false, false, false },
2209 { 0.0f, 0.0f, 0.0f, 0.0f },
2210 1, 1
2211 },
2212 // padding (0xB3)
2213 {
2214 nullptr,
2215 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2216 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2217 0, 0, 0, false, false, false, false,
2218 { false, false, false, false },
2219 { 0.0f, 0.0f, 0.0f, 0.0f },
2220 1, 1
2221 },
2222 // padding (0xB4)
2223 {
2224 nullptr,
2225 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2226 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2227 0, 0, 0, false, false, false, false,
2228 { false, false, false, false },
2229 { 0.0f, 0.0f, 0.0f, 0.0f },
2230 1, 1
2231 },
2232 // padding (0xB5)
2233 {
2234 nullptr,
2235 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2236 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2237 0, 0, 0, false, false, false, false,
2238 { false, false, false, false },
2239 { 0.0f, 0.0f, 0.0f, 0.0f },
2240 1, 1
2241 },
2242 // padding (0xB6)
2243 {
2244 nullptr,
2245 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2246 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2247 0, 0, 0, false, false, false, false,
2248 { false, false, false, false },
2249 { 0.0f, 0.0f, 0.0f, 0.0f },
2250 1, 1
2251 },
2252 // padding (0xB7)
2253 {
2254 nullptr,
2255 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2256 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2257 0, 0, 0, false, false, false, false,
2258 { false, false, false, false },
2259 { 0.0f, 0.0f, 0.0f, 0.0f },
2260 1, 1
2261 },
2262 // padding (0xB8)
2263 {
2264 nullptr,
2265 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2266 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2267 0, 0, 0, false, false, false, false,
2268 { false, false, false, false },
2269 { 0.0f, 0.0f, 0.0f, 0.0f },
2270 1, 1
2271 },
2272 // padding (0xB9)
2273 {
2274 nullptr,
2275 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2276 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2277 0, 0, 0, false, false, false, false,
2278 { false, false, false, false },
2279 { 0.0f, 0.0f, 0.0f, 0.0f },
2280 1, 1
2281 },
2282 // padding (0xBA)
2283 {
2284 nullptr,
2285 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2286 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2287 0, 0, 0, false, false, false, false,
2288 { false, false, false, false },
2289 { 0.0f, 0.0f, 0.0f, 0.0f },
2290 1, 1
2291 },
2292 // padding (0xBB)
2293 {
2294 nullptr,
2295 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2296 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2297 0, 0, 0, false, false, false, false,
2298 { false, false, false, false },
2299 { 0.0f, 0.0f, 0.0f, 0.0f },
2300 1, 1
2301 },
2302 // padding (0xBC)
2303 {
2304 nullptr,
2305 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2306 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2307 0, 0, 0, false, false, false, false,
2308 { false, false, false, false },
2309 { 0.0f, 0.0f, 0.0f, 0.0f },
2310 1, 1
2311 },
2312 // padding (0xBD)
2313 {
2314 nullptr,
2315 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2316 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2317 0, 0, 0, false, false, false, false,
2318 { false, false, false, false },
2319 { 0.0f, 0.0f, 0.0f, 0.0f },
2320 1, 1
2321 },
2322 // padding (0xBE)
2323 {
2324 nullptr,
2325 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2326 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2327 0, 0, 0, false, false, false, false,
2328 { false, false, false, false },
2329 { 0.0f, 0.0f, 0.0f, 0.0f },
2330 1, 1
2331 },
2332 // padding (0xBF)
2333 {
2334 nullptr,
2335 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2336 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2337 0, 0, 0, false, false, false, false,
2338 { false, false, false, false },
2339 { 0.0f, 0.0f, 0.0f, 0.0f },
2340 1, 1
2341 },
2342 // B8G8R8A8_UNORM (0xC0)
2343 {
2344 "B8G8R8A8_UNORM",
2345 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2346 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2347 { 2, 1, 0, 3 }, // Swizzle
2348 { 8, 8, 8, 8 }, // Bits per component
2349 32, // Bits per element
2350 4, // Bytes per element
2351 4, // Num components
2352 false, // isSRGB
2353 false, // isBC
2354 false, // isSubsampled
2355 false, // isLuminance
2356 { true, true, true, true }, // Is normalized?
2357 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f }, // To float scale factor
2358 1, // bcWidth
2359 1, // bcHeight
2360 },
2361
2362 // B8G8R8A8_UNORM_SRGB (0xC1)
2363 {
2364 "B8G8R8A8_UNORM_SRGB",
2365 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2366 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2367 { 2, 1, 0, 3 }, // Swizzle
2368 { 8, 8, 8, 8 }, // Bits per component
2369 32, // Bits per element
2370 4, // Bytes per element
2371 4, // Num components
2372 true, // isSRGB
2373 false, // isBC
2374 false, // isSubsampled
2375 false, // isLuminance
2376 { true, true, true, true }, // Is normalized?
2377 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f }, // To float scale factor
2378 1, // bcWidth
2379 1, // bcHeight
2380 },
2381
2382 // R10G10B10A2_UNORM (0xC2)
2383 {
2384 "R10G10B10A2_UNORM",
2385 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2386 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2387 { 0, 1, 2, 3 }, // Swizzle
2388 { 10, 10, 10, 2 }, // Bits per component
2389 32, // Bits per element
2390 4, // Bytes per element
2391 4, // Num components
2392 false, // isSRGB
2393 false, // isBC
2394 false, // isSubsampled
2395 false, // isLuminance
2396 { true, true, true, true }, // Is normalized?
2397 { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f }, // To float scale factor
2398 1, // bcWidth
2399 1, // bcHeight
2400 },
2401
2402 // R10G10B10A2_UNORM_SRGB (0xC3)
2403 {
2404 "R10G10B10A2_UNORM_SRGB",
2405 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2406 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2407 { 0, 1, 2, 3 }, // Swizzle
2408 { 10, 10, 10, 2 }, // Bits per component
2409 32, // Bits per element
2410 4, // Bytes per element
2411 4, // Num components
2412 true, // isSRGB
2413 false, // isBC
2414 false, // isSubsampled
2415 false, // isLuminance
2416 { true, true, true, true }, // Is normalized?
2417 { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f }, // To float scale factor
2418 1, // bcWidth
2419 1, // bcHeight
2420 },
2421
2422 // R10G10B10A2_UINT (0xC4)
2423 {
2424 "R10G10B10A2_UINT",
2425 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
2426 { 0, 0, 0, 0x1 }, // Defaults for missing components
2427 { 0, 1, 2, 3 }, // Swizzle
2428 { 10, 10, 10, 2 }, // Bits per component
2429 32, // Bits per element
2430 4, // Bytes per element
2431 4, // Num components
2432 false, // isSRGB
2433 false, // isBC
2434 false, // isSubsampled
2435 false, // isLuminance
2436 { false, false, false, false }, // Is normalized?
2437 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
2438 1, // bcWidth
2439 1, // bcHeight
2440 },
2441
2442 // padding (0xC5)
2443 {
2444 nullptr,
2445 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2446 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2447 0, 0, 0, false, false, false, false,
2448 { false, false, false, false },
2449 { 0.0f, 0.0f, 0.0f, 0.0f },
2450 1, 1
2451 },
2452 // padding (0xC6)
2453 {
2454 nullptr,
2455 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2456 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2457 0, 0, 0, false, false, false, false,
2458 { false, false, false, false },
2459 { 0.0f, 0.0f, 0.0f, 0.0f },
2460 1, 1
2461 },
2462 // R8G8B8A8_UNORM (0xC7)
2463 {
2464 "R8G8B8A8_UNORM",
2465 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2466 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2467 { 0, 1, 2, 3 }, // Swizzle
2468 { 8, 8, 8, 8 }, // Bits per component
2469 32, // Bits per element
2470 4, // Bytes per element
2471 4, // Num components
2472 false, // isSRGB
2473 false, // isBC
2474 false, // isSubsampled
2475 false, // isLuminance
2476 { true, true, true, true }, // Is normalized?
2477 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f }, // To float scale factor
2478 1, // bcWidth
2479 1, // bcHeight
2480 },
2481
2482 // R8G8B8A8_UNORM_SRGB (0xC8)
2483 {
2484 "R8G8B8A8_UNORM_SRGB",
2485 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2486 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2487 { 0, 1, 2, 3 }, // Swizzle
2488 { 8, 8, 8, 8 }, // Bits per component
2489 32, // Bits per element
2490 4, // Bytes per element
2491 4, // Num components
2492 true, // isSRGB
2493 false, // isBC
2494 false, // isSubsampled
2495 false, // isLuminance
2496 { true, true, true, true }, // Is normalized?
2497 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f }, // To float scale factor
2498 1, // bcWidth
2499 1, // bcHeight
2500 },
2501
2502 // R8G8B8A8_SNORM (0xC9)
2503 {
2504 "R8G8B8A8_SNORM",
2505 { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
2506 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2507 { 0, 1, 2, 3 }, // Swizzle
2508 { 8, 8, 8, 8 }, // Bits per component
2509 32, // Bits per element
2510 4, // Bytes per element
2511 4, // Num components
2512 false, // isSRGB
2513 false, // isBC
2514 false, // isSubsampled
2515 false, // isLuminance
2516 { true, true, true, true }, // Is normalized?
2517 { 1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f }, // To float scale factor
2518 1, // bcWidth
2519 1, // bcHeight
2520 },
2521
2522 // R8G8B8A8_SINT (0xCA)
2523 {
2524 "R8G8B8A8_SINT",
2525 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
2526 { 0, 0, 0, 0x1 }, // Defaults for missing components
2527 { 0, 1, 2, 3 }, // Swizzle
2528 { 8, 8, 8, 8 }, // Bits per component
2529 32, // Bits per element
2530 4, // Bytes per element
2531 4, // Num components
2532 false, // isSRGB
2533 false, // isBC
2534 false, // isSubsampled
2535 false, // isLuminance
2536 { false, false, false, false }, // Is normalized?
2537 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
2538 1, // bcWidth
2539 1, // bcHeight
2540 },
2541
2542 // R8G8B8A8_UINT (0xCB)
2543 {
2544 "R8G8B8A8_UINT",
2545 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
2546 { 0, 0, 0, 0x1 }, // Defaults for missing components
2547 { 0, 1, 2, 3 }, // Swizzle
2548 { 8, 8, 8, 8 }, // Bits per component
2549 32, // Bits per element
2550 4, // Bytes per element
2551 4, // Num components
2552 false, // isSRGB
2553 false, // isBC
2554 false, // isSubsampled
2555 false, // isLuminance
2556 { false, false, false, false }, // Is normalized?
2557 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
2558 1, // bcWidth
2559 1, // bcHeight
2560 },
2561
2562 // R16G16_UNORM (0xCC)
2563 {
2564 "R16G16_UNORM",
2565 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2566 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2567 { 0, 1, 0, 0 }, // Swizzle
2568 { 16, 16, 0, 0 }, // Bits per component
2569 32, // Bits per element
2570 4, // Bytes per element
2571 2, // Num components
2572 false, // isSRGB
2573 false, // isBC
2574 false, // isSubsampled
2575 false, // isLuminance
2576 { true, true, false, false }, // Is normalized?
2577 { 1.0f / 65535.0f, 1.0f / 65535.0f, 0, 0 }, // To float scale factor
2578 1, // bcWidth
2579 1, // bcHeight
2580 },
2581
2582 // R16G16_SNORM (0xCD)
2583 {
2584 "R16G16_SNORM",
2585 { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2586 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2587 { 0, 1, 0, 0 }, // Swizzle
2588 { 16, 16, 0, 0 }, // Bits per component
2589 32, // Bits per element
2590 4, // Bytes per element
2591 2, // Num components
2592 false, // isSRGB
2593 false, // isBC
2594 false, // isSubsampled
2595 false, // isLuminance
2596 { true, true, false, false }, // Is normalized?
2597 { 1.0f / 32767.0f, 1.0f / 32767.0f, 0, 0 }, // To float scale factor
2598 1, // bcWidth
2599 1, // bcHeight
2600 },
2601
2602 // R16G16_SINT (0xCE)
2603 {
2604 "R16G16_SINT",
2605 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2606 { 0, 0, 0, 0x1 }, // Defaults for missing components
2607 { 0, 1, 0, 0 }, // Swizzle
2608 { 16, 16, 0, 0 }, // Bits per component
2609 32, // Bits per element
2610 4, // Bytes per element
2611 2, // Num components
2612 false, // isSRGB
2613 false, // isBC
2614 false, // isSubsampled
2615 false, // isLuminance
2616 { false, false, false, false }, // Is normalized?
2617 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
2618 1, // bcWidth
2619 1, // bcHeight
2620 },
2621
2622 // R16G16_UINT (0xCF)
2623 {
2624 "R16G16_UINT",
2625 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2626 { 0, 0, 0, 0x1 }, // Defaults for missing components
2627 { 0, 1, 0, 0 }, // Swizzle
2628 { 16, 16, 0, 0 }, // Bits per component
2629 32, // Bits per element
2630 4, // Bytes per element
2631 2, // Num components
2632 false, // isSRGB
2633 false, // isBC
2634 false, // isSubsampled
2635 false, // isLuminance
2636 { false, false, false, false }, // Is normalized?
2637 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
2638 1, // bcWidth
2639 1, // bcHeight
2640 },
2641
2642 // R16G16_FLOAT (0xD0)
2643 {
2644 "R16G16_FLOAT",
2645 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2646 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2647 { 0, 1, 0, 0 }, // Swizzle
2648 { 16, 16, 0, 0 }, // Bits per component
2649 32, // Bits per element
2650 4, // Bytes per element
2651 2, // Num components
2652 false, // isSRGB
2653 false, // isBC
2654 false, // isSubsampled
2655 false, // isLuminance
2656 { false, false, false, false }, // Is normalized?
2657 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
2658 1, // bcWidth
2659 1, // bcHeight
2660 },
2661
2662 // B10G10R10A2_UNORM (0xD1)
2663 {
2664 "B10G10R10A2_UNORM",
2665 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2666 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2667 { 2, 1, 0, 3 }, // Swizzle
2668 { 10, 10, 10, 2 }, // Bits per component
2669 32, // Bits per element
2670 4, // Bytes per element
2671 4, // Num components
2672 false, // isSRGB
2673 false, // isBC
2674 false, // isSubsampled
2675 false, // isLuminance
2676 { true, true, true, true }, // Is normalized?
2677 { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f }, // To float scale factor
2678 1, // bcWidth
2679 1, // bcHeight
2680 },
2681
2682 // B10G10R10A2_UNORM_SRGB (0xD2)
2683 {
2684 "B10G10R10A2_UNORM_SRGB",
2685 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
2686 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2687 { 2, 1, 0, 3 }, // Swizzle
2688 { 10, 10, 10, 2 }, // Bits per component
2689 32, // Bits per element
2690 4, // Bytes per element
2691 4, // Num components
2692 true, // isSRGB
2693 false, // isBC
2694 false, // isSubsampled
2695 false, // isLuminance
2696 { true, true, true, true }, // Is normalized?
2697 { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f }, // To float scale factor
2698 1, // bcWidth
2699 1, // bcHeight
2700 },
2701
2702 // R11G11B10_FLOAT (0xD3)
2703 {
2704 "R11G11B10_FLOAT",
2705 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
2706 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2707 { 0, 1, 2, 0 }, // Swizzle
2708 { 11, 11, 10, 0 }, // Bits per component
2709 32, // Bits per element
2710 4, // Bytes per element
2711 3, // Num components
2712 false, // isSRGB
2713 false, // isBC
2714 false, // isSubsampled
2715 false, // isLuminance
2716 { false, false, false, false }, // Is normalized?
2717 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
2718 1, // bcWidth
2719 1, // bcHeight
2720 },
2721
2722 // padding (0xD4)
2723 {
2724 nullptr,
2725 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2726 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2727 0, 0, 0, false, false, false, false,
2728 { false, false, false, false },
2729 { 0.0f, 0.0f, 0.0f, 0.0f },
2730 1, 1
2731 },
2732 // padding (0xD5)
2733 {
2734 nullptr,
2735 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2736 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2737 0, 0, 0, false, false, false, false,
2738 { false, false, false, false },
2739 { 0.0f, 0.0f, 0.0f, 0.0f },
2740 1, 1
2741 },
2742 // R32_SINT (0xD6)
2743 {
2744 "R32_SINT",
2745 { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2746 { 0, 0, 0, 0x1 }, // Defaults for missing components
2747 { 0, 0, 0, 0 }, // Swizzle
2748 { 32, 0, 0, 0 }, // Bits per component
2749 32, // Bits per element
2750 4, // Bytes per element
2751 1, // Num components
2752 false, // isSRGB
2753 false, // isBC
2754 false, // isSubsampled
2755 false, // isLuminance
2756 { false, false, false, false }, // Is normalized?
2757 { 1.0f, 0, 0, 0 }, // To float scale factor
2758 1, // bcWidth
2759 1, // bcHeight
2760 },
2761
2762 // R32_UINT (0xD7)
2763 {
2764 "R32_UINT",
2765 { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2766 { 0, 0, 0, 0x1 }, // Defaults for missing components
2767 { 0, 0, 0, 0 }, // Swizzle
2768 { 32, 0, 0, 0 }, // Bits per component
2769 32, // Bits per element
2770 4, // Bytes per element
2771 1, // Num components
2772 false, // isSRGB
2773 false, // isBC
2774 false, // isSubsampled
2775 false, // isLuminance
2776 { false, false, false, false }, // Is normalized?
2777 { 1.0f, 0, 0, 0 }, // To float scale factor
2778 1, // bcWidth
2779 1, // bcHeight
2780 },
2781
2782 // R32_FLOAT (0xD8)
2783 {
2784 "R32_FLOAT",
2785 { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2786 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2787 { 0, 0, 0, 0 }, // Swizzle
2788 { 32, 0, 0, 0 }, // Bits per component
2789 32, // Bits per element
2790 4, // Bytes per element
2791 1, // Num components
2792 false, // isSRGB
2793 false, // isBC
2794 false, // isSubsampled
2795 false, // isLuminance
2796 { false, false, false, false }, // Is normalized?
2797 { 1.0f, 0, 0, 0 }, // To float scale factor
2798 1, // bcWidth
2799 1, // bcHeight
2800 },
2801
2802 // R24_UNORM_X8_TYPELESS (0xD9)
2803 {
2804 "R24_UNORM_X8_TYPELESS",
2805 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2806 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2807 { 0, 1, 2, 3 }, // Swizzle
2808 { 24, 0, 0, 0 }, // Bits per component
2809 32, // Bits per element
2810 4, // Bytes per element
2811 1, // Num components
2812 false, // isSRGB
2813 false, // isBC
2814 false, // isSubsampled
2815 false, // isLuminance
2816 { true, false, false, false }, // Is normalized?
2817 { 1.0f / 16777215.0f, 0, 0, 0 }, // To float scale factor
2818 1, // bcWidth
2819 1, // bcHeight
2820 },
2821
2822 // X24_TYPELESS_G8_UINT (0xDA)
2823 {
2824 "X24_TYPELESS_G8_UINT",
2825 { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2826 { 0, 0, 0, 0x1 }, // Defaults for missing components
2827 { 1, 0, 0, 0 }, // Swizzle
2828 { 32, 0, 0, 0 }, // Bits per component
2829 32, // Bits per element
2830 4, // Bytes per element
2831 1, // Num components
2832 false, // isSRGB
2833 false, // isBC
2834 false, // isSubsampled
2835 false, // isLuminance
2836 { false, false, false, false }, // Is normalized?
2837 { 1.0f, 0, 0, 0 }, // To float scale factor
2838 1, // bcWidth
2839 1, // bcHeight
2840 },
2841
2842 // padding (0xDB)
2843 {
2844 nullptr,
2845 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2846 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2847 0, 0, 0, false, false, false, false,
2848 { false, false, false, false },
2849 { 0.0f, 0.0f, 0.0f, 0.0f },
2850 1, 1
2851 },
2852 // padding (0xDC)
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 // L32_UNORM (0xDD)
2863 {
2864 "L32_UNORM",
2865 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2866 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2867 { 0, 0, 0, 0 }, // Swizzle
2868 { 32, 0, 0, 0 }, // Bits per component
2869 32, // Bits per element
2870 4, // Bytes per element
2871 1, // Num components
2872 false, // isSRGB
2873 false, // isBC
2874 false, // isSubsampled
2875 true, // isLuminance
2876 { true, false, false, false }, // Is normalized?
2877 { 1.0f / 4294967295.0f, 0, 0, 0 }, // To float scale factor
2878 1, // bcWidth
2879 1, // bcHeight
2880 },
2881
2882 // padding (0xDE)
2883 {
2884 nullptr,
2885 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2886 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2887 0, 0, 0, false, false, false, false,
2888 { false, false, false, false },
2889 { 0.0f, 0.0f, 0.0f, 0.0f },
2890 1, 1
2891 },
2892 // L16A16_UNORM (0xDF)
2893 {
2894 "L16A16_UNORM",
2895 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2896 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2897 { 0, 3, 0, 0 }, // Swizzle
2898 { 16, 16, 0, 0 }, // Bits per component
2899 32, // Bits per element
2900 4, // Bytes per element
2901 2, // Num components
2902 false, // isSRGB
2903 false, // isBC
2904 false, // isSubsampled
2905 true, // isLuminance
2906 { true, true, false, false }, // Is normalized?
2907 { 1.0f / 65535.0f, 1.0f / 65535.0f, 0, 0 }, // To float scale factor
2908 1, // bcWidth
2909 1, // bcHeight
2910 },
2911
2912 // I24X8_UNORM (0xE0)
2913 {
2914 "I24X8_UNORM",
2915 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2916 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2917 { 0, 3, 0, 0 }, // Swizzle
2918 { 24, 8, 0, 0 }, // Bits per component
2919 32, // Bits per element
2920 4, // Bytes per element
2921 2, // Num components
2922 false, // isSRGB
2923 false, // isBC
2924 false, // isSubsampled
2925 true, // isLuminance
2926 { true, true, false, false }, // Is normalized?
2927 { 1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
2928 1, // bcWidth
2929 1, // bcHeight
2930 },
2931
2932 // L24X8_UNORM (0xE1)
2933 {
2934 "L24X8_UNORM",
2935 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2936 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2937 { 0, 3, 0, 0 }, // Swizzle
2938 { 24, 8, 0, 0 }, // Bits per component
2939 32, // Bits per element
2940 4, // Bytes per element
2941 2, // Num components
2942 false, // isSRGB
2943 false, // isBC
2944 false, // isSubsampled
2945 true, // isLuminance
2946 { true, true, false, false }, // Is normalized?
2947 { 1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
2948 1, // bcWidth
2949 1, // bcHeight
2950 },
2951
2952 // padding (0xE2)
2953 {
2954 nullptr,
2955 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2956 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
2957 0, 0, 0, false, false, false, false,
2958 { false, false, false, false },
2959 { 0.0f, 0.0f, 0.0f, 0.0f },
2960 1, 1
2961 },
2962 // I32_FLOAT (0xE3)
2963 {
2964 "I32_FLOAT",
2965 { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2966 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2967 { 0, 0, 0, 0 }, // Swizzle
2968 { 32, 0, 0, 0 }, // Bits per component
2969 32, // Bits per element
2970 4, // Bytes per element
2971 1, // Num components
2972 false, // isSRGB
2973 false, // isBC
2974 false, // isSubsampled
2975 true, // isLuminance
2976 { false, false, false, false }, // Is normalized?
2977 { 1.0f, 0, 0, 0 }, // To float scale factor
2978 1, // bcWidth
2979 1, // bcHeight
2980 },
2981
2982 // L32_FLOAT (0xE4)
2983 {
2984 "L32_FLOAT",
2985 { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
2986 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
2987 { 0, 0, 0, 0 }, // Swizzle
2988 { 32, 0, 0, 0 }, // Bits per component
2989 32, // Bits per element
2990 4, // Bytes per element
2991 1, // Num components
2992 false, // isSRGB
2993 false, // isBC
2994 false, // isSubsampled
2995 true, // isLuminance
2996 { false, false, false, false }, // Is normalized?
2997 { 1.0f, 0, 0, 0 }, // To float scale factor
2998 1, // bcWidth
2999 1, // bcHeight
3000 },
3001
3002 // A32_FLOAT (0xE5)
3003 {
3004 "A32_FLOAT",
3005 { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3006 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3007 { 3, 0, 0, 0 }, // Swizzle
3008 { 32, 0, 0, 0 }, // Bits per component
3009 32, // Bits per element
3010 4, // Bytes per element
3011 1, // Num components
3012 false, // isSRGB
3013 false, // isBC
3014 false, // isSubsampled
3015 false, // isLuminance
3016 { false, false, false, false }, // Is normalized?
3017 { 1.0f, 0, 0, 0 }, // To float scale factor
3018 1, // bcWidth
3019 1, // bcHeight
3020 },
3021
3022 // padding (0xE6)
3023 {
3024 nullptr,
3025 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3026 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3027 0, 0, 0, false, false, false, false,
3028 { false, false, false, false },
3029 { 0.0f, 0.0f, 0.0f, 0.0f },
3030 1, 1
3031 },
3032 // padding (0xE7)
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 (0xE8)
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 // B8G8R8X8_UNORM (0xE9)
3053 {
3054 "B8G8R8X8_UNORM",
3055 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3056 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3057 { 2, 1, 0, 3 }, // Swizzle
3058 { 8, 8, 8, 8 }, // Bits per component
3059 32, // Bits per element
3060 4, // Bytes per element
3061 4, // Num components
3062 false, // isSRGB
3063 false, // isBC
3064 false, // isSubsampled
3065 false, // isLuminance
3066 { true, true, true, false }, // Is normalized?
3067 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3068 1, // bcWidth
3069 1, // bcHeight
3070 },
3071
3072 // B8G8R8X8_UNORM_SRGB (0xEA)
3073 {
3074 "B8G8R8X8_UNORM_SRGB",
3075 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3076 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3077 { 2, 1, 0, 3 }, // Swizzle
3078 { 8, 8, 8, 8 }, // Bits per component
3079 32, // Bits per element
3080 4, // Bytes per element
3081 4, // Num components
3082 true, // isSRGB
3083 false, // isBC
3084 false, // isSubsampled
3085 false, // isLuminance
3086 { true, true, true, false }, // Is normalized?
3087 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3088 1, // bcWidth
3089 1, // bcHeight
3090 },
3091
3092 // R8G8B8X8_UNORM (0xEB)
3093 {
3094 "R8G8B8X8_UNORM",
3095 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3096 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3097 { 0, 1, 2, 3 }, // Swizzle
3098 { 8, 8, 8, 8 }, // Bits per component
3099 32, // Bits per element
3100 4, // Bytes per element
3101 4, // Num components
3102 false, // isSRGB
3103 false, // isBC
3104 false, // isSubsampled
3105 false, // isLuminance
3106 { true, true, true, false }, // Is normalized?
3107 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3108 1, // bcWidth
3109 1, // bcHeight
3110 },
3111
3112 // R8G8B8X8_UNORM_SRGB (0xEC)
3113 {
3114 "R8G8B8X8_UNORM_SRGB",
3115 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3116 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3117 { 0, 1, 2, 3 }, // Swizzle
3118 { 8, 8, 8, 8 }, // Bits per component
3119 32, // Bits per element
3120 4, // Bytes per element
3121 4, // Num components
3122 true, // isSRGB
3123 false, // isBC
3124 false, // isSubsampled
3125 false, // isLuminance
3126 { true, true, true, false }, // Is normalized?
3127 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f }, // To float scale factor
3128 1, // bcWidth
3129 1, // bcHeight
3130 },
3131
3132 // R9G9B9E5_SHAREDEXP (0xED)
3133 {
3134 "R9G9B9E5_SHAREDEXP",
3135 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
3136 { 0, 0, 0, 0x1 }, // Defaults for missing components
3137 { 0, 1, 2, 3 }, // Swizzle
3138 { 9, 9, 9, 5 }, // Bits per component
3139 32, // Bits per element
3140 4, // Bytes per element
3141 4, // Num components
3142 false, // isSRGB
3143 false, // isBC
3144 false, // isSubsampled
3145 false, // isLuminance
3146 { false, false, false, false }, // Is normalized?
3147 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3148 1, // bcWidth
3149 1, // bcHeight
3150 },
3151
3152 // B10G10R10X2_UNORM (0xEE)
3153 {
3154 "B10G10R10X2_UNORM",
3155 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3156 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3157 { 2, 1, 0, 3 }, // Swizzle
3158 { 10, 10, 10, 2 }, // Bits per component
3159 32, // Bits per element
3160 4, // Bytes per element
3161 4, // Num components
3162 false, // isSRGB
3163 false, // isBC
3164 false, // isSubsampled
3165 false, // isLuminance
3166 { true, true, true, false }, // Is normalized?
3167 { 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f }, // To float scale factor
3168 1, // bcWidth
3169 1, // bcHeight
3170 },
3171
3172 // padding (0xEF)
3173 {
3174 nullptr,
3175 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3176 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3177 0, 0, 0, false, false, false, false,
3178 { false, false, false, false },
3179 { 0.0f, 0.0f, 0.0f, 0.0f },
3180 1, 1
3181 },
3182 // L16A16_FLOAT (0xF0)
3183 {
3184 "L16A16_FLOAT",
3185 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3186 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3187 { 0, 3, 0, 0 }, // Swizzle
3188 { 16, 16, 0, 0 }, // Bits per component
3189 32, // Bits per element
3190 4, // Bytes per element
3191 2, // Num components
3192 false, // isSRGB
3193 false, // isBC
3194 false, // isSubsampled
3195 true, // isLuminance
3196 { false, false, false, false }, // Is normalized?
3197 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3198 1, // bcWidth
3199 1, // bcHeight
3200 },
3201
3202 // padding (0xF1)
3203 {
3204 nullptr,
3205 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3206 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3207 0, 0, 0, false, false, false, false,
3208 { false, false, false, false },
3209 { 0.0f, 0.0f, 0.0f, 0.0f },
3210 1, 1
3211 },
3212 // padding (0xF2)
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 // R10G10B10X2_USCALED (0xF3)
3223 {
3224 "R10G10B10X2_USCALED",
3225 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNUSED },
3226 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3227 { 0, 1, 2, 3 }, // Swizzle
3228 { 10, 10, 10, 2 }, // Bits per component
3229 32, // Bits per element
3230 4, // Bytes per element
3231 4, // Num components
3232 false, // isSRGB
3233 false, // isBC
3234 false, // isSubsampled
3235 false, // isLuminance
3236 { false, false, false, false }, // Is normalized?
3237 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3238 1, // bcWidth
3239 1, // bcHeight
3240 },
3241
3242 // R8G8B8A8_SSCALED (0xF4)
3243 {
3244 "R8G8B8A8_SSCALED",
3245 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
3246 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3247 { 0, 1, 2, 3 }, // Swizzle
3248 { 8, 8, 8, 8 }, // Bits per component
3249 32, // Bits per element
3250 4, // Bytes per element
3251 4, // Num components
3252 false, // isSRGB
3253 false, // isBC
3254 false, // isSubsampled
3255 false, // isLuminance
3256 { false, false, false, false }, // Is normalized?
3257 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3258 1, // bcWidth
3259 1, // bcHeight
3260 },
3261
3262 // R8G8B8A8_USCALED (0xF5)
3263 {
3264 "R8G8B8A8_USCALED",
3265 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
3266 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3267 { 0, 1, 2, 3 }, // Swizzle
3268 { 8, 8, 8, 8 }, // Bits per component
3269 32, // Bits per element
3270 4, // Bytes per element
3271 4, // Num components
3272 false, // isSRGB
3273 false, // isBC
3274 false, // isSubsampled
3275 false, // isLuminance
3276 { false, false, false, false }, // Is normalized?
3277 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
3278 1, // bcWidth
3279 1, // bcHeight
3280 },
3281
3282 // R16G16_SSCALED (0xF6)
3283 {
3284 "R16G16_SSCALED",
3285 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3286 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3287 { 0, 1, 0, 0 }, // Swizzle
3288 { 16, 16, 0, 0 }, // Bits per component
3289 32, // Bits per element
3290 4, // Bytes per element
3291 2, // Num components
3292 false, // isSRGB
3293 false, // isBC
3294 false, // isSubsampled
3295 false, // isLuminance
3296 { false, false, false, false }, // Is normalized?
3297 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3298 1, // bcWidth
3299 1, // bcHeight
3300 },
3301
3302 // R16G16_USCALED (0xF7)
3303 {
3304 "R16G16_USCALED",
3305 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3306 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3307 { 0, 1, 0, 0 }, // Swizzle
3308 { 16, 16, 0, 0 }, // Bits per component
3309 32, // Bits per element
3310 4, // Bytes per element
3311 2, // Num components
3312 false, // isSRGB
3313 false, // isBC
3314 false, // isSubsampled
3315 false, // isLuminance
3316 { false, false, false, false }, // Is normalized?
3317 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3318 1, // bcWidth
3319 1, // bcHeight
3320 },
3321
3322 // R32_SSCALED (0xF8)
3323 {
3324 "R32_SSCALED",
3325 { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3326 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3327 { 0, 0, 0, 0 }, // Swizzle
3328 { 32, 0, 0, 0 }, // Bits per component
3329 32, // Bits per element
3330 4, // Bytes per element
3331 1, // Num components
3332 false, // isSRGB
3333 false, // isBC
3334 false, // isSubsampled
3335 false, // isLuminance
3336 { false, false, false, false }, // Is normalized?
3337 { 1.0f, 0, 0, 0 }, // To float scale factor
3338 1, // bcWidth
3339 1, // bcHeight
3340 },
3341
3342 // R32_USCALED (0xF9)
3343 {
3344 "R32_USCALED",
3345 { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3346 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3347 { 0, 0, 0, 0 }, // Swizzle
3348 { 32, 0, 0, 0 }, // Bits per component
3349 32, // Bits per element
3350 4, // Bytes per element
3351 1, // Num components
3352 false, // isSRGB
3353 false, // isBC
3354 false, // isSubsampled
3355 false, // isLuminance
3356 { false, false, false, false }, // Is normalized?
3357 { 1.0f, 0, 0, 0 }, // To float scale factor
3358 1, // bcWidth
3359 1, // bcHeight
3360 },
3361
3362 // padding (0xFA)
3363 {
3364 nullptr,
3365 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3366 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3367 0, 0, 0, false, false, false, false,
3368 { false, false, false, false },
3369 { 0.0f, 0.0f, 0.0f, 0.0f },
3370 1, 1
3371 },
3372 // padding (0xFB)
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 (0xFC)
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 (0xFD)
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 (0xFE)
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 (0xFF)
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 // B5G6R5_UNORM (0x100)
3423 {
3424 "B5G6R5_UNORM",
3425 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
3426 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3427 { 2, 1, 0, 0 }, // Swizzle
3428 { 5, 6, 5, 0 }, // Bits per component
3429 16, // Bits per element
3430 2, // Bytes per element
3431 3, // Num components
3432 false, // isSRGB
3433 false, // isBC
3434 false, // isSubsampled
3435 false, // isLuminance
3436 { true, true, true, false }, // Is normalized?
3437 { 1.0f / 31.0f, 1.0f / 63.0f, 1.0f / 31.0f, 0 }, // To float scale factor
3438 1, // bcWidth
3439 1, // bcHeight
3440 },
3441
3442 // B5G6R5_UNORM_SRGB (0x101)
3443 {
3444 "B5G6R5_UNORM_SRGB",
3445 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
3446 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3447 { 2, 1, 0, 0 }, // Swizzle
3448 { 5, 6, 5, 0 }, // Bits per component
3449 16, // Bits per element
3450 2, // Bytes per element
3451 3, // Num components
3452 true, // isSRGB
3453 false, // isBC
3454 false, // isSubsampled
3455 false, // isLuminance
3456 { true, true, true, false }, // Is normalized?
3457 { 1.0f / 31.0f, 1.0f / 63.0f, 1.0f / 31.0f, 0 }, // To float scale factor
3458 1, // bcWidth
3459 1, // bcHeight
3460 },
3461
3462 // B5G5R5A1_UNORM (0x102)
3463 {
3464 "B5G5R5A1_UNORM",
3465 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3466 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3467 { 2, 1, 0, 3 }, // Swizzle
3468 { 5, 5, 5, 1 }, // Bits per component
3469 16, // Bits per element
3470 2, // Bytes per element
3471 4, // Num components
3472 false, // isSRGB
3473 false, // isBC
3474 false, // isSubsampled
3475 false, // isLuminance
3476 { true, true, true, true }, // Is normalized?
3477 { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 1.0f }, // To float scale factor
3478 1, // bcWidth
3479 1, // bcHeight
3480 },
3481
3482 // B5G5R5A1_UNORM_SRGB (0x103)
3483 {
3484 "B5G5R5A1_UNORM_SRGB",
3485 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3486 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3487 { 2, 1, 0, 3 }, // Swizzle
3488 { 5, 5, 5, 1 }, // Bits per component
3489 16, // Bits per element
3490 2, // Bytes per element
3491 4, // Num components
3492 true, // isSRGB
3493 false, // isBC
3494 false, // isSubsampled
3495 false, // isLuminance
3496 { true, true, true, true }, // Is normalized?
3497 { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 1.0f }, // To float scale factor
3498 1, // bcWidth
3499 1, // bcHeight
3500 },
3501
3502 // B4G4R4A4_UNORM (0x104)
3503 {
3504 "B4G4R4A4_UNORM",
3505 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3506 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3507 { 2, 1, 0, 3 }, // Swizzle
3508 { 4, 4, 4, 4 }, // Bits per component
3509 16, // Bits per element
3510 2, // Bytes per element
3511 4, // Num components
3512 false, // isSRGB
3513 false, // isBC
3514 false, // isSubsampled
3515 false, // isLuminance
3516 { true, true, true, true }, // Is normalized?
3517 { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
3518 1, // bcWidth
3519 1, // bcHeight
3520 },
3521
3522 // B4G4R4A4_UNORM_SRGB (0x105)
3523 {
3524 "B4G4R4A4_UNORM_SRGB",
3525 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
3526 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3527 { 2, 1, 0, 3 }, // Swizzle
3528 { 4, 4, 4, 4 }, // Bits per component
3529 16, // Bits per element
3530 2, // Bytes per element
3531 4, // Num components
3532 true, // isSRGB
3533 false, // isBC
3534 false, // isSubsampled
3535 false, // isLuminance
3536 { true, true, true, true }, // Is normalized?
3537 { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
3538 1, // bcWidth
3539 1, // bcHeight
3540 },
3541
3542 // R8G8_UNORM (0x106)
3543 {
3544 "R8G8_UNORM",
3545 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3546 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3547 { 0, 1, 0, 0 }, // Swizzle
3548 { 8, 8, 0, 0 }, // Bits per component
3549 16, // Bits per element
3550 2, // Bytes per element
3551 2, // Num components
3552 false, // isSRGB
3553 false, // isBC
3554 false, // isSubsampled
3555 false, // isLuminance
3556 { true, true, false, false }, // Is normalized?
3557 { 1.0f / 255.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
3558 1, // bcWidth
3559 1, // bcHeight
3560 },
3561
3562 // R8G8_SNORM (0x107)
3563 {
3564 "R8G8_SNORM",
3565 { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3566 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3567 { 0, 1, 0, 0 }, // Swizzle
3568 { 8, 8, 0, 0 }, // Bits per component
3569 16, // Bits per element
3570 2, // Bytes per element
3571 2, // Num components
3572 false, // isSRGB
3573 false, // isBC
3574 false, // isSubsampled
3575 false, // isLuminance
3576 { true, true, false, false }, // Is normalized?
3577 { 1.0f / 127.0f, 1.0f / 127.0f, 0, 0 }, // To float scale factor
3578 1, // bcWidth
3579 1, // bcHeight
3580 },
3581
3582 // R8G8_SINT (0x108)
3583 {
3584 "R8G8_SINT",
3585 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3586 { 0, 0, 0, 0x1 }, // Defaults for missing components
3587 { 0, 1, 0, 0 }, // Swizzle
3588 { 8, 8, 0, 0 }, // Bits per component
3589 16, // Bits per element
3590 2, // Bytes per element
3591 2, // Num components
3592 false, // isSRGB
3593 false, // isBC
3594 false, // isSubsampled
3595 false, // isLuminance
3596 { false, false, false, false }, // Is normalized?
3597 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3598 1, // bcWidth
3599 1, // bcHeight
3600 },
3601
3602 // R8G8_UINT (0x109)
3603 {
3604 "R8G8_UINT",
3605 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3606 { 0, 0, 0, 0x1 }, // Defaults for missing components
3607 { 0, 1, 0, 0 }, // Swizzle
3608 { 8, 8, 0, 0 }, // Bits per component
3609 16, // Bits per element
3610 2, // Bytes per element
3611 2, // Num components
3612 false, // isSRGB
3613 false, // isBC
3614 false, // isSubsampled
3615 false, // isLuminance
3616 { false, false, false, false }, // Is normalized?
3617 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3618 1, // bcWidth
3619 1, // bcHeight
3620 },
3621
3622 // R16_UNORM (0x10A)
3623 {
3624 "R16_UNORM",
3625 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3626 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3627 { 0, 0, 0, 0 }, // Swizzle
3628 { 16, 0, 0, 0 }, // Bits per component
3629 16, // Bits per element
3630 2, // Bytes per element
3631 1, // Num components
3632 false, // isSRGB
3633 false, // isBC
3634 false, // isSubsampled
3635 false, // isLuminance
3636 { true, false, false, false }, // Is normalized?
3637 { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3638 1, // bcWidth
3639 1, // bcHeight
3640 },
3641
3642 // R16_SNORM (0x10B)
3643 {
3644 "R16_SNORM",
3645 { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3646 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3647 { 0, 0, 0, 0 }, // Swizzle
3648 { 16, 0, 0, 0 }, // Bits per component
3649 16, // Bits per element
3650 2, // Bytes per element
3651 1, // Num components
3652 false, // isSRGB
3653 false, // isBC
3654 false, // isSubsampled
3655 false, // isLuminance
3656 { true, false, false, false }, // Is normalized?
3657 { 1.0f / 32767.0f, 0, 0, 0 }, // To float scale factor
3658 1, // bcWidth
3659 1, // bcHeight
3660 },
3661
3662 // R16_SINT (0x10C)
3663 {
3664 "R16_SINT",
3665 { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3666 { 0, 0, 0, 0x1 }, // Defaults for missing components
3667 { 0, 0, 0, 0 }, // Swizzle
3668 { 16, 0, 0, 0 }, // Bits per component
3669 16, // Bits per element
3670 2, // Bytes per element
3671 1, // Num components
3672 false, // isSRGB
3673 false, // isBC
3674 false, // isSubsampled
3675 false, // isLuminance
3676 { false, false, false, false }, // Is normalized?
3677 { 1.0f, 0, 0, 0 }, // To float scale factor
3678 1, // bcWidth
3679 1, // bcHeight
3680 },
3681
3682 // R16_UINT (0x10D)
3683 {
3684 "R16_UINT",
3685 { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3686 { 0, 0, 0, 0x1 }, // Defaults for missing components
3687 { 0, 0, 0, 0 }, // Swizzle
3688 { 16, 0, 0, 0 }, // Bits per component
3689 16, // Bits per element
3690 2, // Bytes per element
3691 1, // Num components
3692 false, // isSRGB
3693 false, // isBC
3694 false, // isSubsampled
3695 false, // isLuminance
3696 { false, false, false, false }, // Is normalized?
3697 { 1.0f, 0, 0, 0 }, // To float scale factor
3698 1, // bcWidth
3699 1, // bcHeight
3700 },
3701
3702 // R16_FLOAT (0x10E)
3703 {
3704 "R16_FLOAT",
3705 { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3706 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3707 { 0, 0, 0, 0 }, // Swizzle
3708 { 16, 0, 0, 0 }, // Bits per component
3709 16, // Bits per element
3710 2, // Bytes per element
3711 1, // Num components
3712 false, // isSRGB
3713 false, // isBC
3714 false, // isSubsampled
3715 false, // isLuminance
3716 { false, false, false, false }, // Is normalized?
3717 { 1.0f, 0, 0, 0 }, // To float scale factor
3718 1, // bcWidth
3719 1, // bcHeight
3720 },
3721
3722 // padding (0x10F)
3723 {
3724 nullptr,
3725 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3726 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3727 0, 0, 0, false, false, false, false,
3728 { false, false, false, false },
3729 { 0.0f, 0.0f, 0.0f, 0.0f },
3730 1, 1
3731 },
3732 // padding (0x110)
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 // I16_UNORM (0x111)
3743 {
3744 "I16_UNORM",
3745 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3746 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3747 { 0, 0, 0, 0 }, // Swizzle
3748 { 16, 0, 0, 0 }, // Bits per component
3749 16, // Bits per element
3750 2, // Bytes per element
3751 1, // Num components
3752 false, // isSRGB
3753 false, // isBC
3754 false, // isSubsampled
3755 true, // isLuminance
3756 { true, false, false, false }, // Is normalized?
3757 { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3758 1, // bcWidth
3759 1, // bcHeight
3760 },
3761
3762 // L16_UNORM (0x112)
3763 {
3764 "L16_UNORM",
3765 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3766 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3767 { 0, 0, 0, 0 }, // Swizzle
3768 { 16, 0, 0, 0 }, // Bits per component
3769 16, // Bits per element
3770 2, // Bytes per element
3771 1, // Num components
3772 false, // isSRGB
3773 false, // isBC
3774 false, // isSubsampled
3775 true, // isLuminance
3776 { true, false, false, false }, // Is normalized?
3777 { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3778 1, // bcWidth
3779 1, // bcHeight
3780 },
3781
3782 // A16_UNORM (0x113)
3783 {
3784 "A16_UNORM",
3785 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3786 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3787 { 3, 0, 0, 0 }, // Swizzle
3788 { 16, 0, 0, 0 }, // Bits per component
3789 16, // Bits per element
3790 2, // Bytes per element
3791 1, // Num components
3792 false, // isSRGB
3793 false, // isBC
3794 false, // isSubsampled
3795 false, // isLuminance
3796 { true, false, false, false }, // Is normalized?
3797 { 1.0f / 65535.0f, 0, 0, 0 }, // To float scale factor
3798 1, // bcWidth
3799 1, // bcHeight
3800 },
3801
3802 // L8A8_UNORM (0x114)
3803 {
3804 "L8A8_UNORM",
3805 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3806 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3807 { 0, 3, 0, 0 }, // Swizzle
3808 { 8, 8, 0, 0 }, // Bits per component
3809 16, // Bits per element
3810 2, // Bytes per element
3811 2, // Num components
3812 false, // isSRGB
3813 false, // isBC
3814 false, // isSubsampled
3815 true, // isLuminance
3816 { true, true, false, false }, // Is normalized?
3817 { 1.0f / 255.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
3818 1, // bcWidth
3819 1, // bcHeight
3820 },
3821
3822 // I16_FLOAT (0x115)
3823 {
3824 "I16_FLOAT",
3825 { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3826 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3827 { 0, 0, 0, 0 }, // Swizzle
3828 { 16, 0, 0, 0 }, // Bits per component
3829 16, // Bits per element
3830 2, // Bytes per element
3831 1, // Num components
3832 false, // isSRGB
3833 false, // isBC
3834 false, // isSubsampled
3835 true, // isLuminance
3836 { false, false, false, false }, // Is normalized?
3837 { 1.0f, 0, 0, 0 }, // To float scale factor
3838 1, // bcWidth
3839 1, // bcHeight
3840 },
3841
3842 // L16_FLOAT (0x116)
3843 {
3844 "L16_FLOAT",
3845 { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3846 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3847 { 0, 0, 0, 0 }, // Swizzle
3848 { 16, 0, 0, 0 }, // Bits per component
3849 16, // Bits per element
3850 2, // Bytes per element
3851 1, // Num components
3852 false, // isSRGB
3853 false, // isBC
3854 false, // isSubsampled
3855 true, // isLuminance
3856 { false, false, false, false }, // Is normalized?
3857 { 1.0f, 0, 0, 0 }, // To float scale factor
3858 1, // bcWidth
3859 1, // bcHeight
3860 },
3861
3862 // A16_FLOAT (0x117)
3863 {
3864 "A16_FLOAT",
3865 { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3866 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3867 { 3, 0, 0, 0 }, // Swizzle
3868 { 16, 0, 0, 0 }, // Bits per component
3869 16, // Bits per element
3870 2, // Bytes per element
3871 1, // Num components
3872 false, // isSRGB
3873 false, // isBC
3874 false, // isSubsampled
3875 false, // isLuminance
3876 { false, false, false, false }, // Is normalized?
3877 { 1.0f, 0, 0, 0 }, // To float scale factor
3878 1, // bcWidth
3879 1, // bcHeight
3880 },
3881
3882 // L8A8_UNORM_SRGB (0x118)
3883 {
3884 "L8A8_UNORM_SRGB",
3885 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3886 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3887 { 0, 3, 0, 0 }, // Swizzle
3888 { 8, 8, 0, 0 }, // Bits per component
3889 16, // Bits per element
3890 2, // Bytes per element
3891 2, // Num components
3892 true, // isSRGB
3893 false, // isBC
3894 false, // isSubsampled
3895 true, // isLuminance
3896 { true, true, false, false }, // Is normalized?
3897 { 1.0f / 255.0f, 1.0f / 255.0f, 0, 0 }, // To float scale factor
3898 1, // bcWidth
3899 1, // bcHeight
3900 },
3901
3902 // padding (0x119)
3903 {
3904 nullptr,
3905 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3906 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
3907 0, 0, 0, false, false, false, false,
3908 { false, false, false, false },
3909 { 0.0f, 0.0f, 0.0f, 0.0f },
3910 1, 1
3911 },
3912 // B5G5R5X1_UNORM (0x11A)
3913 {
3914 "B5G5R5X1_UNORM",
3915 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3916 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3917 { 2, 1, 0, 3 }, // Swizzle
3918 { 5, 5, 5, 1 }, // Bits per component
3919 16, // Bits per element
3920 2, // Bytes per element
3921 4, // Num components
3922 false, // isSRGB
3923 false, // isBC
3924 false, // isSubsampled
3925 false, // isLuminance
3926 { true, true, true, false }, // Is normalized?
3927 { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f }, // To float scale factor
3928 1, // bcWidth
3929 1, // bcHeight
3930 },
3931
3932 // B5G5R5X1_UNORM_SRGB (0x11B)
3933 {
3934 "B5G5R5X1_UNORM_SRGB",
3935 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
3936 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3937 { 2, 1, 0, 3 }, // Swizzle
3938 { 5, 5, 5, 1 }, // Bits per component
3939 16, // Bits per element
3940 2, // Bytes per element
3941 4, // Num components
3942 true, // isSRGB
3943 false, // isBC
3944 false, // isSubsampled
3945 false, // isLuminance
3946 { true, true, true, false }, // Is normalized?
3947 { 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f }, // To float scale factor
3948 1, // bcWidth
3949 1, // bcHeight
3950 },
3951
3952 // R8G8_SSCALED (0x11C)
3953 {
3954 "R8G8_SSCALED",
3955 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3956 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3957 { 0, 1, 0, 0 }, // Swizzle
3958 { 8, 8, 0, 0 }, // Bits per component
3959 16, // Bits per element
3960 2, // Bytes per element
3961 2, // Num components
3962 false, // isSRGB
3963 false, // isBC
3964 false, // isSubsampled
3965 false, // isLuminance
3966 { false, false, false, false }, // Is normalized?
3967 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3968 1, // bcWidth
3969 1, // bcHeight
3970 },
3971
3972 // R8G8_USCALED (0x11D)
3973 {
3974 "R8G8_USCALED",
3975 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3976 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3977 { 0, 1, 0, 0 }, // Swizzle
3978 { 8, 8, 0, 0 }, // Bits per component
3979 16, // Bits per element
3980 2, // Bytes per element
3981 2, // Num components
3982 false, // isSRGB
3983 false, // isBC
3984 false, // isSubsampled
3985 false, // isLuminance
3986 { false, false, false, false }, // Is normalized?
3987 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
3988 1, // bcWidth
3989 1, // bcHeight
3990 },
3991
3992 // R16_SSCALED (0x11E)
3993 {
3994 "R16_SSCALED",
3995 { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
3996 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
3997 { 0, 0, 0, 0 }, // Swizzle
3998 { 16, 0, 0, 0 }, // Bits per component
3999 16, // Bits per element
4000 2, // Bytes per element
4001 1, // Num components
4002 false, // isSRGB
4003 false, // isBC
4004 false, // isSubsampled
4005 false, // isLuminance
4006 { false, false, false, false }, // Is normalized?
4007 { 1.0f, 0, 0, 0 }, // To float scale factor
4008 1, // bcWidth
4009 1, // bcHeight
4010 },
4011
4012 // R16_USCALED (0x11F)
4013 {
4014 "R16_USCALED",
4015 { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4016 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4017 { 0, 0, 0, 0 }, // Swizzle
4018 { 16, 0, 0, 0 }, // Bits per component
4019 16, // Bits per element
4020 2, // Bytes per element
4021 1, // Num components
4022 false, // isSRGB
4023 false, // isBC
4024 false, // isSubsampled
4025 false, // isLuminance
4026 { false, false, false, false }, // Is normalized?
4027 { 1.0f, 0, 0, 0 }, // To float scale factor
4028 1, // bcWidth
4029 1, // bcHeight
4030 },
4031
4032 // padding (0x120)
4033 {
4034 nullptr,
4035 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4036 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4037 0, 0, 0, false, false, false, false,
4038 { false, false, false, false },
4039 { 0.0f, 0.0f, 0.0f, 0.0f },
4040 1, 1
4041 },
4042 // padding (0x121)
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 (0x122)
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 (0x123)
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 // A1B5G5R5_UNORM (0x124)
4073 {
4074 "A1B5G5R5_UNORM",
4075 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
4076 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4077 { 3, 2, 1, 0 }, // Swizzle
4078 { 1, 5, 5, 5 }, // Bits per component
4079 16, // Bits per element
4080 2, // Bytes per element
4081 4, // Num components
4082 false, // isSRGB
4083 false, // isBC
4084 false, // isSubsampled
4085 false, // isLuminance
4086 { true, true, true, true }, // Is normalized?
4087 { 1.0f / 1.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f }, // To float scale factor
4088 1, // bcWidth
4089 1, // bcHeight
4090 },
4091
4092 // A4B4G4R4_UNORM (0x125)
4093 {
4094 "A4B4G4R4_UNORM",
4095 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
4096 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4097 { 3, 2, 1, 0 }, // Swizzle
4098 { 4, 4, 4, 4 }, // Bits per component
4099 16, // Bits per element
4100 2, // Bytes per element
4101 4, // Num components
4102 false, // isSRGB
4103 false, // isBC
4104 false, // isSubsampled
4105 false, // isLuminance
4106 { true, true, true, true }, // Is normalized?
4107 { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
4108 1, // bcWidth
4109 1, // bcHeight
4110 },
4111
4112 // L8A8_UINT (0x126)
4113 {
4114 "L8A8_UINT",
4115 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4116 { 0, 0, 0, 0x1 }, // Defaults for missing components
4117 { 0, 3, 0, 0 }, // Swizzle
4118 { 8, 8, 0, 0 }, // Bits per component
4119 16, // Bits per element
4120 2, // Bytes per element
4121 2, // Num components
4122 false, // isSRGB
4123 false, // isBC
4124 false, // isSubsampled
4125 true, // isLuminance
4126 { false, false, false, false }, // Is normalized?
4127 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
4128 1, // bcWidth
4129 1, // bcHeight
4130 },
4131
4132 // L8A8_SINT (0x127)
4133 {
4134 "L8A8_SINT",
4135 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4136 { 0, 0, 0, 0x1 }, // Defaults for missing components
4137 { 0, 3, 0, 0 }, // Swizzle
4138 { 8, 8, 0, 0 }, // Bits per component
4139 16, // Bits per element
4140 2, // Bytes per element
4141 2, // Num components
4142 false, // isSRGB
4143 false, // isBC
4144 false, // isSubsampled
4145 true, // isLuminance
4146 { false, false, false, false }, // Is normalized?
4147 { 1.0f, 1.0f, 0, 0 }, // To float scale factor
4148 1, // bcWidth
4149 1, // bcHeight
4150 },
4151
4152 // padding (0x128)
4153 {
4154 nullptr,
4155 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4156 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4157 0, 0, 0, false, false, false, false,
4158 { false, false, false, false },
4159 { 0.0f, 0.0f, 0.0f, 0.0f },
4160 1, 1
4161 },
4162 // padding (0x129)
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 (0x12A)
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 (0x12B)
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 (0x12C)
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 (0x12D)
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 (0x12E)
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 (0x12F)
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 (0x130)
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 (0x131)
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 (0x132)
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 (0x133)
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 (0x134)
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 (0x135)
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 (0x136)
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 (0x137)
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 (0x138)
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 (0x139)
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 (0x13A)
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 (0x13B)
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 (0x13C)
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 (0x13D)
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 (0x13E)
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 (0x13F)
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 // R8_UNORM (0x140)
4393 {
4394 "R8_UNORM",
4395 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4396 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4397 { 0, 0, 0, 0 }, // Swizzle
4398 { 8, 0, 0, 0 }, // Bits per component
4399 8, // Bits per element
4400 1, // Bytes per element
4401 1, // Num components
4402 false, // isSRGB
4403 false, // isBC
4404 false, // isSubsampled
4405 false, // isLuminance
4406 { true, false, false, false }, // Is normalized?
4407 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4408 1, // bcWidth
4409 1, // bcHeight
4410 },
4411
4412 // R8_SNORM (0x141)
4413 {
4414 "R8_SNORM",
4415 { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4416 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4417 { 0, 0, 0, 0 }, // Swizzle
4418 { 8, 0, 0, 0 }, // Bits per component
4419 8, // Bits per element
4420 1, // Bytes per element
4421 1, // Num components
4422 false, // isSRGB
4423 false, // isBC
4424 false, // isSubsampled
4425 false, // isLuminance
4426 { true, false, false, false }, // Is normalized?
4427 { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
4428 1, // bcWidth
4429 1, // bcHeight
4430 },
4431
4432 // R8_SINT (0x142)
4433 {
4434 "R8_SINT",
4435 { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4436 { 0, 0, 0, 0x1 }, // Defaults for missing components
4437 { 0, 0, 0, 0 }, // Swizzle
4438 { 8, 0, 0, 0 }, // Bits per component
4439 8, // Bits per element
4440 1, // Bytes per element
4441 1, // Num components
4442 false, // isSRGB
4443 false, // isBC
4444 false, // isSubsampled
4445 false, // isLuminance
4446 { false, false, false, false }, // Is normalized?
4447 { 1.0f, 0, 0, 0 }, // To float scale factor
4448 1, // bcWidth
4449 1, // bcHeight
4450 },
4451
4452 // R8_UINT (0x143)
4453 {
4454 "R8_UINT",
4455 { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4456 { 0, 0, 0, 0x1 }, // Defaults for missing components
4457 { 0, 0, 0, 0 }, // Swizzle
4458 { 8, 0, 0, 0 }, // Bits per component
4459 8, // Bits per element
4460 1, // Bytes per element
4461 1, // Num components
4462 false, // isSRGB
4463 false, // isBC
4464 false, // isSubsampled
4465 false, // isLuminance
4466 { false, false, false, false }, // Is normalized?
4467 { 1.0f, 0, 0, 0 }, // To float scale factor
4468 1, // bcWidth
4469 1, // bcHeight
4470 },
4471
4472 // A8_UNORM (0x144)
4473 {
4474 "A8_UNORM",
4475 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4476 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4477 { 3, 0, 0, 0 }, // Swizzle
4478 { 8, 0, 0, 0 }, // Bits per component
4479 8, // Bits per element
4480 1, // Bytes per element
4481 1, // Num components
4482 false, // isSRGB
4483 false, // isBC
4484 false, // isSubsampled
4485 false, // isLuminance
4486 { true, false, false, false }, // Is normalized?
4487 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4488 1, // bcWidth
4489 1, // bcHeight
4490 },
4491
4492 // I8_UNORM (0x145)
4493 {
4494 "I8_UNORM",
4495 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4496 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4497 { 0, 0, 0, 0 }, // Swizzle
4498 { 8, 0, 0, 0 }, // Bits per component
4499 8, // Bits per element
4500 1, // Bytes per element
4501 1, // Num components
4502 false, // isSRGB
4503 false, // isBC
4504 false, // isSubsampled
4505 true, // isLuminance
4506 { true, false, false, false }, // Is normalized?
4507 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4508 1, // bcWidth
4509 1, // bcHeight
4510 },
4511
4512 // L8_UNORM (0x146)
4513 {
4514 "L8_UNORM",
4515 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4516 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4517 { 0, 0, 0, 0 }, // Swizzle
4518 { 8, 0, 0, 0 }, // Bits per component
4519 8, // Bits per element
4520 1, // Bytes per element
4521 1, // Num components
4522 false, // isSRGB
4523 false, // isBC
4524 false, // isSubsampled
4525 true, // isLuminance
4526 { true, false, false, false }, // Is normalized?
4527 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4528 1, // bcWidth
4529 1, // bcHeight
4530 },
4531
4532 // padding (0x147)
4533 {
4534 nullptr,
4535 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4536 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4537 0, 0, 0, false, false, false, false,
4538 { false, false, false, false },
4539 { 0.0f, 0.0f, 0.0f, 0.0f },
4540 1, 1
4541 },
4542 // padding (0x148)
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 // R8_SSCALED (0x149)
4553 {
4554 "R8_SSCALED",
4555 { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4556 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4557 { 0, 0, 0, 0 }, // Swizzle
4558 { 8, 0, 0, 0 }, // Bits per component
4559 8, // Bits per element
4560 1, // Bytes per element
4561 1, // Num components
4562 false, // isSRGB
4563 false, // isBC
4564 false, // isSubsampled
4565 false, // isLuminance
4566 { false, false, false, false }, // Is normalized?
4567 { 1.0f, 0, 0, 0 }, // To float scale factor
4568 1, // bcWidth
4569 1, // bcHeight
4570 },
4571
4572 // R8_USCALED (0x14A)
4573 {
4574 "R8_USCALED",
4575 { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4576 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4577 { 0, 0, 0, 0 }, // Swizzle
4578 { 8, 0, 0, 0 }, // Bits per component
4579 8, // Bits per element
4580 1, // Bytes per element
4581 1, // Num components
4582 false, // isSRGB
4583 false, // isBC
4584 false, // isSubsampled
4585 false, // isLuminance
4586 { false, false, false, false }, // Is normalized?
4587 { 1.0f, 0, 0, 0 }, // To float scale factor
4588 1, // bcWidth
4589 1, // bcHeight
4590 },
4591
4592 // padding (0x14B)
4593 {
4594 nullptr,
4595 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4596 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4597 0, 0, 0, false, false, false, false,
4598 { false, false, false, false },
4599 { 0.0f, 0.0f, 0.0f, 0.0f },
4600 1, 1
4601 },
4602 // L8_UNORM_SRGB (0x14C)
4603 {
4604 "L8_UNORM_SRGB",
4605 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4606 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
4607 { 0, 0, 0, 0 }, // Swizzle
4608 { 8, 0, 0, 0 }, // Bits per component
4609 8, // Bits per element
4610 1, // Bytes per element
4611 1, // Num components
4612 true, // isSRGB
4613 false, // isBC
4614 false, // isSubsampled
4615 true, // isLuminance
4616 { true, false, false, false }, // Is normalized?
4617 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
4618 1, // bcWidth
4619 1, // bcHeight
4620 },
4621
4622 // padding (0x14D)
4623 {
4624 nullptr,
4625 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4626 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4627 0, 0, 0, false, false, false, false,
4628 { false, false, false, false },
4629 { 0.0f, 0.0f, 0.0f, 0.0f },
4630 1, 1
4631 },
4632 // padding (0x14E)
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 (0x14F)
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 (0x150)
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 (0x151)
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 // L8_UINT (0x152)
4673 {
4674 "L8_UINT",
4675 { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4676 { 0, 0, 0, 0x1 }, // Defaults for missing components
4677 { 0, 0, 0, 0 }, // Swizzle
4678 { 8, 0, 0, 0 }, // Bits per component
4679 8, // Bits per element
4680 1, // Bytes per element
4681 1, // Num components
4682 false, // isSRGB
4683 false, // isBC
4684 false, // isSubsampled
4685 true, // isLuminance
4686 { false, false, false, false }, // Is normalized?
4687 { 1.0f, 0, 0, 0 }, // To float scale factor
4688 1, // bcWidth
4689 1, // bcHeight
4690 },
4691
4692 // L8_SINT (0x153)
4693 {
4694 "L8_SINT",
4695 { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4696 { 0, 0, 0, 0x1 }, // Defaults for missing components
4697 { 0, 0, 0, 0 }, // Swizzle
4698 { 8, 0, 0, 0 }, // Bits per component
4699 8, // Bits per element
4700 1, // Bytes per element
4701 1, // Num components
4702 false, // isSRGB
4703 false, // isBC
4704 false, // isSubsampled
4705 true, // isLuminance
4706 { false, false, false, false }, // Is normalized?
4707 { 1.0f, 0, 0, 0 }, // To float scale factor
4708 1, // bcWidth
4709 1, // bcHeight
4710 },
4711
4712 // I8_UINT (0x154)
4713 {
4714 "I8_UINT",
4715 { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4716 { 0, 0, 0, 0x1 }, // Defaults for missing components
4717 { 0, 0, 0, 0 }, // Swizzle
4718 { 8, 0, 0, 0 }, // Bits per component
4719 8, // Bits per element
4720 1, // Bytes per element
4721 1, // Num components
4722 false, // isSRGB
4723 false, // isBC
4724 false, // isSubsampled
4725 true, // isLuminance
4726 { false, false, false, false }, // Is normalized?
4727 { 1.0f, 0, 0, 0 }, // To float scale factor
4728 1, // bcWidth
4729 1, // bcHeight
4730 },
4731
4732 // I8_SINT (0x155)
4733 {
4734 "I8_SINT",
4735 { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4736 { 0, 0, 0, 0x1 }, // Defaults for missing components
4737 { 0, 0, 0, 0 }, // Swizzle
4738 { 8, 0, 0, 0 }, // Bits per component
4739 8, // Bits per element
4740 1, // Bytes per element
4741 1, // Num components
4742 false, // isSRGB
4743 false, // isBC
4744 false, // isSubsampled
4745 true, // isLuminance
4746 { false, false, false, false }, // Is normalized?
4747 { 1.0f, 0, 0, 0 }, // To float scale factor
4748 1, // bcWidth
4749 1, // bcHeight
4750 },
4751
4752 // padding (0x156)
4753 {
4754 nullptr,
4755 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
4756 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
4757 0, 0, 0, false, false, false, false,
4758 { false, false, false, false },
4759 { 0.0f, 0.0f, 0.0f, 0.0f },
4760 1, 1
4761 },
4762 // padding (0x157)
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 (0x158)
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 (0x159)
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 (0x15A)
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 (0x15B)
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 (0x15C)
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 (0x15D)
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 (0x15E)
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 (0x15F)
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 (0x160)
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 (0x161)
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 (0x162)
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 (0x163)
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 (0x164)
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 (0x165)
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 (0x166)
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 (0x167)
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 (0x168)
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 (0x169)
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 (0x16A)
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 (0x16B)
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 (0x16C)
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 (0x16D)
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 (0x16E)
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 (0x16F)
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 (0x170)
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 (0x171)
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 (0x172)
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 (0x173)
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 (0x174)
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 (0x175)
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 (0x176)
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 (0x177)
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 (0x178)
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 (0x179)
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 (0x17A)
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 (0x17B)
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 (0x17C)
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 (0x17D)
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 (0x17E)
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 (0x17F)
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 // DXT1_RGB_SRGB (0x180)
5173 {
5174 "DXT1_RGB_SRGB",
5175 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5176 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5177 { 0, 1, 2, 3 }, // Swizzle
5178 { 8, 8, 8, 8 }, // Bits per component
5179 64, // Bits per element
5180 8, // Bytes per element
5181 1, // Num components
5182 false, // isSRGB
5183 true, // isBC
5184 false, // isSubsampled
5185 false, // isLuminance
5186 { true, false, false, false }, // Is normalized?
5187 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5188 4, // bcWidth
5189 4, // bcHeight
5190 },
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 // DXT1_RGB (0x191)
5453 {
5454 "DXT1_RGB",
5455 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5456 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5457 { 0, 1, 2, 3 }, // Swizzle
5458 { 8, 8, 8, 8 }, // Bits per component
5459 64, // Bits per element
5460 8, // Bytes per element
5461 1, // Num components
5462 false, // isSRGB
5463 true, // isBC
5464 false, // isSubsampled
5465 false, // isLuminance
5466 { true, false, false, false }, // Is normalized?
5467 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5468 4, // bcWidth
5469 4, // bcHeight
5470 },
5471
5472 // padding (0x192)
5473 {
5474 nullptr,
5475 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5476 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5477 0, 0, 0, false, false, false, false,
5478 { false, false, false, false },
5479 { 0.0f, 0.0f, 0.0f, 0.0f },
5480 1, 1
5481 },
5482 // R8G8B8_UNORM (0x193)
5483 {
5484 "R8G8B8_UNORM",
5485 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
5486 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5487 { 0, 1, 2, 0 }, // Swizzle
5488 { 8, 8, 8, 0 }, // Bits per component
5489 24, // Bits per element
5490 3, // Bytes per element
5491 3, // Num components
5492 false, // isSRGB
5493 false, // isBC
5494 false, // isSubsampled
5495 false, // isLuminance
5496 { true, true, true, false }, // Is normalized?
5497 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 0 }, // To float scale factor
5498 1, // bcWidth
5499 1, // bcHeight
5500 },
5501
5502 // R8G8B8_SNORM (0x194)
5503 {
5504 "R8G8B8_SNORM",
5505 { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN },
5506 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5507 { 0, 1, 2, 0 }, // Swizzle
5508 { 8, 8, 8, 0 }, // Bits per component
5509 24, // Bits per element
5510 3, // Bytes per element
5511 3, // Num components
5512 false, // isSRGB
5513 false, // isBC
5514 false, // isSubsampled
5515 false, // isLuminance
5516 { true, true, true, false }, // Is normalized?
5517 { 1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f, 0 }, // To float scale factor
5518 1, // bcWidth
5519 1, // bcHeight
5520 },
5521
5522 // R8G8B8_SSCALED (0x195)
5523 {
5524 "R8G8B8_SSCALED",
5525 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN },
5526 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5527 { 0, 1, 2, 0 }, // Swizzle
5528 { 8, 8, 8, 0 }, // Bits per component
5529 24, // Bits per element
5530 3, // Bytes per element
5531 3, // Num components
5532 false, // isSRGB
5533 false, // isBC
5534 false, // isSubsampled
5535 false, // isLuminance
5536 { false, false, false, false }, // Is normalized?
5537 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5538 1, // bcWidth
5539 1, // bcHeight
5540 },
5541
5542 // R8G8B8_USCALED (0x196)
5543 {
5544 "R8G8B8_USCALED",
5545 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN },
5546 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5547 { 0, 1, 2, 0 }, // Swizzle
5548 { 8, 8, 8, 0 }, // Bits per component
5549 24, // Bits per element
5550 3, // Bytes per element
5551 3, // Num components
5552 false, // isSRGB
5553 false, // isBC
5554 false, // isSubsampled
5555 false, // isLuminance
5556 { false, false, false, false }, // Is normalized?
5557 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5558 1, // bcWidth
5559 1, // bcHeight
5560 },
5561
5562 // R64G64B64A64_FLOAT (0x197)
5563 {
5564 "R64G64B64A64_FLOAT",
5565 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT },
5566 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5567 { 0, 1, 2, 3 }, // Swizzle
5568 { 64, 64, 64, 64 }, // Bits per component
5569 256, // Bits per element
5570 32, // Bytes per element
5571 4, // Num components
5572 false, // isSRGB
5573 false, // isBC
5574 false, // isSubsampled
5575 false, // isLuminance
5576 { false, false, false, false }, // Is normalized?
5577 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
5578 1, // bcWidth
5579 1, // bcHeight
5580 },
5581
5582 // R64G64B64_FLOAT (0x198)
5583 {
5584 "R64G64B64_FLOAT",
5585 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
5586 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5587 { 0, 1, 2, 0 }, // Swizzle
5588 { 64, 64, 64, 0 }, // Bits per component
5589 192, // Bits per element
5590 24, // Bytes per element
5591 3, // Num components
5592 false, // isSRGB
5593 false, // isBC
5594 false, // isSubsampled
5595 false, // isLuminance
5596 { false, false, false, false }, // Is normalized?
5597 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5598 1, // bcWidth
5599 1, // bcHeight
5600 },
5601
5602 // BC4_SNORM (0x199)
5603 {
5604 "BC4_SNORM",
5605 { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5606 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5607 { 0, 1, 2, 3 }, // Swizzle
5608 { 8, 8, 8, 8 }, // Bits per component
5609 64, // Bits per element
5610 8, // Bytes per element
5611 1, // Num components
5612 false, // isSRGB
5613 true, // isBC
5614 false, // isSubsampled
5615 false, // isLuminance
5616 { true, false, false, false }, // Is normalized?
5617 { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
5618 4, // bcWidth
5619 4, // bcHeight
5620 },
5621
5622 // BC5_SNORM (0x19A)
5623 {
5624 "BC5_SNORM",
5625 { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5626 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5627 { 0, 1, 2, 3 }, // Swizzle
5628 { 8, 8, 8, 8 }, // Bits per component
5629 128, // Bits per element
5630 16, // Bytes per element
5631 1, // Num components
5632 false, // isSRGB
5633 true, // isBC
5634 false, // isSubsampled
5635 false, // isLuminance
5636 { true, false, false, false }, // Is normalized?
5637 { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
5638 4, // bcWidth
5639 4, // bcHeight
5640 },
5641
5642 // R16G16B16_FLOAT (0x19B)
5643 {
5644 "R16G16B16_FLOAT",
5645 { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
5646 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5647 { 0, 1, 2, 0 }, // Swizzle
5648 { 16, 16, 16, 0 }, // Bits per component
5649 48, // Bits per element
5650 6, // Bytes per element
5651 3, // Num components
5652 false, // isSRGB
5653 false, // isBC
5654 false, // isSubsampled
5655 false, // isLuminance
5656 { false, false, false, false }, // Is normalized?
5657 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5658 1, // bcWidth
5659 1, // bcHeight
5660 },
5661
5662 // R16G16B16_UNORM (0x19C)
5663 {
5664 "R16G16B16_UNORM",
5665 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
5666 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5667 { 0, 1, 2, 0 }, // Swizzle
5668 { 16, 16, 16, 0 }, // Bits per component
5669 48, // Bits per element
5670 6, // Bytes per element
5671 3, // Num components
5672 false, // isSRGB
5673 false, // isBC
5674 false, // isSubsampled
5675 false, // isLuminance
5676 { true, true, true, false }, // Is normalized?
5677 { 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 0 }, // To float scale factor
5678 1, // bcWidth
5679 1, // bcHeight
5680 },
5681
5682 // R16G16B16_SNORM (0x19D)
5683 {
5684 "R16G16B16_SNORM",
5685 { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN },
5686 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5687 { 0, 1, 2, 0 }, // Swizzle
5688 { 16, 16, 16, 0 }, // Bits per component
5689 48, // Bits per element
5690 6, // Bytes per element
5691 3, // Num components
5692 false, // isSRGB
5693 false, // isBC
5694 false, // isSubsampled
5695 false, // isLuminance
5696 { true, true, true, false }, // Is normalized?
5697 { 1.0f / 32767.0f, 1.0f / 32767.0f, 1.0f / 32767.0f, 0 }, // To float scale factor
5698 1, // bcWidth
5699 1, // bcHeight
5700 },
5701
5702 // R16G16B16_SSCALED (0x19E)
5703 {
5704 "R16G16B16_SSCALED",
5705 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN },
5706 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5707 { 0, 1, 2, 0 }, // Swizzle
5708 { 16, 16, 16, 0 }, // Bits per component
5709 48, // Bits per element
5710 6, // Bytes per element
5711 3, // Num components
5712 false, // isSRGB
5713 false, // isBC
5714 false, // isSubsampled
5715 false, // isLuminance
5716 { false, false, false, false }, // Is normalized?
5717 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5718 1, // bcWidth
5719 1, // bcHeight
5720 },
5721
5722 // R16G16B16_USCALED (0x19F)
5723 {
5724 "R16G16B16_USCALED",
5725 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN },
5726 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5727 { 0, 1, 2, 0 }, // Swizzle
5728 { 16, 16, 16, 0 }, // Bits per component
5729 48, // Bits per element
5730 6, // Bytes per element
5731 3, // Num components
5732 false, // isSRGB
5733 false, // isBC
5734 false, // isSubsampled
5735 false, // isLuminance
5736 { false, false, false, false }, // Is normalized?
5737 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5738 1, // bcWidth
5739 1, // bcHeight
5740 },
5741
5742 // padding (0x1A0)
5743 {
5744 nullptr,
5745 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5746 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5747 0, 0, 0, false, false, false, false,
5748 { false, false, false, false },
5749 { 0.0f, 0.0f, 0.0f, 0.0f },
5750 1, 1
5751 },
5752 // BC6H_SF16 (0x1A1)
5753 {
5754 "BC6H_SF16",
5755 { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5756 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5757 { 0, 1, 2, 3 }, // Swizzle
5758 { 8, 8, 8, 8 }, // Bits per component
5759 128, // Bits per element
5760 16, // Bytes per element
5761 1, // Num components
5762 false, // isSRGB
5763 true, // isBC
5764 false, // isSubsampled
5765 false, // isLuminance
5766 { true, false, false, false }, // Is normalized?
5767 { 1.0f / 127.0f, 0, 0, 0 }, // To float scale factor
5768 4, // bcWidth
5769 4, // bcHeight
5770 },
5771
5772 // BC7_UNORM (0x1A2)
5773 {
5774 "BC7_UNORM",
5775 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5776 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5777 { 0, 1, 2, 3 }, // Swizzle
5778 { 8, 8, 8, 8 }, // Bits per component
5779 128, // Bits per element
5780 16, // Bytes per element
5781 1, // Num components
5782 false, // isSRGB
5783 true, // isBC
5784 false, // isSubsampled
5785 false, // isLuminance
5786 { true, false, false, false }, // Is normalized?
5787 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5788 4, // bcWidth
5789 4, // bcHeight
5790 },
5791
5792 // BC7_UNORM_SRGB (0x1A3)
5793 {
5794 "BC7_UNORM_SRGB",
5795 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5796 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5797 { 0, 1, 2, 3 }, // Swizzle
5798 { 8, 8, 8, 8 }, // Bits per component
5799 128, // Bits per element
5800 16, // Bytes per element
5801 1, // Num components
5802 true, // isSRGB
5803 true, // isBC
5804 false, // isSubsampled
5805 false, // isLuminance
5806 { true, false, false, false }, // Is normalized?
5807 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5808 4, // bcWidth
5809 4, // bcHeight
5810 },
5811
5812 // BC6H_UF16 (0x1A4)
5813 {
5814 "BC6H_UF16",
5815 { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5816 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5817 { 0, 1, 2, 3 }, // Swizzle
5818 { 8, 8, 8, 8 }, // Bits per component
5819 128, // Bits per element
5820 16, // Bytes per element
5821 1, // Num components
5822 false, // isSRGB
5823 true, // isBC
5824 false, // isSubsampled
5825 false, // isLuminance
5826 { true, false, false, false }, // Is normalized?
5827 { 1.0f / 255.0f, 0, 0, 0 }, // To float scale factor
5828 4, // bcWidth
5829 4, // bcHeight
5830 },
5831
5832 // padding (0x1A5)
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 (0x1A6)
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 // padding (0x1A7)
5853 {
5854 nullptr,
5855 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5856 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5857 0, 0, 0, false, false, false, false,
5858 { false, false, false, false },
5859 { 0.0f, 0.0f, 0.0f, 0.0f },
5860 1, 1
5861 },
5862 // R8G8B8_UNORM_SRGB (0x1A8)
5863 {
5864 "R8G8B8_UNORM_SRGB",
5865 { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
5866 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5867 { 0, 1, 2, 0 }, // Swizzle
5868 { 8, 8, 8, 0 }, // Bits per component
5869 24, // Bits per element
5870 3, // Bytes per element
5871 3, // Num components
5872 true, // isSRGB
5873 false, // isBC
5874 false, // isSubsampled
5875 false, // isLuminance
5876 { true, true, true, false }, // Is normalized?
5877 { 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 0 }, // To float scale factor
5878 1, // bcWidth
5879 1, // bcHeight
5880 },
5881
5882 // padding (0x1A9)
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 (0x1AA)
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 (0x1AB)
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 (0x1AC)
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 (0x1AD)
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 (0x1AE)
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 // padding (0x1AF)
5943 {
5944 nullptr,
5945 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5946 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
5947 0, 0, 0, false, false, false, false,
5948 { false, false, false, false },
5949 { 0.0f, 0.0f, 0.0f, 0.0f },
5950 1, 1
5951 },
5952 // R16G16B16_UINT (0x1B0)
5953 {
5954 "R16G16B16_UINT",
5955 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
5956 { 0, 0, 0, 0x1 }, // Defaults for missing components
5957 { 0, 1, 2, 0 }, // Swizzle
5958 { 16, 16, 16, 0 }, // Bits per component
5959 48, // Bits per element
5960 6, // Bytes per element
5961 3, // Num components
5962 false, // isSRGB
5963 false, // isBC
5964 false, // isSubsampled
5965 false, // isLuminance
5966 { false, false, false, false }, // Is normalized?
5967 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5968 1, // bcWidth
5969 1, // bcHeight
5970 },
5971
5972 // R16G16B16_SINT (0x1B1)
5973 {
5974 "R16G16B16_SINT",
5975 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
5976 { 0, 0, 0, 0x1 }, // Defaults for missing components
5977 { 0, 1, 2, 0 }, // Swizzle
5978 { 16, 16, 16, 0 }, // Bits per component
5979 48, // Bits per element
5980 6, // Bytes per element
5981 3, // Num components
5982 false, // isSRGB
5983 false, // isBC
5984 false, // isSubsampled
5985 false, // isLuminance
5986 { false, false, false, false }, // Is normalized?
5987 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
5988 1, // bcWidth
5989 1, // bcHeight
5990 },
5991
5992 // R32_SFIXED (0x1B2)
5993 {
5994 "R32_SFIXED",
5995 { SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
5996 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
5997 { 0, 0, 0, 0 }, // Swizzle
5998 { 32, 0, 0, 0 }, // Bits per component
5999 32, // Bits per element
6000 4, // Bytes per element
6001 1, // Num components
6002 false, // isSRGB
6003 false, // isBC
6004 false, // isSubsampled
6005 false, // isLuminance
6006 { false, false, false, false }, // Is normalized?
6007 { 1.0f, 0, 0, 0 }, // To float scale factor
6008 1, // bcWidth
6009 1, // bcHeight
6010 },
6011
6012 // R10G10B10A2_SNORM (0x1B3)
6013 {
6014 "R10G10B10A2_SNORM",
6015 { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
6016 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6017 { 0, 1, 2, 3 }, // Swizzle
6018 { 10, 10, 10, 2 }, // Bits per component
6019 32, // Bits per element
6020 4, // Bytes per element
6021 4, // Num components
6022 false, // isSRGB
6023 false, // isBC
6024 false, // isSubsampled
6025 false, // isLuminance
6026 { true, true, true, true }, // Is normalized?
6027 { 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 1.0f }, // To float scale factor
6028 1, // bcWidth
6029 1, // bcHeight
6030 },
6031
6032 // R10G10B10A2_USCALED (0x1B4)
6033 {
6034 "R10G10B10A2_USCALED",
6035 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
6036 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6037 { 0, 1, 2, 3 }, // Swizzle
6038 { 10, 10, 10, 2 }, // Bits per component
6039 32, // Bits per element
6040 4, // Bytes per element
6041 4, // Num components
6042 false, // isSRGB
6043 false, // isBC
6044 false, // isSubsampled
6045 false, // isLuminance
6046 { false, false, false, false }, // Is normalized?
6047 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6048 1, // bcWidth
6049 1, // bcHeight
6050 },
6051
6052 // R10G10B10A2_SSCALED (0x1B5)
6053 {
6054 "R10G10B10A2_SSCALED",
6055 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
6056 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6057 { 0, 1, 2, 3 }, // Swizzle
6058 { 10, 10, 10, 2 }, // Bits per component
6059 32, // Bits per element
6060 4, // Bytes per element
6061 4, // Num components
6062 false, // isSRGB
6063 false, // isBC
6064 false, // isSubsampled
6065 false, // isLuminance
6066 { false, false, false, false }, // Is normalized?
6067 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6068 1, // bcWidth
6069 1, // bcHeight
6070 },
6071
6072 // R10G10B10A2_SINT (0x1B6)
6073 {
6074 "R10G10B10A2_SINT",
6075 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
6076 { 0, 0, 0, 0x1 }, // Defaults for missing components
6077 { 0, 1, 2, 3 }, // Swizzle
6078 { 10, 10, 10, 2 }, // Bits per component
6079 32, // Bits per element
6080 4, // Bytes per element
6081 4, // Num components
6082 false, // isSRGB
6083 false, // isBC
6084 false, // isSubsampled
6085 false, // isLuminance
6086 { false, false, false, false }, // Is normalized?
6087 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6088 1, // bcWidth
6089 1, // bcHeight
6090 },
6091
6092 // B10G10R10A2_SNORM (0x1B7)
6093 {
6094 "B10G10R10A2_SNORM",
6095 { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
6096 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6097 { 2, 1, 0, 3 }, // Swizzle
6098 { 10, 10, 10, 2 }, // Bits per component
6099 32, // Bits per element
6100 4, // Bytes per element
6101 4, // Num components
6102 false, // isSRGB
6103 false, // isBC
6104 false, // isSubsampled
6105 false, // isLuminance
6106 { true, true, true, true }, // Is normalized?
6107 { 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 511.0f, 1.0f / 1.0f }, // To float scale factor
6108 1, // bcWidth
6109 1, // bcHeight
6110 },
6111
6112 // B10G10R10A2_USCALED (0x1B8)
6113 {
6114 "B10G10R10A2_USCALED",
6115 { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
6116 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6117 { 2, 1, 0, 3 }, // Swizzle
6118 { 10, 10, 10, 2 }, // Bits per component
6119 32, // Bits per element
6120 4, // Bytes per element
6121 4, // Num components
6122 false, // isSRGB
6123 false, // isBC
6124 false, // isSubsampled
6125 false, // isLuminance
6126 { false, false, false, false }, // Is normalized?
6127 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6128 1, // bcWidth
6129 1, // bcHeight
6130 },
6131
6132 // B10G10R10A2_SSCALED (0x1B9)
6133 {
6134 "B10G10R10A2_SSCALED",
6135 { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
6136 { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
6137 { 2, 1, 0, 3 }, // Swizzle
6138 { 10, 10, 10, 2 }, // Bits per component
6139 32, // Bits per element
6140 4, // Bytes per element
6141 4, // Num components
6142 false, // isSRGB
6143 false, // isBC
6144 false, // isSubsampled
6145 false, // isLuminance
6146 { false, false, false, false }, // Is normalized?
6147 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6148 1, // bcWidth
6149 1, // bcHeight
6150 },
6151
6152 // B10G10R10A2_UINT (0x1BA)
6153 {
6154 "B10G10R10A2_UINT",
6155 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
6156 { 0, 0, 0, 0x1 }, // Defaults for missing components
6157 { 2, 1, 0, 3 }, // Swizzle
6158 { 10, 10, 10, 2 }, // Bits per component
6159 32, // Bits per element
6160 4, // Bytes per element
6161 4, // Num components
6162 false, // isSRGB
6163 false, // isBC
6164 false, // isSubsampled
6165 false, // isLuminance
6166 { false, false, false, false }, // Is normalized?
6167 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6168 1, // bcWidth
6169 1, // bcHeight
6170 },
6171
6172 // B10G10R10A2_SINT (0x1BB)
6173 {
6174 "B10G10R10A2_SINT",
6175 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
6176 { 0, 0, 0, 0x1 }, // Defaults for missing components
6177 { 2, 1, 0, 3 }, // Swizzle
6178 { 10, 10, 10, 2 }, // Bits per component
6179 32, // Bits per element
6180 4, // Bytes per element
6181 4, // Num components
6182 false, // isSRGB
6183 false, // isBC
6184 false, // isSubsampled
6185 false, // isLuminance
6186 { false, false, false, false }, // Is normalized?
6187 { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
6188 1, // bcWidth
6189 1, // bcHeight
6190 },
6191
6192 // padding (0x1BC)
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 (0x1BD)
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 (0x1BE)
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 (0x1BF)
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 (0x1C0)
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 (0x1C1)
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 (0x1C2)
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 (0x1C3)
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 (0x1C4)
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 (0x1C5)
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 (0x1C6)
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 // padding (0x1C7)
6303 {
6304 nullptr,
6305 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6306 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6307 0, 0, 0, false, false, false, false,
6308 { false, false, false, false },
6309 { 0.0f, 0.0f, 0.0f, 0.0f },
6310 1, 1
6311 },
6312 // R8G8B8_UINT (0x1C8)
6313 {
6314 "R8G8B8_UINT",
6315 { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
6316 { 0, 0, 0, 0x1 }, // Defaults for missing components
6317 { 0, 1, 2, 0 }, // Swizzle
6318 { 8, 8, 8, 0 }, // Bits per component
6319 24, // Bits per element
6320 3, // Bytes per element
6321 3, // Num components
6322 false, // isSRGB
6323 false, // isBC
6324 false, // isSubsampled
6325 false, // isLuminance
6326 { false, false, false, false }, // Is normalized?
6327 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
6328 1, // bcWidth
6329 1, // bcHeight
6330 },
6331
6332 // R8G8B8_SINT (0x1C9)
6333 {
6334 "R8G8B8_SINT",
6335 { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
6336 { 0, 0, 0, 0x1 }, // Defaults for missing components
6337 { 0, 1, 2, 0 }, // Swizzle
6338 { 8, 8, 8, 0 }, // Bits per component
6339 24, // Bits per element
6340 3, // Bytes per element
6341 3, // Num components
6342 false, // isSRGB
6343 false, // isBC
6344 false, // isSubsampled
6345 false, // isLuminance
6346 { false, false, false, false }, // Is normalized?
6347 { 1.0f, 1.0f, 1.0f, 0 }, // To float scale factor
6348 1, // bcWidth
6349 1, // bcHeight
6350 },
6351
6352 // padding (0x1CA)
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 (0x1CB)
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 (0x1CC)
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 (0x1CD)
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 (0x1CE)
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 (0x1CF)
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 (0x1D0)
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 (0x1D1)
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 (0x1D2)
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 (0x1D3)
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 (0x1D4)
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 (0x1D5)
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 (0x1D6)
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 (0x1D7)
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 (0x1D8)
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 (0x1D9)
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 (0x1DA)
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 (0x1DB)
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 (0x1DC)
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 (0x1DD)
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 (0x1DE)
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 (0x1DF)
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 (0x1E0)
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 (0x1E1)
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 (0x1E2)
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 (0x1E3)
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 (0x1E4)
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 (0x1E5)
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 (0x1E6)
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 (0x1E7)
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 (0x1E8)
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 (0x1E9)
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 (0x1EA)
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 (0x1EB)
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 (0x1EC)
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 (0x1ED)
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 (0x1EE)
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 (0x1EF)
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 (0x1F0)
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 (0x1F1)
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 (0x1F2)
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 (0x1F3)
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 (0x1F4)
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 (0x1F5)
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 (0x1F6)
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 (0x1F7)
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 (0x1F8)
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 (0x1F9)
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 (0x1FA)
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 (0x1FB)
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 (0x1FC)
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 (0x1FD)
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 // padding (0x1FE)
6873 {
6874 nullptr,
6875 { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6876 { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
6877 0, 0, 0, false, false, false, false,
6878 { false, false, false, false },
6879 { 0.0f, 0.0f, 0.0f, 0.0f },
6880 1, 1
6881 },
6882 // RAW (0x1FF)
6883 {
6884 "RAW",
6885 { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
6886 { 0, 0, 0, 0x1 }, // Defaults for missing components
6887 { 0, 1, 2, 3 }, // Swizzle
6888 { 8, 0, 0, 0 }, // Bits per component
6889 8, // Bits per element
6890 1, // Bytes per element
6891 1, // Num components
6892 false, // isSRGB
6893 false, // isBC
6894 false, // isSubsampled
6895 false, // isLuminance
6896 { false, false, false, false }, // Is normalized?
6897 { 1.0f, 0, 0, 0 }, // To float scale factor
6898 1, // bcWidth
6899 1, // bcHeight
6900 },
6901 };
6902