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