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