"Fossies" - the Fresh Open Source Software Archive

Member "mesa-20.1.8/src/gallium/drivers/swr/rasterizer/common/formats.cpp" (16 Sep 2020, 282564 Bytes) of package /linux/misc/mesa-20.1.8.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "formats.cpp" see the Fossies "Dox" file reference documentation.

    1 /****************************************************************************
    2  * Copyright (C) 2016 Intel Corporation.   All Rights Reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
   10  *
   11  * The above copyright notice and this permission notice (including the next
   12  * paragraph) shall be included in all copies or substantial portions of the
   13  * Software.
   14  *
   15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
   18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
   21  * IN THE SOFTWARE.
   22  *
   23  * @file formats.cpp
   24  *
   25  * @brief auto-generated file
   26  *
   27  * DO NOT EDIT
   28  *
   29  ******************************************************************************/
   30 
   31 #include "formats.h"
   32 
   33 // lookup table for unorm8 srgb -> float conversion
   34 const uint32_t srgb8Table[256] = {
   35     0x00000000, 0x399f22b4, 0x3a1f22b4, 0x3a6eb40f, 0x3a9f22b4, 0x3ac6eb61, 0x3aeeb40f, 0x3b0b3e5e,
   36     0x3b1f22b4, 0x3b33070b, 0x3b46eb61, 0x3b5b518d, 0x3b70f18d, 0x3b83e1c6, 0x3b8fe616, 0x3b9c87fd,
   37     0x3ba9c9b5, 0x3bb7ad6f, 0x3bc63549, 0x3bd5635f, 0x3be539c1, 0x3bf5ba70, 0x3c0373b5, 0x3c0c6152,
   38     0x3c15a703, 0x3c1f45be, 0x3c293e6b, 0x3c3391f7, 0x3c3e4149, 0x3c494d43, 0x3c54b6c7, 0x3c607eb1,
   39     0x3c6ca5dc, 0x3c792d22, 0x3c830aa8, 0x3c89af9f, 0x3c9085db, 0x3c978dc5, 0x3c9ec7c0, 0x3ca63431,
   40     0x3cadd37d, 0x3cb5a601, 0x3cbdac20, 0x3cc5e639, 0x3cce54ab, 0x3cd6f7d3, 0x3cdfd00e, 0x3ce8ddb9,
   41     0x3cf22131, 0x3cfb9ac6, 0x3d02a56c, 0x3d0798df, 0x3d0ca7e7, 0x3d11d2b0, 0x3d171965, 0x3d1c7c31,
   42     0x3d21fb3c, 0x3d2796b2, 0x3d2d4ebe, 0x3d332384, 0x3d39152e, 0x3d3f23e6, 0x3d454fd4, 0x3d4b991f,
   43     0x3d51ffef, 0x3d58846a, 0x3d5f26b7, 0x3d65e6fe, 0x3d6cc564, 0x3d73c20f, 0x3d7add25, 0x3d810b66,
   44     0x3d84b795, 0x3d887330, 0x3d8c3e4a, 0x3d9018f6, 0x3d940345, 0x3d97fd4a, 0x3d9c0716, 0x3da020bb,
   45     0x3da44a4b, 0x3da883d7, 0x3daccd70, 0x3db12728, 0x3db59110, 0x3dba0b38, 0x3dbe95b5, 0x3dc33092,
   46     0x3dc7dbe2, 0x3dcc97b6, 0x3dd1641f, 0x3dd6412c, 0x3ddb2eef, 0x3de02d77, 0x3de53cd5, 0x3dea5d19,
   47     0x3def8e55, 0x3df4d093, 0x3dfa23e8, 0x3dff8861, 0x3e027f07, 0x3e054282, 0x3e080ea5, 0x3e0ae379,
   48     0x3e0dc107, 0x3e10a755, 0x3e13966c, 0x3e168e53, 0x3e198f11, 0x3e1c98ae, 0x3e1fab32, 0x3e22c6a3,
   49     0x3e25eb09, 0x3e29186c, 0x3e2c4ed2, 0x3e2f8e45, 0x3e32d6c8, 0x3e362865, 0x3e398322, 0x3e3ce706,
   50     0x3e405419, 0x3e43ca62, 0x3e4749e8, 0x3e4ad2b1, 0x3e4e64c6, 0x3e52002b, 0x3e55a4e9, 0x3e595307,
   51     0x3e5d0a8b, 0x3e60cb7c, 0x3e6495e0, 0x3e6869bf, 0x3e6c4720, 0x3e702e08, 0x3e741e7f, 0x3e78188c,
   52     0x3e7c1c38, 0x3e8014c2, 0x3e82203c, 0x3e84308d, 0x3e8645ba, 0x3e885fc5, 0x3e8a7eb2, 0x3e8ca283,
   53     0x3e8ecb3d, 0x3e90f8e1, 0x3e932b74, 0x3e9562f8, 0x3e979f71, 0x3e99e0e2, 0x3e9c274e, 0x3e9e72b7,
   54     0x3ea0c322, 0x3ea31892, 0x3ea57308, 0x3ea7d289, 0x3eaa3718, 0x3eaca0b7, 0x3eaf0f69, 0x3eb18333,
   55     0x3eb3fc16, 0x3eb67a15, 0x3eb8fd34, 0x3ebb8576, 0x3ebe12e1, 0x3ec0a571, 0x3ec33d2d, 0x3ec5da17,
   56     0x3ec87c33, 0x3ecb2383, 0x3ecdd00b, 0x3ed081cd, 0x3ed338cc, 0x3ed5f50b, 0x3ed8b68d, 0x3edb7d54,
   57     0x3ede4965, 0x3ee11ac1, 0x3ee3f16b, 0x3ee6cd67, 0x3ee9aeb6, 0x3eec955d, 0x3eef815d, 0x3ef272ba,
   58     0x3ef56976, 0x3ef86594, 0x3efb6717, 0x3efe6e02, 0x3f00bd2b, 0x3f02460c, 0x3f03d1a5, 0x3f055ff8,
   59     0x3f06f106, 0x3f0884cf, 0x3f0a1b57, 0x3f0bb49d, 0x3f0d50a2, 0x3f0eef69, 0x3f1090f2, 0x3f123540,
   60     0x3f13dc53, 0x3f15862d, 0x3f1732cf, 0x3f18e23b, 0x3f1a9471, 0x3f1c4973, 0x3f1e0143, 0x3f1fbbe1,
   61     0x3f217950, 0x3f23398f, 0x3f24fca2, 0x3f26c288, 0x3f288b43, 0x3f2a56d5, 0x3f2c253f, 0x3f2df681,
   62     0x3f2fca9e, 0x3f31a197, 0x3f337b6c, 0x3f355820, 0x3f3737b3, 0x3f391a26, 0x3f3aff7e, 0x3f3ce7b7,
   63     0x3f3ed2d4, 0x3f40c0d6, 0x3f42b1c0, 0x3f44a592, 0x3f469c4d, 0x3f4895f3, 0x3f4a9284, 0x3f4c9203,
   64     0x3f4e9470, 0x3f5099cd, 0x3f52a21a, 0x3f54ad59, 0x3f56bb8c, 0x3f58ccb3, 0x3f5ae0cf, 0x3f5cf7e2,
   65     0x3f5f11ee, 0x3f612ef2, 0x3f634eef, 0x3f6571ec, 0x3f6797e1, 0x3f69c0d8, 0x3f6beccb, 0x3f6e1bc2,
   66     0x3f704db6, 0x3f7282b1, 0x3f74baae, 0x3f76f5b3, 0x3f7933b9, 0x3f7b74cb, 0x3f7db8e0, 0x3f800000,
   67 };
   68 
   69 // order must match SWR_FORMAT
   70 const SWR_FORMAT_INFO gFormatInfo[] = {
   71 
   72     // R32G32B32A32_FLOAT (0x0)
   73     {
   74         "R32G32B32A32_FLOAT",
   75         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT},
   76         {0, 0, 0, 0x3f800000},        // Defaults for missing components
   77         {0, 1, 2, 3},                 // Swizzle
   78         {32, 32, 32, 32},             // Bits per component
   79         128,                          // Bits per element
   80         16,                           // Bytes per element
   81         4,                            // Num components
   82         false,                        // isSRGB
   83         false,                        // isBC
   84         false,                        // isSubsampled
   85         false,                        // isLuminance
   86         {false, false, false, false}, // Is normalized?
   87         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
   88         1,                            // bcWidth
   89         1,                            // bcHeight
   90     },
   91 
   92     // R32G32B32A32_SINT (0x1)
   93     {
   94         "R32G32B32A32_SINT",
   95         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT},
   96         {0, 0, 0, 0x1},               // Defaults for missing components
   97         {0, 1, 2, 3},                 // Swizzle
   98         {32, 32, 32, 32},             // Bits per component
   99         128,                          // Bits per element
  100         16,                           // Bytes per element
  101         4,                            // Num components
  102         false,                        // isSRGB
  103         false,                        // isBC
  104         false,                        // isSubsampled
  105         false,                        // isLuminance
  106         {false, false, false, false}, // Is normalized?
  107         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
  108         1,                            // bcWidth
  109         1,                            // bcHeight
  110     },
  111 
  112     // R32G32B32A32_UINT (0x2)
  113     {
  114         "R32G32B32A32_UINT",
  115         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
  116         {0, 0, 0, 0x1},               // Defaults for missing components
  117         {0, 1, 2, 3},                 // Swizzle
  118         {32, 32, 32, 32},             // Bits per component
  119         128,                          // Bits per element
  120         16,                           // Bytes per element
  121         4,                            // Num components
  122         false,                        // isSRGB
  123         false,                        // isBC
  124         false,                        // isSubsampled
  125         false,                        // isLuminance
  126         {false, false, false, false}, // Is normalized?
  127         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
  128         1,                            // bcWidth
  129         1,                            // bcHeight
  130     },
  131 
  132     // padding (0x3)
  133     {nullptr,
  134      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  135      {0, 0, 0, 0},
  136      {0, 0, 0, 0},
  137      {0, 0, 0, 0},
  138      0,
  139      0,
  140      0,
  141      false,
  142      false,
  143      false,
  144      false,
  145      {false, false, false, false},
  146      {0.0f, 0.0f, 0.0f, 0.0f},
  147      1,
  148      1},
  149     // padding (0x4)
  150     {nullptr,
  151      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  152      {0, 0, 0, 0},
  153      {0, 0, 0, 0},
  154      {0, 0, 0, 0},
  155      0,
  156      0,
  157      0,
  158      false,
  159      false,
  160      false,
  161      false,
  162      {false, false, false, false},
  163      {0.0f, 0.0f, 0.0f, 0.0f},
  164      1,
  165      1},
  166     // R64G64_FLOAT (0x5)
  167     {
  168         "R64G64_FLOAT",
  169         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  170         {0, 0, 0, 0x3f800000},        // Defaults for missing components
  171         {0, 1, 0, 0},                 // Swizzle
  172         {64, 64, 0, 0},               // Bits per component
  173         128,                          // Bits per element
  174         16,                           // Bytes per element
  175         2,                            // Num components
  176         false,                        // isSRGB
  177         false,                        // isBC
  178         false,                        // isSubsampled
  179         false,                        // isLuminance
  180         {false, false, false, false}, // Is normalized?
  181         {1.0f, 1.0f, 0, 0},           // To float scale factor
  182         1,                            // bcWidth
  183         1,                            // bcHeight
  184     },
  185 
  186     // R32G32B32X32_FLOAT (0x6)
  187     {
  188         "R32G32B32X32_FLOAT",
  189         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNUSED},
  190         {0, 0, 0, 0x3f800000},        // Defaults for missing components
  191         {0, 1, 2, 3},                 // Swizzle
  192         {32, 32, 32, 32},             // Bits per component
  193         128,                          // Bits per element
  194         16,                           // Bytes per element
  195         4,                            // Num components
  196         false,                        // isSRGB
  197         false,                        // isBC
  198         false,                        // isSubsampled
  199         false,                        // isLuminance
  200         {false, false, false, false}, // Is normalized?
  201         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
  202         1,                            // bcWidth
  203         1,                            // bcHeight
  204     },
  205 
  206     // R32G32B32A32_SSCALED (0x7)
  207     {
  208         "R32G32B32A32_SSCALED",
  209         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED},
  210         {0, 0, 0, 0x3f800000},        // Defaults for missing components
  211         {0, 1, 2, 3},                 // Swizzle
  212         {32, 32, 32, 32},             // Bits per component
  213         128,                          // Bits per element
  214         16,                           // Bytes per element
  215         4,                            // Num components
  216         false,                        // isSRGB
  217         false,                        // isBC
  218         false,                        // isSubsampled
  219         false,                        // isLuminance
  220         {false, false, false, false}, // Is normalized?
  221         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
  222         1,                            // bcWidth
  223         1,                            // bcHeight
  224     },
  225 
  226     // R32G32B32A32_USCALED (0x8)
  227     {
  228         "R32G32B32A32_USCALED",
  229         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED},
  230         {0, 0, 0, 0x3f800000},        // Defaults for missing components
  231         {0, 1, 2, 3},                 // Swizzle
  232         {32, 32, 32, 32},             // Bits per component
  233         128,                          // Bits per element
  234         16,                           // Bytes per element
  235         4,                            // Num components
  236         false,                        // isSRGB
  237         false,                        // isBC
  238         false,                        // isSubsampled
  239         false,                        // isLuminance
  240         {false, false, false, false}, // Is normalized?
  241         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
  242         1,                            // bcWidth
  243         1,                            // bcHeight
  244     },
  245 
  246     // padding (0x9)
  247     {nullptr,
  248      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  249      {0, 0, 0, 0},
  250      {0, 0, 0, 0},
  251      {0, 0, 0, 0},
  252      0,
  253      0,
  254      0,
  255      false,
  256      false,
  257      false,
  258      false,
  259      {false, false, false, false},
  260      {0.0f, 0.0f, 0.0f, 0.0f},
  261      1,
  262      1},
  263     // padding (0xA)
  264     {nullptr,
  265      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  266      {0, 0, 0, 0},
  267      {0, 0, 0, 0},
  268      {0, 0, 0, 0},
  269      0,
  270      0,
  271      0,
  272      false,
  273      false,
  274      false,
  275      false,
  276      {false, false, false, false},
  277      {0.0f, 0.0f, 0.0f, 0.0f},
  278      1,
  279      1},
  280     // padding (0xB)
  281     {nullptr,
  282      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  283      {0, 0, 0, 0},
  284      {0, 0, 0, 0},
  285      {0, 0, 0, 0},
  286      0,
  287      0,
  288      0,
  289      false,
  290      false,
  291      false,
  292      false,
  293      {false, false, false, false},
  294      {0.0f, 0.0f, 0.0f, 0.0f},
  295      1,
  296      1},
  297     // padding (0xC)
  298     {nullptr,
  299      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  300      {0, 0, 0, 0},
  301      {0, 0, 0, 0},
  302      {0, 0, 0, 0},
  303      0,
  304      0,
  305      0,
  306      false,
  307      false,
  308      false,
  309      false,
  310      {false, false, false, false},
  311      {0.0f, 0.0f, 0.0f, 0.0f},
  312      1,
  313      1},
  314     // padding (0xD)
  315     {nullptr,
  316      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  317      {0, 0, 0, 0},
  318      {0, 0, 0, 0},
  319      {0, 0, 0, 0},
  320      0,
  321      0,
  322      0,
  323      false,
  324      false,
  325      false,
  326      false,
  327      {false, false, false, false},
  328      {0.0f, 0.0f, 0.0f, 0.0f},
  329      1,
  330      1},
  331     // padding (0xE)
  332     {nullptr,
  333      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  334      {0, 0, 0, 0},
  335      {0, 0, 0, 0},
  336      {0, 0, 0, 0},
  337      0,
  338      0,
  339      0,
  340      false,
  341      false,
  342      false,
  343      false,
  344      {false, false, false, false},
  345      {0.0f, 0.0f, 0.0f, 0.0f},
  346      1,
  347      1},
  348     // padding (0xF)
  349     {nullptr,
  350      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  351      {0, 0, 0, 0},
  352      {0, 0, 0, 0},
  353      {0, 0, 0, 0},
  354      0,
  355      0,
  356      0,
  357      false,
  358      false,
  359      false,
  360      false,
  361      {false, false, false, false},
  362      {0.0f, 0.0f, 0.0f, 0.0f},
  363      1,
  364      1},
  365     // padding (0x10)
  366     {nullptr,
  367      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  368      {0, 0, 0, 0},
  369      {0, 0, 0, 0},
  370      {0, 0, 0, 0},
  371      0,
  372      0,
  373      0,
  374      false,
  375      false,
  376      false,
  377      false,
  378      {false, false, false, false},
  379      {0.0f, 0.0f, 0.0f, 0.0f},
  380      1,
  381      1},
  382     // padding (0x11)
  383     {nullptr,
  384      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  385      {0, 0, 0, 0},
  386      {0, 0, 0, 0},
  387      {0, 0, 0, 0},
  388      0,
  389      0,
  390      0,
  391      false,
  392      false,
  393      false,
  394      false,
  395      {false, false, false, false},
  396      {0.0f, 0.0f, 0.0f, 0.0f},
  397      1,
  398      1},
  399     // padding (0x12)
  400     {nullptr,
  401      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  402      {0, 0, 0, 0},
  403      {0, 0, 0, 0},
  404      {0, 0, 0, 0},
  405      0,
  406      0,
  407      0,
  408      false,
  409      false,
  410      false,
  411      false,
  412      {false, false, false, false},
  413      {0.0f, 0.0f, 0.0f, 0.0f},
  414      1,
  415      1},
  416     // padding (0x13)
  417     {nullptr,
  418      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  419      {0, 0, 0, 0},
  420      {0, 0, 0, 0},
  421      {0, 0, 0, 0},
  422      0,
  423      0,
  424      0,
  425      false,
  426      false,
  427      false,
  428      false,
  429      {false, false, false, false},
  430      {0.0f, 0.0f, 0.0f, 0.0f},
  431      1,
  432      1},
  433     // padding (0x14)
  434     {nullptr,
  435      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  436      {0, 0, 0, 0},
  437      {0, 0, 0, 0},
  438      {0, 0, 0, 0},
  439      0,
  440      0,
  441      0,
  442      false,
  443      false,
  444      false,
  445      false,
  446      {false, false, false, false},
  447      {0.0f, 0.0f, 0.0f, 0.0f},
  448      1,
  449      1},
  450     // padding (0x15)
  451     {nullptr,
  452      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  453      {0, 0, 0, 0},
  454      {0, 0, 0, 0},
  455      {0, 0, 0, 0},
  456      0,
  457      0,
  458      0,
  459      false,
  460      false,
  461      false,
  462      false,
  463      {false, false, false, false},
  464      {0.0f, 0.0f, 0.0f, 0.0f},
  465      1,
  466      1},
  467     // padding (0x16)
  468     {nullptr,
  469      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  470      {0, 0, 0, 0},
  471      {0, 0, 0, 0},
  472      {0, 0, 0, 0},
  473      0,
  474      0,
  475      0,
  476      false,
  477      false,
  478      false,
  479      false,
  480      {false, false, false, false},
  481      {0.0f, 0.0f, 0.0f, 0.0f},
  482      1,
  483      1},
  484     // padding (0x17)
  485     {nullptr,
  486      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  487      {0, 0, 0, 0},
  488      {0, 0, 0, 0},
  489      {0, 0, 0, 0},
  490      0,
  491      0,
  492      0,
  493      false,
  494      false,
  495      false,
  496      false,
  497      {false, false, false, false},
  498      {0.0f, 0.0f, 0.0f, 0.0f},
  499      1,
  500      1},
  501     // padding (0x18)
  502     {nullptr,
  503      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  504      {0, 0, 0, 0},
  505      {0, 0, 0, 0},
  506      {0, 0, 0, 0},
  507      0,
  508      0,
  509      0,
  510      false,
  511      false,
  512      false,
  513      false,
  514      {false, false, false, false},
  515      {0.0f, 0.0f, 0.0f, 0.0f},
  516      1,
  517      1},
  518     // padding (0x19)
  519     {nullptr,
  520      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  521      {0, 0, 0, 0},
  522      {0, 0, 0, 0},
  523      {0, 0, 0, 0},
  524      0,
  525      0,
  526      0,
  527      false,
  528      false,
  529      false,
  530      false,
  531      {false, false, false, false},
  532      {0.0f, 0.0f, 0.0f, 0.0f},
  533      1,
  534      1},
  535     // padding (0x1A)
  536     {nullptr,
  537      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  538      {0, 0, 0, 0},
  539      {0, 0, 0, 0},
  540      {0, 0, 0, 0},
  541      0,
  542      0,
  543      0,
  544      false,
  545      false,
  546      false,
  547      false,
  548      {false, false, false, false},
  549      {0.0f, 0.0f, 0.0f, 0.0f},
  550      1,
  551      1},
  552     // padding (0x1B)
  553     {nullptr,
  554      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  555      {0, 0, 0, 0},
  556      {0, 0, 0, 0},
  557      {0, 0, 0, 0},
  558      0,
  559      0,
  560      0,
  561      false,
  562      false,
  563      false,
  564      false,
  565      {false, false, false, false},
  566      {0.0f, 0.0f, 0.0f, 0.0f},
  567      1,
  568      1},
  569     // padding (0x1C)
  570     {nullptr,
  571      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  572      {0, 0, 0, 0},
  573      {0, 0, 0, 0},
  574      {0, 0, 0, 0},
  575      0,
  576      0,
  577      0,
  578      false,
  579      false,
  580      false,
  581      false,
  582      {false, false, false, false},
  583      {0.0f, 0.0f, 0.0f, 0.0f},
  584      1,
  585      1},
  586     // padding (0x1D)
  587     {nullptr,
  588      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  589      {0, 0, 0, 0},
  590      {0, 0, 0, 0},
  591      {0, 0, 0, 0},
  592      0,
  593      0,
  594      0,
  595      false,
  596      false,
  597      false,
  598      false,
  599      {false, false, false, false},
  600      {0.0f, 0.0f, 0.0f, 0.0f},
  601      1,
  602      1},
  603     // padding (0x1E)
  604     {nullptr,
  605      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  606      {0, 0, 0, 0},
  607      {0, 0, 0, 0},
  608      {0, 0, 0, 0},
  609      0,
  610      0,
  611      0,
  612      false,
  613      false,
  614      false,
  615      false,
  616      {false, false, false, false},
  617      {0.0f, 0.0f, 0.0f, 0.0f},
  618      1,
  619      1},
  620     // padding (0x1F)
  621     {nullptr,
  622      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  623      {0, 0, 0, 0},
  624      {0, 0, 0, 0},
  625      {0, 0, 0, 0},
  626      0,
  627      0,
  628      0,
  629      false,
  630      false,
  631      false,
  632      false,
  633      {false, false, false, false},
  634      {0.0f, 0.0f, 0.0f, 0.0f},
  635      1,
  636      1},
  637     // R32G32B32A32_SFIXED (0x20)
  638     {
  639         "R32G32B32A32_SFIXED",
  640         {SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED},
  641         {0, 0, 0, 0x3f800000},        // Defaults for missing components
  642         {0, 1, 2, 3},                 // Swizzle
  643         {32, 32, 32, 32},             // Bits per component
  644         128,                          // Bits per element
  645         16,                           // Bytes per element
  646         4,                            // Num components
  647         false,                        // isSRGB
  648         false,                        // isBC
  649         false,                        // isSubsampled
  650         false,                        // isLuminance
  651         {false, false, false, false}, // Is normalized?
  652         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
  653         1,                            // bcWidth
  654         1,                            // bcHeight
  655     },
  656 
  657     // padding (0x21)
  658     {nullptr,
  659      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  660      {0, 0, 0, 0},
  661      {0, 0, 0, 0},
  662      {0, 0, 0, 0},
  663      0,
  664      0,
  665      0,
  666      false,
  667      false,
  668      false,
  669      false,
  670      {false, false, false, false},
  671      {0.0f, 0.0f, 0.0f, 0.0f},
  672      1,
  673      1},
  674     // padding (0x22)
  675     {nullptr,
  676      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  677      {0, 0, 0, 0},
  678      {0, 0, 0, 0},
  679      {0, 0, 0, 0},
  680      0,
  681      0,
  682      0,
  683      false,
  684      false,
  685      false,
  686      false,
  687      {false, false, false, false},
  688      {0.0f, 0.0f, 0.0f, 0.0f},
  689      1,
  690      1},
  691     // padding (0x23)
  692     {nullptr,
  693      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  694      {0, 0, 0, 0},
  695      {0, 0, 0, 0},
  696      {0, 0, 0, 0},
  697      0,
  698      0,
  699      0,
  700      false,
  701      false,
  702      false,
  703      false,
  704      {false, false, false, false},
  705      {0.0f, 0.0f, 0.0f, 0.0f},
  706      1,
  707      1},
  708     // padding (0x24)
  709     {nullptr,
  710      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  711      {0, 0, 0, 0},
  712      {0, 0, 0, 0},
  713      {0, 0, 0, 0},
  714      0,
  715      0,
  716      0,
  717      false,
  718      false,
  719      false,
  720      false,
  721      {false, false, false, false},
  722      {0.0f, 0.0f, 0.0f, 0.0f},
  723      1,
  724      1},
  725     // padding (0x25)
  726     {nullptr,
  727      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  728      {0, 0, 0, 0},
  729      {0, 0, 0, 0},
  730      {0, 0, 0, 0},
  731      0,
  732      0,
  733      0,
  734      false,
  735      false,
  736      false,
  737      false,
  738      {false, false, false, false},
  739      {0.0f, 0.0f, 0.0f, 0.0f},
  740      1,
  741      1},
  742     // padding (0x26)
  743     {nullptr,
  744      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  745      {0, 0, 0, 0},
  746      {0, 0, 0, 0},
  747      {0, 0, 0, 0},
  748      0,
  749      0,
  750      0,
  751      false,
  752      false,
  753      false,
  754      false,
  755      {false, false, false, false},
  756      {0.0f, 0.0f, 0.0f, 0.0f},
  757      1,
  758      1},
  759     // padding (0x27)
  760     {nullptr,
  761      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  762      {0, 0, 0, 0},
  763      {0, 0, 0, 0},
  764      {0, 0, 0, 0},
  765      0,
  766      0,
  767      0,
  768      false,
  769      false,
  770      false,
  771      false,
  772      {false, false, false, false},
  773      {0.0f, 0.0f, 0.0f, 0.0f},
  774      1,
  775      1},
  776     // padding (0x28)
  777     {nullptr,
  778      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  779      {0, 0, 0, 0},
  780      {0, 0, 0, 0},
  781      {0, 0, 0, 0},
  782      0,
  783      0,
  784      0,
  785      false,
  786      false,
  787      false,
  788      false,
  789      {false, false, false, false},
  790      {0.0f, 0.0f, 0.0f, 0.0f},
  791      1,
  792      1},
  793     // padding (0x29)
  794     {nullptr,
  795      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  796      {0, 0, 0, 0},
  797      {0, 0, 0, 0},
  798      {0, 0, 0, 0},
  799      0,
  800      0,
  801      0,
  802      false,
  803      false,
  804      false,
  805      false,
  806      {false, false, false, false},
  807      {0.0f, 0.0f, 0.0f, 0.0f},
  808      1,
  809      1},
  810     // padding (0x2A)
  811     {nullptr,
  812      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  813      {0, 0, 0, 0},
  814      {0, 0, 0, 0},
  815      {0, 0, 0, 0},
  816      0,
  817      0,
  818      0,
  819      false,
  820      false,
  821      false,
  822      false,
  823      {false, false, false, false},
  824      {0.0f, 0.0f, 0.0f, 0.0f},
  825      1,
  826      1},
  827     // padding (0x2B)
  828     {nullptr,
  829      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  830      {0, 0, 0, 0},
  831      {0, 0, 0, 0},
  832      {0, 0, 0, 0},
  833      0,
  834      0,
  835      0,
  836      false,
  837      false,
  838      false,
  839      false,
  840      {false, false, false, false},
  841      {0.0f, 0.0f, 0.0f, 0.0f},
  842      1,
  843      1},
  844     // padding (0x2C)
  845     {nullptr,
  846      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  847      {0, 0, 0, 0},
  848      {0, 0, 0, 0},
  849      {0, 0, 0, 0},
  850      0,
  851      0,
  852      0,
  853      false,
  854      false,
  855      false,
  856      false,
  857      {false, false, false, false},
  858      {0.0f, 0.0f, 0.0f, 0.0f},
  859      1,
  860      1},
  861     // padding (0x2D)
  862     {nullptr,
  863      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  864      {0, 0, 0, 0},
  865      {0, 0, 0, 0},
  866      {0, 0, 0, 0},
  867      0,
  868      0,
  869      0,
  870      false,
  871      false,
  872      false,
  873      false,
  874      {false, false, false, false},
  875      {0.0f, 0.0f, 0.0f, 0.0f},
  876      1,
  877      1},
  878     // padding (0x2E)
  879     {nullptr,
  880      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  881      {0, 0, 0, 0},
  882      {0, 0, 0, 0},
  883      {0, 0, 0, 0},
  884      0,
  885      0,
  886      0,
  887      false,
  888      false,
  889      false,
  890      false,
  891      {false, false, false, false},
  892      {0.0f, 0.0f, 0.0f, 0.0f},
  893      1,
  894      1},
  895     // padding (0x2F)
  896     {nullptr,
  897      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  898      {0, 0, 0, 0},
  899      {0, 0, 0, 0},
  900      {0, 0, 0, 0},
  901      0,
  902      0,
  903      0,
  904      false,
  905      false,
  906      false,
  907      false,
  908      {false, false, false, false},
  909      {0.0f, 0.0f, 0.0f, 0.0f},
  910      1,
  911      1},
  912     // padding (0x30)
  913     {nullptr,
  914      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  915      {0, 0, 0, 0},
  916      {0, 0, 0, 0},
  917      {0, 0, 0, 0},
  918      0,
  919      0,
  920      0,
  921      false,
  922      false,
  923      false,
  924      false,
  925      {false, false, false, false},
  926      {0.0f, 0.0f, 0.0f, 0.0f},
  927      1,
  928      1},
  929     // padding (0x31)
  930     {nullptr,
  931      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  932      {0, 0, 0, 0},
  933      {0, 0, 0, 0},
  934      {0, 0, 0, 0},
  935      0,
  936      0,
  937      0,
  938      false,
  939      false,
  940      false,
  941      false,
  942      {false, false, false, false},
  943      {0.0f, 0.0f, 0.0f, 0.0f},
  944      1,
  945      1},
  946     // padding (0x32)
  947     {nullptr,
  948      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  949      {0, 0, 0, 0},
  950      {0, 0, 0, 0},
  951      {0, 0, 0, 0},
  952      0,
  953      0,
  954      0,
  955      false,
  956      false,
  957      false,
  958      false,
  959      {false, false, false, false},
  960      {0.0f, 0.0f, 0.0f, 0.0f},
  961      1,
  962      1},
  963     // padding (0x33)
  964     {nullptr,
  965      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  966      {0, 0, 0, 0},
  967      {0, 0, 0, 0},
  968      {0, 0, 0, 0},
  969      0,
  970      0,
  971      0,
  972      false,
  973      false,
  974      false,
  975      false,
  976      {false, false, false, false},
  977      {0.0f, 0.0f, 0.0f, 0.0f},
  978      1,
  979      1},
  980     // padding (0x34)
  981     {nullptr,
  982      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
  983      {0, 0, 0, 0},
  984      {0, 0, 0, 0},
  985      {0, 0, 0, 0},
  986      0,
  987      0,
  988      0,
  989      false,
  990      false,
  991      false,
  992      false,
  993      {false, false, false, false},
  994      {0.0f, 0.0f, 0.0f, 0.0f},
  995      1,
  996      1},
  997     // padding (0x35)
  998     {nullptr,
  999      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1000      {0, 0, 0, 0},
 1001      {0, 0, 0, 0},
 1002      {0, 0, 0, 0},
 1003      0,
 1004      0,
 1005      0,
 1006      false,
 1007      false,
 1008      false,
 1009      false,
 1010      {false, false, false, false},
 1011      {0.0f, 0.0f, 0.0f, 0.0f},
 1012      1,
 1013      1},
 1014     // padding (0x36)
 1015     {nullptr,
 1016      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1017      {0, 0, 0, 0},
 1018      {0, 0, 0, 0},
 1019      {0, 0, 0, 0},
 1020      0,
 1021      0,
 1022      0,
 1023      false,
 1024      false,
 1025      false,
 1026      false,
 1027      {false, false, false, false},
 1028      {0.0f, 0.0f, 0.0f, 0.0f},
 1029      1,
 1030      1},
 1031     // padding (0x37)
 1032     {nullptr,
 1033      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1034      {0, 0, 0, 0},
 1035      {0, 0, 0, 0},
 1036      {0, 0, 0, 0},
 1037      0,
 1038      0,
 1039      0,
 1040      false,
 1041      false,
 1042      false,
 1043      false,
 1044      {false, false, false, false},
 1045      {0.0f, 0.0f, 0.0f, 0.0f},
 1046      1,
 1047      1},
 1048     // padding (0x38)
 1049     {nullptr,
 1050      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1051      {0, 0, 0, 0},
 1052      {0, 0, 0, 0},
 1053      {0, 0, 0, 0},
 1054      0,
 1055      0,
 1056      0,
 1057      false,
 1058      false,
 1059      false,
 1060      false,
 1061      {false, false, false, false},
 1062      {0.0f, 0.0f, 0.0f, 0.0f},
 1063      1,
 1064      1},
 1065     // padding (0x39)
 1066     {nullptr,
 1067      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1068      {0, 0, 0, 0},
 1069      {0, 0, 0, 0},
 1070      {0, 0, 0, 0},
 1071      0,
 1072      0,
 1073      0,
 1074      false,
 1075      false,
 1076      false,
 1077      false,
 1078      {false, false, false, false},
 1079      {0.0f, 0.0f, 0.0f, 0.0f},
 1080      1,
 1081      1},
 1082     // padding (0x3A)
 1083     {nullptr,
 1084      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1085      {0, 0, 0, 0},
 1086      {0, 0, 0, 0},
 1087      {0, 0, 0, 0},
 1088      0,
 1089      0,
 1090      0,
 1091      false,
 1092      false,
 1093      false,
 1094      false,
 1095      {false, false, false, false},
 1096      {0.0f, 0.0f, 0.0f, 0.0f},
 1097      1,
 1098      1},
 1099     // padding (0x3B)
 1100     {nullptr,
 1101      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1102      {0, 0, 0, 0},
 1103      {0, 0, 0, 0},
 1104      {0, 0, 0, 0},
 1105      0,
 1106      0,
 1107      0,
 1108      false,
 1109      false,
 1110      false,
 1111      false,
 1112      {false, false, false, false},
 1113      {0.0f, 0.0f, 0.0f, 0.0f},
 1114      1,
 1115      1},
 1116     // padding (0x3C)
 1117     {nullptr,
 1118      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1119      {0, 0, 0, 0},
 1120      {0, 0, 0, 0},
 1121      {0, 0, 0, 0},
 1122      0,
 1123      0,
 1124      0,
 1125      false,
 1126      false,
 1127      false,
 1128      false,
 1129      {false, false, false, false},
 1130      {0.0f, 0.0f, 0.0f, 0.0f},
 1131      1,
 1132      1},
 1133     // padding (0x3D)
 1134     {nullptr,
 1135      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1136      {0, 0, 0, 0},
 1137      {0, 0, 0, 0},
 1138      {0, 0, 0, 0},
 1139      0,
 1140      0,
 1141      0,
 1142      false,
 1143      false,
 1144      false,
 1145      false,
 1146      {false, false, false, false},
 1147      {0.0f, 0.0f, 0.0f, 0.0f},
 1148      1,
 1149      1},
 1150     // padding (0x3E)
 1151     {nullptr,
 1152      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1153      {0, 0, 0, 0},
 1154      {0, 0, 0, 0},
 1155      {0, 0, 0, 0},
 1156      0,
 1157      0,
 1158      0,
 1159      false,
 1160      false,
 1161      false,
 1162      false,
 1163      {false, false, false, false},
 1164      {0.0f, 0.0f, 0.0f, 0.0f},
 1165      1,
 1166      1},
 1167     // padding (0x3F)
 1168     {nullptr,
 1169      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1170      {0, 0, 0, 0},
 1171      {0, 0, 0, 0},
 1172      {0, 0, 0, 0},
 1173      0,
 1174      0,
 1175      0,
 1176      false,
 1177      false,
 1178      false,
 1179      false,
 1180      {false, false, false, false},
 1181      {0.0f, 0.0f, 0.0f, 0.0f},
 1182      1,
 1183      1},
 1184     // R32G32B32_FLOAT (0x40)
 1185     {
 1186         "R32G32B32_FLOAT",
 1187         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN},
 1188         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 1189         {0, 1, 2, 0},                 // Swizzle
 1190         {32, 32, 32, 0},              // Bits per component
 1191         96,                           // Bits per element
 1192         12,                           // Bytes per element
 1193         3,                            // Num components
 1194         false,                        // isSRGB
 1195         false,                        // isBC
 1196         false,                        // isSubsampled
 1197         false,                        // isLuminance
 1198         {false, false, false, false}, // Is normalized?
 1199         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
 1200         1,                            // bcWidth
 1201         1,                            // bcHeight
 1202     },
 1203 
 1204     // R32G32B32_SINT (0x41)
 1205     {
 1206         "R32G32B32_SINT",
 1207         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN},
 1208         {0, 0, 0, 0x1},               // Defaults for missing components
 1209         {0, 1, 2, 0},                 // Swizzle
 1210         {32, 32, 32, 0},              // Bits per component
 1211         96,                           // Bits per element
 1212         12,                           // Bytes per element
 1213         3,                            // Num components
 1214         false,                        // isSRGB
 1215         false,                        // isBC
 1216         false,                        // isSubsampled
 1217         false,                        // isLuminance
 1218         {false, false, false, false}, // Is normalized?
 1219         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
 1220         1,                            // bcWidth
 1221         1,                            // bcHeight
 1222     },
 1223 
 1224     // R32G32B32_UINT (0x42)
 1225     {
 1226         "R32G32B32_UINT",
 1227         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN},
 1228         {0, 0, 0, 0x1},               // Defaults for missing components
 1229         {0, 1, 2, 0},                 // Swizzle
 1230         {32, 32, 32, 0},              // Bits per component
 1231         96,                           // Bits per element
 1232         12,                           // Bytes per element
 1233         3,                            // Num components
 1234         false,                        // isSRGB
 1235         false,                        // isBC
 1236         false,                        // isSubsampled
 1237         false,                        // isLuminance
 1238         {false, false, false, false}, // Is normalized?
 1239         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
 1240         1,                            // bcWidth
 1241         1,                            // bcHeight
 1242     },
 1243 
 1244     // padding (0x43)
 1245     {nullptr,
 1246      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1247      {0, 0, 0, 0},
 1248      {0, 0, 0, 0},
 1249      {0, 0, 0, 0},
 1250      0,
 1251      0,
 1252      0,
 1253      false,
 1254      false,
 1255      false,
 1256      false,
 1257      {false, false, false, false},
 1258      {0.0f, 0.0f, 0.0f, 0.0f},
 1259      1,
 1260      1},
 1261     // padding (0x44)
 1262     {nullptr,
 1263      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1264      {0, 0, 0, 0},
 1265      {0, 0, 0, 0},
 1266      {0, 0, 0, 0},
 1267      0,
 1268      0,
 1269      0,
 1270      false,
 1271      false,
 1272      false,
 1273      false,
 1274      {false, false, false, false},
 1275      {0.0f, 0.0f, 0.0f, 0.0f},
 1276      1,
 1277      1},
 1278     // R32G32B32_SSCALED (0x45)
 1279     {
 1280         "R32G32B32_SSCALED",
 1281         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN},
 1282         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 1283         {0, 1, 2, 0},                 // Swizzle
 1284         {32, 32, 32, 0},              // Bits per component
 1285         96,                           // Bits per element
 1286         12,                           // Bytes per element
 1287         3,                            // Num components
 1288         false,                        // isSRGB
 1289         false,                        // isBC
 1290         false,                        // isSubsampled
 1291         false,                        // isLuminance
 1292         {false, false, false, false}, // Is normalized?
 1293         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
 1294         1,                            // bcWidth
 1295         1,                            // bcHeight
 1296     },
 1297 
 1298     // R32G32B32_USCALED (0x46)
 1299     {
 1300         "R32G32B32_USCALED",
 1301         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN},
 1302         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 1303         {0, 1, 2, 0},                 // Swizzle
 1304         {32, 32, 32, 0},              // Bits per component
 1305         96,                           // Bits per element
 1306         12,                           // Bytes per element
 1307         3,                            // Num components
 1308         false,                        // isSRGB
 1309         false,                        // isBC
 1310         false,                        // isSubsampled
 1311         false,                        // isLuminance
 1312         {false, false, false, false}, // Is normalized?
 1313         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
 1314         1,                            // bcWidth
 1315         1,                            // bcHeight
 1316     },
 1317 
 1318     // padding (0x47)
 1319     {nullptr,
 1320      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1321      {0, 0, 0, 0},
 1322      {0, 0, 0, 0},
 1323      {0, 0, 0, 0},
 1324      0,
 1325      0,
 1326      0,
 1327      false,
 1328      false,
 1329      false,
 1330      false,
 1331      {false, false, false, false},
 1332      {0.0f, 0.0f, 0.0f, 0.0f},
 1333      1,
 1334      1},
 1335     // padding (0x48)
 1336     {nullptr,
 1337      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1338      {0, 0, 0, 0},
 1339      {0, 0, 0, 0},
 1340      {0, 0, 0, 0},
 1341      0,
 1342      0,
 1343      0,
 1344      false,
 1345      false,
 1346      false,
 1347      false,
 1348      {false, false, false, false},
 1349      {0.0f, 0.0f, 0.0f, 0.0f},
 1350      1,
 1351      1},
 1352     // padding (0x49)
 1353     {nullptr,
 1354      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1355      {0, 0, 0, 0},
 1356      {0, 0, 0, 0},
 1357      {0, 0, 0, 0},
 1358      0,
 1359      0,
 1360      0,
 1361      false,
 1362      false,
 1363      false,
 1364      false,
 1365      {false, false, false, false},
 1366      {0.0f, 0.0f, 0.0f, 0.0f},
 1367      1,
 1368      1},
 1369     // padding (0x4A)
 1370     {nullptr,
 1371      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1372      {0, 0, 0, 0},
 1373      {0, 0, 0, 0},
 1374      {0, 0, 0, 0},
 1375      0,
 1376      0,
 1377      0,
 1378      false,
 1379      false,
 1380      false,
 1381      false,
 1382      {false, false, false, false},
 1383      {0.0f, 0.0f, 0.0f, 0.0f},
 1384      1,
 1385      1},
 1386     // padding (0x4B)
 1387     {nullptr,
 1388      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1389      {0, 0, 0, 0},
 1390      {0, 0, 0, 0},
 1391      {0, 0, 0, 0},
 1392      0,
 1393      0,
 1394      0,
 1395      false,
 1396      false,
 1397      false,
 1398      false,
 1399      {false, false, false, false},
 1400      {0.0f, 0.0f, 0.0f, 0.0f},
 1401      1,
 1402      1},
 1403     // padding (0x4C)
 1404     {nullptr,
 1405      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1406      {0, 0, 0, 0},
 1407      {0, 0, 0, 0},
 1408      {0, 0, 0, 0},
 1409      0,
 1410      0,
 1411      0,
 1412      false,
 1413      false,
 1414      false,
 1415      false,
 1416      {false, false, false, false},
 1417      {0.0f, 0.0f, 0.0f, 0.0f},
 1418      1,
 1419      1},
 1420     // padding (0x4D)
 1421     {nullptr,
 1422      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1423      {0, 0, 0, 0},
 1424      {0, 0, 0, 0},
 1425      {0, 0, 0, 0},
 1426      0,
 1427      0,
 1428      0,
 1429      false,
 1430      false,
 1431      false,
 1432      false,
 1433      {false, false, false, false},
 1434      {0.0f, 0.0f, 0.0f, 0.0f},
 1435      1,
 1436      1},
 1437     // padding (0x4E)
 1438     {nullptr,
 1439      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1440      {0, 0, 0, 0},
 1441      {0, 0, 0, 0},
 1442      {0, 0, 0, 0},
 1443      0,
 1444      0,
 1445      0,
 1446      false,
 1447      false,
 1448      false,
 1449      false,
 1450      {false, false, false, false},
 1451      {0.0f, 0.0f, 0.0f, 0.0f},
 1452      1,
 1453      1},
 1454     // padding (0x4F)
 1455     {nullptr,
 1456      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1457      {0, 0, 0, 0},
 1458      {0, 0, 0, 0},
 1459      {0, 0, 0, 0},
 1460      0,
 1461      0,
 1462      0,
 1463      false,
 1464      false,
 1465      false,
 1466      false,
 1467      {false, false, false, false},
 1468      {0.0f, 0.0f, 0.0f, 0.0f},
 1469      1,
 1470      1},
 1471     // R32G32B32_SFIXED (0x50)
 1472     {
 1473         "R32G32B32_SFIXED",
 1474         {SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN},
 1475         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 1476         {0, 1, 2, 0},                 // Swizzle
 1477         {32, 32, 32, 0},              // Bits per component
 1478         96,                           // Bits per element
 1479         12,                           // Bytes per element
 1480         3,                            // Num components
 1481         false,                        // isSRGB
 1482         false,                        // isBC
 1483         false,                        // isSubsampled
 1484         false,                        // isLuminance
 1485         {false, false, false, false}, // Is normalized?
 1486         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
 1487         1,                            // bcWidth
 1488         1,                            // bcHeight
 1489     },
 1490 
 1491     // padding (0x51)
 1492     {nullptr,
 1493      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1494      {0, 0, 0, 0},
 1495      {0, 0, 0, 0},
 1496      {0, 0, 0, 0},
 1497      0,
 1498      0,
 1499      0,
 1500      false,
 1501      false,
 1502      false,
 1503      false,
 1504      {false, false, false, false},
 1505      {0.0f, 0.0f, 0.0f, 0.0f},
 1506      1,
 1507      1},
 1508     // padding (0x52)
 1509     {nullptr,
 1510      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1511      {0, 0, 0, 0},
 1512      {0, 0, 0, 0},
 1513      {0, 0, 0, 0},
 1514      0,
 1515      0,
 1516      0,
 1517      false,
 1518      false,
 1519      false,
 1520      false,
 1521      {false, false, false, false},
 1522      {0.0f, 0.0f, 0.0f, 0.0f},
 1523      1,
 1524      1},
 1525     // padding (0x53)
 1526     {nullptr,
 1527      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1528      {0, 0, 0, 0},
 1529      {0, 0, 0, 0},
 1530      {0, 0, 0, 0},
 1531      0,
 1532      0,
 1533      0,
 1534      false,
 1535      false,
 1536      false,
 1537      false,
 1538      {false, false, false, false},
 1539      {0.0f, 0.0f, 0.0f, 0.0f},
 1540      1,
 1541      1},
 1542     // padding (0x54)
 1543     {nullptr,
 1544      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1545      {0, 0, 0, 0},
 1546      {0, 0, 0, 0},
 1547      {0, 0, 0, 0},
 1548      0,
 1549      0,
 1550      0,
 1551      false,
 1552      false,
 1553      false,
 1554      false,
 1555      {false, false, false, false},
 1556      {0.0f, 0.0f, 0.0f, 0.0f},
 1557      1,
 1558      1},
 1559     // padding (0x55)
 1560     {nullptr,
 1561      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1562      {0, 0, 0, 0},
 1563      {0, 0, 0, 0},
 1564      {0, 0, 0, 0},
 1565      0,
 1566      0,
 1567      0,
 1568      false,
 1569      false,
 1570      false,
 1571      false,
 1572      {false, false, false, false},
 1573      {0.0f, 0.0f, 0.0f, 0.0f},
 1574      1,
 1575      1},
 1576     // padding (0x56)
 1577     {nullptr,
 1578      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1579      {0, 0, 0, 0},
 1580      {0, 0, 0, 0},
 1581      {0, 0, 0, 0},
 1582      0,
 1583      0,
 1584      0,
 1585      false,
 1586      false,
 1587      false,
 1588      false,
 1589      {false, false, false, false},
 1590      {0.0f, 0.0f, 0.0f, 0.0f},
 1591      1,
 1592      1},
 1593     // padding (0x57)
 1594     {nullptr,
 1595      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1596      {0, 0, 0, 0},
 1597      {0, 0, 0, 0},
 1598      {0, 0, 0, 0},
 1599      0,
 1600      0,
 1601      0,
 1602      false,
 1603      false,
 1604      false,
 1605      false,
 1606      {false, false, false, false},
 1607      {0.0f, 0.0f, 0.0f, 0.0f},
 1608      1,
 1609      1},
 1610     // padding (0x58)
 1611     {nullptr,
 1612      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1613      {0, 0, 0, 0},
 1614      {0, 0, 0, 0},
 1615      {0, 0, 0, 0},
 1616      0,
 1617      0,
 1618      0,
 1619      false,
 1620      false,
 1621      false,
 1622      false,
 1623      {false, false, false, false},
 1624      {0.0f, 0.0f, 0.0f, 0.0f},
 1625      1,
 1626      1},
 1627     // padding (0x59)
 1628     {nullptr,
 1629      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1630      {0, 0, 0, 0},
 1631      {0, 0, 0, 0},
 1632      {0, 0, 0, 0},
 1633      0,
 1634      0,
 1635      0,
 1636      false,
 1637      false,
 1638      false,
 1639      false,
 1640      {false, false, false, false},
 1641      {0.0f, 0.0f, 0.0f, 0.0f},
 1642      1,
 1643      1},
 1644     // padding (0x5A)
 1645     {nullptr,
 1646      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1647      {0, 0, 0, 0},
 1648      {0, 0, 0, 0},
 1649      {0, 0, 0, 0},
 1650      0,
 1651      0,
 1652      0,
 1653      false,
 1654      false,
 1655      false,
 1656      false,
 1657      {false, false, false, false},
 1658      {0.0f, 0.0f, 0.0f, 0.0f},
 1659      1,
 1660      1},
 1661     // padding (0x5B)
 1662     {nullptr,
 1663      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1664      {0, 0, 0, 0},
 1665      {0, 0, 0, 0},
 1666      {0, 0, 0, 0},
 1667      0,
 1668      0,
 1669      0,
 1670      false,
 1671      false,
 1672      false,
 1673      false,
 1674      {false, false, false, false},
 1675      {0.0f, 0.0f, 0.0f, 0.0f},
 1676      1,
 1677      1},
 1678     // padding (0x5C)
 1679     {nullptr,
 1680      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1681      {0, 0, 0, 0},
 1682      {0, 0, 0, 0},
 1683      {0, 0, 0, 0},
 1684      0,
 1685      0,
 1686      0,
 1687      false,
 1688      false,
 1689      false,
 1690      false,
 1691      {false, false, false, false},
 1692      {0.0f, 0.0f, 0.0f, 0.0f},
 1693      1,
 1694      1},
 1695     // padding (0x5D)
 1696     {nullptr,
 1697      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1698      {0, 0, 0, 0},
 1699      {0, 0, 0, 0},
 1700      {0, 0, 0, 0},
 1701      0,
 1702      0,
 1703      0,
 1704      false,
 1705      false,
 1706      false,
 1707      false,
 1708      {false, false, false, false},
 1709      {0.0f, 0.0f, 0.0f, 0.0f},
 1710      1,
 1711      1},
 1712     // padding (0x5E)
 1713     {nullptr,
 1714      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1715      {0, 0, 0, 0},
 1716      {0, 0, 0, 0},
 1717      {0, 0, 0, 0},
 1718      0,
 1719      0,
 1720      0,
 1721      false,
 1722      false,
 1723      false,
 1724      false,
 1725      {false, false, false, false},
 1726      {0.0f, 0.0f, 0.0f, 0.0f},
 1727      1,
 1728      1},
 1729     // padding (0x5F)
 1730     {nullptr,
 1731      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1732      {0, 0, 0, 0},
 1733      {0, 0, 0, 0},
 1734      {0, 0, 0, 0},
 1735      0,
 1736      0,
 1737      0,
 1738      false,
 1739      false,
 1740      false,
 1741      false,
 1742      {false, false, false, false},
 1743      {0.0f, 0.0f, 0.0f, 0.0f},
 1744      1,
 1745      1},
 1746     // padding (0x60)
 1747     {nullptr,
 1748      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1749      {0, 0, 0, 0},
 1750      {0, 0, 0, 0},
 1751      {0, 0, 0, 0},
 1752      0,
 1753      0,
 1754      0,
 1755      false,
 1756      false,
 1757      false,
 1758      false,
 1759      {false, false, false, false},
 1760      {0.0f, 0.0f, 0.0f, 0.0f},
 1761      1,
 1762      1},
 1763     // padding (0x61)
 1764     {nullptr,
 1765      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1766      {0, 0, 0, 0},
 1767      {0, 0, 0, 0},
 1768      {0, 0, 0, 0},
 1769      0,
 1770      0,
 1771      0,
 1772      false,
 1773      false,
 1774      false,
 1775      false,
 1776      {false, false, false, false},
 1777      {0.0f, 0.0f, 0.0f, 0.0f},
 1778      1,
 1779      1},
 1780     // padding (0x62)
 1781     {nullptr,
 1782      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1783      {0, 0, 0, 0},
 1784      {0, 0, 0, 0},
 1785      {0, 0, 0, 0},
 1786      0,
 1787      0,
 1788      0,
 1789      false,
 1790      false,
 1791      false,
 1792      false,
 1793      {false, false, false, false},
 1794      {0.0f, 0.0f, 0.0f, 0.0f},
 1795      1,
 1796      1},
 1797     // padding (0x63)
 1798     {nullptr,
 1799      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1800      {0, 0, 0, 0},
 1801      {0, 0, 0, 0},
 1802      {0, 0, 0, 0},
 1803      0,
 1804      0,
 1805      0,
 1806      false,
 1807      false,
 1808      false,
 1809      false,
 1810      {false, false, false, false},
 1811      {0.0f, 0.0f, 0.0f, 0.0f},
 1812      1,
 1813      1},
 1814     // padding (0x64)
 1815     {nullptr,
 1816      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1817      {0, 0, 0, 0},
 1818      {0, 0, 0, 0},
 1819      {0, 0, 0, 0},
 1820      0,
 1821      0,
 1822      0,
 1823      false,
 1824      false,
 1825      false,
 1826      false,
 1827      {false, false, false, false},
 1828      {0.0f, 0.0f, 0.0f, 0.0f},
 1829      1,
 1830      1},
 1831     // padding (0x65)
 1832     {nullptr,
 1833      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1834      {0, 0, 0, 0},
 1835      {0, 0, 0, 0},
 1836      {0, 0, 0, 0},
 1837      0,
 1838      0,
 1839      0,
 1840      false,
 1841      false,
 1842      false,
 1843      false,
 1844      {false, false, false, false},
 1845      {0.0f, 0.0f, 0.0f, 0.0f},
 1846      1,
 1847      1},
 1848     // padding (0x66)
 1849     {nullptr,
 1850      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1851      {0, 0, 0, 0},
 1852      {0, 0, 0, 0},
 1853      {0, 0, 0, 0},
 1854      0,
 1855      0,
 1856      0,
 1857      false,
 1858      false,
 1859      false,
 1860      false,
 1861      {false, false, false, false},
 1862      {0.0f, 0.0f, 0.0f, 0.0f},
 1863      1,
 1864      1},
 1865     // padding (0x67)
 1866     {nullptr,
 1867      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1868      {0, 0, 0, 0},
 1869      {0, 0, 0, 0},
 1870      {0, 0, 0, 0},
 1871      0,
 1872      0,
 1873      0,
 1874      false,
 1875      false,
 1876      false,
 1877      false,
 1878      {false, false, false, false},
 1879      {0.0f, 0.0f, 0.0f, 0.0f},
 1880      1,
 1881      1},
 1882     // padding (0x68)
 1883     {nullptr,
 1884      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1885      {0, 0, 0, 0},
 1886      {0, 0, 0, 0},
 1887      {0, 0, 0, 0},
 1888      0,
 1889      0,
 1890      0,
 1891      false,
 1892      false,
 1893      false,
 1894      false,
 1895      {false, false, false, false},
 1896      {0.0f, 0.0f, 0.0f, 0.0f},
 1897      1,
 1898      1},
 1899     // padding (0x69)
 1900     {nullptr,
 1901      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1902      {0, 0, 0, 0},
 1903      {0, 0, 0, 0},
 1904      {0, 0, 0, 0},
 1905      0,
 1906      0,
 1907      0,
 1908      false,
 1909      false,
 1910      false,
 1911      false,
 1912      {false, false, false, false},
 1913      {0.0f, 0.0f, 0.0f, 0.0f},
 1914      1,
 1915      1},
 1916     // padding (0x6A)
 1917     {nullptr,
 1918      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1919      {0, 0, 0, 0},
 1920      {0, 0, 0, 0},
 1921      {0, 0, 0, 0},
 1922      0,
 1923      0,
 1924      0,
 1925      false,
 1926      false,
 1927      false,
 1928      false,
 1929      {false, false, false, false},
 1930      {0.0f, 0.0f, 0.0f, 0.0f},
 1931      1,
 1932      1},
 1933     // padding (0x6B)
 1934     {nullptr,
 1935      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1936      {0, 0, 0, 0},
 1937      {0, 0, 0, 0},
 1938      {0, 0, 0, 0},
 1939      0,
 1940      0,
 1941      0,
 1942      false,
 1943      false,
 1944      false,
 1945      false,
 1946      {false, false, false, false},
 1947      {0.0f, 0.0f, 0.0f, 0.0f},
 1948      1,
 1949      1},
 1950     // padding (0x6C)
 1951     {nullptr,
 1952      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1953      {0, 0, 0, 0},
 1954      {0, 0, 0, 0},
 1955      {0, 0, 0, 0},
 1956      0,
 1957      0,
 1958      0,
 1959      false,
 1960      false,
 1961      false,
 1962      false,
 1963      {false, false, false, false},
 1964      {0.0f, 0.0f, 0.0f, 0.0f},
 1965      1,
 1966      1},
 1967     // padding (0x6D)
 1968     {nullptr,
 1969      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1970      {0, 0, 0, 0},
 1971      {0, 0, 0, 0},
 1972      {0, 0, 0, 0},
 1973      0,
 1974      0,
 1975      0,
 1976      false,
 1977      false,
 1978      false,
 1979      false,
 1980      {false, false, false, false},
 1981      {0.0f, 0.0f, 0.0f, 0.0f},
 1982      1,
 1983      1},
 1984     // padding (0x6E)
 1985     {nullptr,
 1986      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 1987      {0, 0, 0, 0},
 1988      {0, 0, 0, 0},
 1989      {0, 0, 0, 0},
 1990      0,
 1991      0,
 1992      0,
 1993      false,
 1994      false,
 1995      false,
 1996      false,
 1997      {false, false, false, false},
 1998      {0.0f, 0.0f, 0.0f, 0.0f},
 1999      1,
 2000      1},
 2001     // padding (0x6F)
 2002     {nullptr,
 2003      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2004      {0, 0, 0, 0},
 2005      {0, 0, 0, 0},
 2006      {0, 0, 0, 0},
 2007      0,
 2008      0,
 2009      0,
 2010      false,
 2011      false,
 2012      false,
 2013      false,
 2014      {false, false, false, false},
 2015      {0.0f, 0.0f, 0.0f, 0.0f},
 2016      1,
 2017      1},
 2018     // padding (0x70)
 2019     {nullptr,
 2020      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2021      {0, 0, 0, 0},
 2022      {0, 0, 0, 0},
 2023      {0, 0, 0, 0},
 2024      0,
 2025      0,
 2026      0,
 2027      false,
 2028      false,
 2029      false,
 2030      false,
 2031      {false, false, false, false},
 2032      {0.0f, 0.0f, 0.0f, 0.0f},
 2033      1,
 2034      1},
 2035     // padding (0x71)
 2036     {nullptr,
 2037      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2038      {0, 0, 0, 0},
 2039      {0, 0, 0, 0},
 2040      {0, 0, 0, 0},
 2041      0,
 2042      0,
 2043      0,
 2044      false,
 2045      false,
 2046      false,
 2047      false,
 2048      {false, false, false, false},
 2049      {0.0f, 0.0f, 0.0f, 0.0f},
 2050      1,
 2051      1},
 2052     // padding (0x72)
 2053     {nullptr,
 2054      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2055      {0, 0, 0, 0},
 2056      {0, 0, 0, 0},
 2057      {0, 0, 0, 0},
 2058      0,
 2059      0,
 2060      0,
 2061      false,
 2062      false,
 2063      false,
 2064      false,
 2065      {false, false, false, false},
 2066      {0.0f, 0.0f, 0.0f, 0.0f},
 2067      1,
 2068      1},
 2069     // padding (0x73)
 2070     {nullptr,
 2071      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2072      {0, 0, 0, 0},
 2073      {0, 0, 0, 0},
 2074      {0, 0, 0, 0},
 2075      0,
 2076      0,
 2077      0,
 2078      false,
 2079      false,
 2080      false,
 2081      false,
 2082      {false, false, false, false},
 2083      {0.0f, 0.0f, 0.0f, 0.0f},
 2084      1,
 2085      1},
 2086     // padding (0x74)
 2087     {nullptr,
 2088      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2089      {0, 0, 0, 0},
 2090      {0, 0, 0, 0},
 2091      {0, 0, 0, 0},
 2092      0,
 2093      0,
 2094      0,
 2095      false,
 2096      false,
 2097      false,
 2098      false,
 2099      {false, false, false, false},
 2100      {0.0f, 0.0f, 0.0f, 0.0f},
 2101      1,
 2102      1},
 2103     // padding (0x75)
 2104     {nullptr,
 2105      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2106      {0, 0, 0, 0},
 2107      {0, 0, 0, 0},
 2108      {0, 0, 0, 0},
 2109      0,
 2110      0,
 2111      0,
 2112      false,
 2113      false,
 2114      false,
 2115      false,
 2116      {false, false, false, false},
 2117      {0.0f, 0.0f, 0.0f, 0.0f},
 2118      1,
 2119      1},
 2120     // padding (0x76)
 2121     {nullptr,
 2122      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2123      {0, 0, 0, 0},
 2124      {0, 0, 0, 0},
 2125      {0, 0, 0, 0},
 2126      0,
 2127      0,
 2128      0,
 2129      false,
 2130      false,
 2131      false,
 2132      false,
 2133      {false, false, false, false},
 2134      {0.0f, 0.0f, 0.0f, 0.0f},
 2135      1,
 2136      1},
 2137     // padding (0x77)
 2138     {nullptr,
 2139      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2140      {0, 0, 0, 0},
 2141      {0, 0, 0, 0},
 2142      {0, 0, 0, 0},
 2143      0,
 2144      0,
 2145      0,
 2146      false,
 2147      false,
 2148      false,
 2149      false,
 2150      {false, false, false, false},
 2151      {0.0f, 0.0f, 0.0f, 0.0f},
 2152      1,
 2153      1},
 2154     // padding (0x78)
 2155     {nullptr,
 2156      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2157      {0, 0, 0, 0},
 2158      {0, 0, 0, 0},
 2159      {0, 0, 0, 0},
 2160      0,
 2161      0,
 2162      0,
 2163      false,
 2164      false,
 2165      false,
 2166      false,
 2167      {false, false, false, false},
 2168      {0.0f, 0.0f, 0.0f, 0.0f},
 2169      1,
 2170      1},
 2171     // padding (0x79)
 2172     {nullptr,
 2173      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2174      {0, 0, 0, 0},
 2175      {0, 0, 0, 0},
 2176      {0, 0, 0, 0},
 2177      0,
 2178      0,
 2179      0,
 2180      false,
 2181      false,
 2182      false,
 2183      false,
 2184      {false, false, false, false},
 2185      {0.0f, 0.0f, 0.0f, 0.0f},
 2186      1,
 2187      1},
 2188     // padding (0x7A)
 2189     {nullptr,
 2190      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2191      {0, 0, 0, 0},
 2192      {0, 0, 0, 0},
 2193      {0, 0, 0, 0},
 2194      0,
 2195      0,
 2196      0,
 2197      false,
 2198      false,
 2199      false,
 2200      false,
 2201      {false, false, false, false},
 2202      {0.0f, 0.0f, 0.0f, 0.0f},
 2203      1,
 2204      1},
 2205     // padding (0x7B)
 2206     {nullptr,
 2207      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2208      {0, 0, 0, 0},
 2209      {0, 0, 0, 0},
 2210      {0, 0, 0, 0},
 2211      0,
 2212      0,
 2213      0,
 2214      false,
 2215      false,
 2216      false,
 2217      false,
 2218      {false, false, false, false},
 2219      {0.0f, 0.0f, 0.0f, 0.0f},
 2220      1,
 2221      1},
 2222     // padding (0x7C)
 2223     {nullptr,
 2224      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2225      {0, 0, 0, 0},
 2226      {0, 0, 0, 0},
 2227      {0, 0, 0, 0},
 2228      0,
 2229      0,
 2230      0,
 2231      false,
 2232      false,
 2233      false,
 2234      false,
 2235      {false, false, false, false},
 2236      {0.0f, 0.0f, 0.0f, 0.0f},
 2237      1,
 2238      1},
 2239     // padding (0x7D)
 2240     {nullptr,
 2241      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2242      {0, 0, 0, 0},
 2243      {0, 0, 0, 0},
 2244      {0, 0, 0, 0},
 2245      0,
 2246      0,
 2247      0,
 2248      false,
 2249      false,
 2250      false,
 2251      false,
 2252      {false, false, false, false},
 2253      {0.0f, 0.0f, 0.0f, 0.0f},
 2254      1,
 2255      1},
 2256     // padding (0x7E)
 2257     {nullptr,
 2258      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2259      {0, 0, 0, 0},
 2260      {0, 0, 0, 0},
 2261      {0, 0, 0, 0},
 2262      0,
 2263      0,
 2264      0,
 2265      false,
 2266      false,
 2267      false,
 2268      false,
 2269      {false, false, false, false},
 2270      {0.0f, 0.0f, 0.0f, 0.0f},
 2271      1,
 2272      1},
 2273     // padding (0x7F)
 2274     {nullptr,
 2275      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2276      {0, 0, 0, 0},
 2277      {0, 0, 0, 0},
 2278      {0, 0, 0, 0},
 2279      0,
 2280      0,
 2281      0,
 2282      false,
 2283      false,
 2284      false,
 2285      false,
 2286      {false, false, false, false},
 2287      {0.0f, 0.0f, 0.0f, 0.0f},
 2288      1,
 2289      1},
 2290     // R16G16B16A16_UNORM (0x80)
 2291     {
 2292         "R16G16B16A16_UNORM",
 2293         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
 2294         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 2295         {0, 1, 2, 3},             // Swizzle
 2296         {16, 16, 16, 16},         // Bits per component
 2297         64,                       // Bits per element
 2298         8,                        // Bytes per element
 2299         4,                        // Num components
 2300         false,                    // isSRGB
 2301         false,                    // isBC
 2302         false,                    // isSubsampled
 2303         false,                    // isLuminance
 2304         {true, true, true, true}, // Is normalized?
 2305         {1.0f / 65535.0f,
 2306          1.0f / 65535.0f,
 2307          1.0f / 65535.0f,
 2308          1.0f / 65535.0f}, // To float scale factor
 2309         1,                 // bcWidth
 2310         1,                 // bcHeight
 2311     },
 2312 
 2313     // R16G16B16A16_SNORM (0x81)
 2314     {
 2315         "R16G16B16A16_SNORM",
 2316         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM},
 2317         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 2318         {0, 1, 2, 3},             // Swizzle
 2319         {16, 16, 16, 16},         // Bits per component
 2320         64,                       // Bits per element
 2321         8,                        // Bytes per element
 2322         4,                        // Num components
 2323         false,                    // isSRGB
 2324         false,                    // isBC
 2325         false,                    // isSubsampled
 2326         false,                    // isLuminance
 2327         {true, true, true, true}, // Is normalized?
 2328         {1.0f / 32767.0f,
 2329          1.0f / 32767.0f,
 2330          1.0f / 32767.0f,
 2331          1.0f / 32767.0f}, // To float scale factor
 2332         1,                 // bcWidth
 2333         1,                 // bcHeight
 2334     },
 2335 
 2336     // R16G16B16A16_SINT (0x82)
 2337     {
 2338         "R16G16B16A16_SINT",
 2339         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT},
 2340         {0, 0, 0, 0x1},               // Defaults for missing components
 2341         {0, 1, 2, 3},                 // Swizzle
 2342         {16, 16, 16, 16},             // Bits per component
 2343         64,                           // Bits per element
 2344         8,                            // Bytes per element
 2345         4,                            // Num components
 2346         false,                        // isSRGB
 2347         false,                        // isBC
 2348         false,                        // isSubsampled
 2349         false,                        // isLuminance
 2350         {false, false, false, false}, // Is normalized?
 2351         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
 2352         1,                            // bcWidth
 2353         1,                            // bcHeight
 2354     },
 2355 
 2356     // R16G16B16A16_UINT (0x83)
 2357     {
 2358         "R16G16B16A16_UINT",
 2359         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
 2360         {0, 0, 0, 0x1},               // Defaults for missing components
 2361         {0, 1, 2, 3},                 // Swizzle
 2362         {16, 16, 16, 16},             // Bits per component
 2363         64,                           // Bits per element
 2364         8,                            // Bytes per element
 2365         4,                            // Num components
 2366         false,                        // isSRGB
 2367         false,                        // isBC
 2368         false,                        // isSubsampled
 2369         false,                        // isLuminance
 2370         {false, false, false, false}, // Is normalized?
 2371         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
 2372         1,                            // bcWidth
 2373         1,                            // bcHeight
 2374     },
 2375 
 2376     // R16G16B16A16_FLOAT (0x84)
 2377     {
 2378         "R16G16B16A16_FLOAT",
 2379         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT},
 2380         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2381         {0, 1, 2, 3},                 // Swizzle
 2382         {16, 16, 16, 16},             // Bits per component
 2383         64,                           // Bits per element
 2384         8,                            // Bytes per element
 2385         4,                            // Num components
 2386         false,                        // isSRGB
 2387         false,                        // isBC
 2388         false,                        // isSubsampled
 2389         false,                        // isLuminance
 2390         {false, false, false, false}, // Is normalized?
 2391         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
 2392         1,                            // bcWidth
 2393         1,                            // bcHeight
 2394     },
 2395 
 2396     // R32G32_FLOAT (0x85)
 2397     {
 2398         "R32G32_FLOAT",
 2399         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2400         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2401         {0, 1, 0, 0},                 // Swizzle
 2402         {32, 32, 0, 0},               // Bits per component
 2403         64,                           // Bits per element
 2404         8,                            // Bytes per element
 2405         2,                            // Num components
 2406         false,                        // isSRGB
 2407         false,                        // isBC
 2408         false,                        // isSubsampled
 2409         false,                        // isLuminance
 2410         {false, false, false, false}, // Is normalized?
 2411         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2412         1,                            // bcWidth
 2413         1,                            // bcHeight
 2414     },
 2415 
 2416     // R32G32_SINT (0x86)
 2417     {
 2418         "R32G32_SINT",
 2419         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2420         {0, 0, 0, 0x1},               // Defaults for missing components
 2421         {0, 1, 0, 0},                 // Swizzle
 2422         {32, 32, 0, 0},               // Bits per component
 2423         64,                           // Bits per element
 2424         8,                            // Bytes per element
 2425         2,                            // Num components
 2426         false,                        // isSRGB
 2427         false,                        // isBC
 2428         false,                        // isSubsampled
 2429         false,                        // isLuminance
 2430         {false, false, false, false}, // Is normalized?
 2431         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2432         1,                            // bcWidth
 2433         1,                            // bcHeight
 2434     },
 2435 
 2436     // R32G32_UINT (0x87)
 2437     {
 2438         "R32G32_UINT",
 2439         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2440         {0, 0, 0, 0x1},               // Defaults for missing components
 2441         {0, 1, 0, 0},                 // Swizzle
 2442         {32, 32, 0, 0},               // Bits per component
 2443         64,                           // Bits per element
 2444         8,                            // Bytes per element
 2445         2,                            // Num components
 2446         false,                        // isSRGB
 2447         false,                        // isBC
 2448         false,                        // isSubsampled
 2449         false,                        // isLuminance
 2450         {false, false, false, false}, // Is normalized?
 2451         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2452         1,                            // bcWidth
 2453         1,                            // bcHeight
 2454     },
 2455 
 2456     // R32_FLOAT_X8X24_TYPELESS (0x88)
 2457     {
 2458         "R32_FLOAT_X8X24_TYPELESS",
 2459         {SWR_TYPE_FLOAT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2460         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2461         {0, 1, 2, 3},                 // Swizzle
 2462         {32, 32, 0, 0},               // Bits per component
 2463         64,                           // Bits per element
 2464         8,                            // Bytes per element
 2465         2,                            // Num components
 2466         false,                        // isSRGB
 2467         false,                        // isBC
 2468         false,                        // isSubsampled
 2469         false,                        // isLuminance
 2470         {false, false, false, false}, // Is normalized?
 2471         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2472         1,                            // bcWidth
 2473         1,                            // bcHeight
 2474     },
 2475 
 2476     // X32_TYPELESS_G8X24_UINT (0x89)
 2477     {
 2478         "X32_TYPELESS_G8X24_UINT",
 2479         {SWR_TYPE_UINT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2480         {0, 0, 0, 0x1},               // Defaults for missing components
 2481         {0, 1, 2, 3},                 // Swizzle
 2482         {32, 32, 0, 0},               // Bits per component
 2483         64,                           // Bits per element
 2484         8,                            // Bytes per element
 2485         2,                            // Num components
 2486         false,                        // isSRGB
 2487         false,                        // isBC
 2488         false,                        // isSubsampled
 2489         false,                        // isLuminance
 2490         {false, false, false, false}, // Is normalized?
 2491         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2492         1,                            // bcWidth
 2493         1,                            // bcHeight
 2494     },
 2495 
 2496     // L32A32_FLOAT (0x8A)
 2497     {
 2498         "L32A32_FLOAT",
 2499         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2500         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2501         {0, 3, 0, 0},                 // Swizzle
 2502         {32, 32, 0, 0},               // Bits per component
 2503         64,                           // Bits per element
 2504         8,                            // Bytes per element
 2505         2,                            // Num components
 2506         false,                        // isSRGB
 2507         false,                        // isBC
 2508         false,                        // isSubsampled
 2509         true,                         // isLuminance
 2510         {false, false, false, false}, // Is normalized?
 2511         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2512         1,                            // bcWidth
 2513         1,                            // bcHeight
 2514     },
 2515 
 2516     // padding (0x8B)
 2517     {nullptr,
 2518      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2519      {0, 0, 0, 0},
 2520      {0, 0, 0, 0},
 2521      {0, 0, 0, 0},
 2522      0,
 2523      0,
 2524      0,
 2525      false,
 2526      false,
 2527      false,
 2528      false,
 2529      {false, false, false, false},
 2530      {0.0f, 0.0f, 0.0f, 0.0f},
 2531      1,
 2532      1},
 2533     // padding (0x8C)
 2534     {nullptr,
 2535      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2536      {0, 0, 0, 0},
 2537      {0, 0, 0, 0},
 2538      {0, 0, 0, 0},
 2539      0,
 2540      0,
 2541      0,
 2542      false,
 2543      false,
 2544      false,
 2545      false,
 2546      {false, false, false, false},
 2547      {0.0f, 0.0f, 0.0f, 0.0f},
 2548      1,
 2549      1},
 2550     // R64_FLOAT (0x8D)
 2551     {
 2552         "R64_FLOAT",
 2553         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2554         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2555         {0, 0, 0, 0},                 // Swizzle
 2556         {64, 0, 0, 0},                // Bits per component
 2557         64,                           // Bits per element
 2558         8,                            // Bytes per element
 2559         1,                            // Num components
 2560         false,                        // isSRGB
 2561         false,                        // isBC
 2562         false,                        // isSubsampled
 2563         false,                        // isLuminance
 2564         {false, false, false, false}, // Is normalized?
 2565         {1.0f, 0, 0, 0},              // To float scale factor
 2566         1,                            // bcWidth
 2567         1,                            // bcHeight
 2568     },
 2569 
 2570     // R16G16B16X16_UNORM (0x8E)
 2571     {
 2572         "R16G16B16X16_UNORM",
 2573         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED},
 2574         {0, 0, 0, 0x3f800000},     // Defaults for missing components
 2575         {0, 1, 2, 3},              // Swizzle
 2576         {16, 16, 16, 16},          // Bits per component
 2577         64,                        // Bits per element
 2578         8,                         // Bytes per element
 2579         4,                         // Num components
 2580         false,                     // isSRGB
 2581         false,                     // isBC
 2582         false,                     // isSubsampled
 2583         false,                     // isLuminance
 2584         {true, true, true, false}, // Is normalized?
 2585         {1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f / 65535.0f, 1.0f}, // To float scale factor
 2586         1,                                                         // bcWidth
 2587         1,                                                         // bcHeight
 2588     },
 2589 
 2590     // R16G16B16X16_FLOAT (0x8F)
 2591     {
 2592         "R16G16B16X16_FLOAT",
 2593         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNUSED},
 2594         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2595         {0, 1, 2, 3},                 // Swizzle
 2596         {16, 16, 16, 16},             // Bits per component
 2597         64,                           // Bits per element
 2598         8,                            // Bytes per element
 2599         4,                            // Num components
 2600         false,                        // isSRGB
 2601         false,                        // isBC
 2602         false,                        // isSubsampled
 2603         false,                        // isLuminance
 2604         {false, false, false, false}, // Is normalized?
 2605         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
 2606         1,                            // bcWidth
 2607         1,                            // bcHeight
 2608     },
 2609 
 2610     // padding (0x90)
 2611     {nullptr,
 2612      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2613      {0, 0, 0, 0},
 2614      {0, 0, 0, 0},
 2615      {0, 0, 0, 0},
 2616      0,
 2617      0,
 2618      0,
 2619      false,
 2620      false,
 2621      false,
 2622      false,
 2623      {false, false, false, false},
 2624      {0.0f, 0.0f, 0.0f, 0.0f},
 2625      1,
 2626      1},
 2627     // L32X32_FLOAT (0x91)
 2628     {
 2629         "L32X32_FLOAT",
 2630         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2631         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2632         {0, 3, 0, 0},                 // Swizzle
 2633         {32, 32, 0, 0},               // Bits per component
 2634         64,                           // Bits per element
 2635         8,                            // Bytes per element
 2636         2,                            // Num components
 2637         false,                        // isSRGB
 2638         false,                        // isBC
 2639         false,                        // isSubsampled
 2640         true,                         // isLuminance
 2641         {false, false, false, false}, // Is normalized?
 2642         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2643         1,                            // bcWidth
 2644         1,                            // bcHeight
 2645     },
 2646 
 2647     // I32X32_FLOAT (0x92)
 2648     {
 2649         "I32X32_FLOAT",
 2650         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2651         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2652         {0, 3, 0, 0},                 // Swizzle
 2653         {32, 32, 0, 0},               // Bits per component
 2654         64,                           // Bits per element
 2655         8,                            // Bytes per element
 2656         2,                            // Num components
 2657         false,                        // isSRGB
 2658         false,                        // isBC
 2659         false,                        // isSubsampled
 2660         true,                         // isLuminance
 2661         {false, false, false, false}, // Is normalized?
 2662         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2663         1,                            // bcWidth
 2664         1,                            // bcHeight
 2665     },
 2666 
 2667     // R16G16B16A16_SSCALED (0x93)
 2668     {
 2669         "R16G16B16A16_SSCALED",
 2670         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED},
 2671         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2672         {0, 1, 2, 3},                 // Swizzle
 2673         {16, 16, 16, 16},             // Bits per component
 2674         64,                           // Bits per element
 2675         8,                            // Bytes per element
 2676         4,                            // Num components
 2677         false,                        // isSRGB
 2678         false,                        // isBC
 2679         false,                        // isSubsampled
 2680         false,                        // isLuminance
 2681         {false, false, false, false}, // Is normalized?
 2682         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
 2683         1,                            // bcWidth
 2684         1,                            // bcHeight
 2685     },
 2686 
 2687     // R16G16B16A16_USCALED (0x94)
 2688     {
 2689         "R16G16B16A16_USCALED",
 2690         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED},
 2691         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2692         {0, 1, 2, 3},                 // Swizzle
 2693         {16, 16, 16, 16},             // Bits per component
 2694         64,                           // Bits per element
 2695         8,                            // Bytes per element
 2696         4,                            // Num components
 2697         false,                        // isSRGB
 2698         false,                        // isBC
 2699         false,                        // isSubsampled
 2700         false,                        // isLuminance
 2701         {false, false, false, false}, // Is normalized?
 2702         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
 2703         1,                            // bcWidth
 2704         1,                            // bcHeight
 2705     },
 2706 
 2707     // R32G32_SSCALED (0x95)
 2708     {
 2709         "R32G32_SSCALED",
 2710         {SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2711         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2712         {0, 1, 0, 0},                 // Swizzle
 2713         {32, 32, 0, 0},               // Bits per component
 2714         64,                           // Bits per element
 2715         8,                            // Bytes per element
 2716         2,                            // Num components
 2717         false,                        // isSRGB
 2718         false,                        // isBC
 2719         false,                        // isSubsampled
 2720         false,                        // isLuminance
 2721         {false, false, false, false}, // Is normalized?
 2722         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2723         1,                            // bcWidth
 2724         1,                            // bcHeight
 2725     },
 2726 
 2727     // R32G32_USCALED (0x96)
 2728     {
 2729         "R32G32_USCALED",
 2730         {SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2731         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2732         {0, 1, 0, 0},                 // Swizzle
 2733         {32, 32, 0, 0},               // Bits per component
 2734         64,                           // Bits per element
 2735         8,                            // Bytes per element
 2736         2,                            // Num components
 2737         false,                        // isSRGB
 2738         false,                        // isBC
 2739         false,                        // isSubsampled
 2740         false,                        // isLuminance
 2741         {false, false, false, false}, // Is normalized?
 2742         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2743         1,                            // bcWidth
 2744         1,                            // bcHeight
 2745     },
 2746 
 2747     // padding (0x97)
 2748     {nullptr,
 2749      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2750      {0, 0, 0, 0},
 2751      {0, 0, 0, 0},
 2752      {0, 0, 0, 0},
 2753      0,
 2754      0,
 2755      0,
 2756      false,
 2757      false,
 2758      false,
 2759      false,
 2760      {false, false, false, false},
 2761      {0.0f, 0.0f, 0.0f, 0.0f},
 2762      1,
 2763      1},
 2764     // padding (0x98)
 2765     {nullptr,
 2766      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2767      {0, 0, 0, 0},
 2768      {0, 0, 0, 0},
 2769      {0, 0, 0, 0},
 2770      0,
 2771      0,
 2772      0,
 2773      false,
 2774      false,
 2775      false,
 2776      false,
 2777      {false, false, false, false},
 2778      {0.0f, 0.0f, 0.0f, 0.0f},
 2779      1,
 2780      1},
 2781     // padding (0x99)
 2782     {nullptr,
 2783      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2784      {0, 0, 0, 0},
 2785      {0, 0, 0, 0},
 2786      {0, 0, 0, 0},
 2787      0,
 2788      0,
 2789      0,
 2790      false,
 2791      false,
 2792      false,
 2793      false,
 2794      {false, false, false, false},
 2795      {0.0f, 0.0f, 0.0f, 0.0f},
 2796      1,
 2797      1},
 2798     // padding (0x9A)
 2799     {nullptr,
 2800      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2801      {0, 0, 0, 0},
 2802      {0, 0, 0, 0},
 2803      {0, 0, 0, 0},
 2804      0,
 2805      0,
 2806      0,
 2807      false,
 2808      false,
 2809      false,
 2810      false,
 2811      {false, false, false, false},
 2812      {0.0f, 0.0f, 0.0f, 0.0f},
 2813      1,
 2814      1},
 2815     // padding (0x9B)
 2816     {nullptr,
 2817      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2818      {0, 0, 0, 0},
 2819      {0, 0, 0, 0},
 2820      {0, 0, 0, 0},
 2821      0,
 2822      0,
 2823      0,
 2824      false,
 2825      false,
 2826      false,
 2827      false,
 2828      {false, false, false, false},
 2829      {0.0f, 0.0f, 0.0f, 0.0f},
 2830      1,
 2831      1},
 2832     // padding (0x9C)
 2833     {nullptr,
 2834      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2835      {0, 0, 0, 0},
 2836      {0, 0, 0, 0},
 2837      {0, 0, 0, 0},
 2838      0,
 2839      0,
 2840      0,
 2841      false,
 2842      false,
 2843      false,
 2844      false,
 2845      {false, false, false, false},
 2846      {0.0f, 0.0f, 0.0f, 0.0f},
 2847      1,
 2848      1},
 2849     // padding (0x9D)
 2850     {nullptr,
 2851      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2852      {0, 0, 0, 0},
 2853      {0, 0, 0, 0},
 2854      {0, 0, 0, 0},
 2855      0,
 2856      0,
 2857      0,
 2858      false,
 2859      false,
 2860      false,
 2861      false,
 2862      {false, false, false, false},
 2863      {0.0f, 0.0f, 0.0f, 0.0f},
 2864      1,
 2865      1},
 2866     // padding (0x9E)
 2867     {nullptr,
 2868      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2869      {0, 0, 0, 0},
 2870      {0, 0, 0, 0},
 2871      {0, 0, 0, 0},
 2872      0,
 2873      0,
 2874      0,
 2875      false,
 2876      false,
 2877      false,
 2878      false,
 2879      {false, false, false, false},
 2880      {0.0f, 0.0f, 0.0f, 0.0f},
 2881      1,
 2882      1},
 2883     // padding (0x9F)
 2884     {nullptr,
 2885      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2886      {0, 0, 0, 0},
 2887      {0, 0, 0, 0},
 2888      {0, 0, 0, 0},
 2889      0,
 2890      0,
 2891      0,
 2892      false,
 2893      false,
 2894      false,
 2895      false,
 2896      {false, false, false, false},
 2897      {0.0f, 0.0f, 0.0f, 0.0f},
 2898      1,
 2899      1},
 2900     // R32G32_SFIXED (0xA0)
 2901     {
 2902         "R32G32_SFIXED",
 2903         {SWR_TYPE_SFIXED, SWR_TYPE_SFIXED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2904         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 2905         {0, 1, 0, 0},                 // Swizzle
 2906         {32, 32, 0, 0},               // Bits per component
 2907         64,                           // Bits per element
 2908         8,                            // Bytes per element
 2909         2,                            // Num components
 2910         false,                        // isSRGB
 2911         false,                        // isBC
 2912         false,                        // isSubsampled
 2913         false,                        // isLuminance
 2914         {false, false, false, false}, // Is normalized?
 2915         {1.0f, 1.0f, 0, 0},           // To float scale factor
 2916         1,                            // bcWidth
 2917         1,                            // bcHeight
 2918     },
 2919 
 2920     // padding (0xA1)
 2921     {nullptr,
 2922      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2923      {0, 0, 0, 0},
 2924      {0, 0, 0, 0},
 2925      {0, 0, 0, 0},
 2926      0,
 2927      0,
 2928      0,
 2929      false,
 2930      false,
 2931      false,
 2932      false,
 2933      {false, false, false, false},
 2934      {0.0f, 0.0f, 0.0f, 0.0f},
 2935      1,
 2936      1},
 2937     // padding (0xA2)
 2938     {nullptr,
 2939      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2940      {0, 0, 0, 0},
 2941      {0, 0, 0, 0},
 2942      {0, 0, 0, 0},
 2943      0,
 2944      0,
 2945      0,
 2946      false,
 2947      false,
 2948      false,
 2949      false,
 2950      {false, false, false, false},
 2951      {0.0f, 0.0f, 0.0f, 0.0f},
 2952      1,
 2953      1},
 2954     // padding (0xA3)
 2955     {nullptr,
 2956      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2957      {0, 0, 0, 0},
 2958      {0, 0, 0, 0},
 2959      {0, 0, 0, 0},
 2960      0,
 2961      0,
 2962      0,
 2963      false,
 2964      false,
 2965      false,
 2966      false,
 2967      {false, false, false, false},
 2968      {0.0f, 0.0f, 0.0f, 0.0f},
 2969      1,
 2970      1},
 2971     // padding (0xA4)
 2972     {nullptr,
 2973      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2974      {0, 0, 0, 0},
 2975      {0, 0, 0, 0},
 2976      {0, 0, 0, 0},
 2977      0,
 2978      0,
 2979      0,
 2980      false,
 2981      false,
 2982      false,
 2983      false,
 2984      {false, false, false, false},
 2985      {0.0f, 0.0f, 0.0f, 0.0f},
 2986      1,
 2987      1},
 2988     // padding (0xA5)
 2989     {nullptr,
 2990      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 2991      {0, 0, 0, 0},
 2992      {0, 0, 0, 0},
 2993      {0, 0, 0, 0},
 2994      0,
 2995      0,
 2996      0,
 2997      false,
 2998      false,
 2999      false,
 3000      false,
 3001      {false, false, false, false},
 3002      {0.0f, 0.0f, 0.0f, 0.0f},
 3003      1,
 3004      1},
 3005     // padding (0xA6)
 3006     {nullptr,
 3007      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3008      {0, 0, 0, 0},
 3009      {0, 0, 0, 0},
 3010      {0, 0, 0, 0},
 3011      0,
 3012      0,
 3013      0,
 3014      false,
 3015      false,
 3016      false,
 3017      false,
 3018      {false, false, false, false},
 3019      {0.0f, 0.0f, 0.0f, 0.0f},
 3020      1,
 3021      1},
 3022     // padding (0xA7)
 3023     {nullptr,
 3024      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3025      {0, 0, 0, 0},
 3026      {0, 0, 0, 0},
 3027      {0, 0, 0, 0},
 3028      0,
 3029      0,
 3030      0,
 3031      false,
 3032      false,
 3033      false,
 3034      false,
 3035      {false, false, false, false},
 3036      {0.0f, 0.0f, 0.0f, 0.0f},
 3037      1,
 3038      1},
 3039     // padding (0xA8)
 3040     {nullptr,
 3041      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3042      {0, 0, 0, 0},
 3043      {0, 0, 0, 0},
 3044      {0, 0, 0, 0},
 3045      0,
 3046      0,
 3047      0,
 3048      false,
 3049      false,
 3050      false,
 3051      false,
 3052      {false, false, false, false},
 3053      {0.0f, 0.0f, 0.0f, 0.0f},
 3054      1,
 3055      1},
 3056     // padding (0xA9)
 3057     {nullptr,
 3058      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3059      {0, 0, 0, 0},
 3060      {0, 0, 0, 0},
 3061      {0, 0, 0, 0},
 3062      0,
 3063      0,
 3064      0,
 3065      false,
 3066      false,
 3067      false,
 3068      false,
 3069      {false, false, false, false},
 3070      {0.0f, 0.0f, 0.0f, 0.0f},
 3071      1,
 3072      1},
 3073     // padding (0xAA)
 3074     {nullptr,
 3075      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3076      {0, 0, 0, 0},
 3077      {0, 0, 0, 0},
 3078      {0, 0, 0, 0},
 3079      0,
 3080      0,
 3081      0,
 3082      false,
 3083      false,
 3084      false,
 3085      false,
 3086      {false, false, false, false},
 3087      {0.0f, 0.0f, 0.0f, 0.0f},
 3088      1,
 3089      1},
 3090     // padding (0xAB)
 3091     {nullptr,
 3092      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3093      {0, 0, 0, 0},
 3094      {0, 0, 0, 0},
 3095      {0, 0, 0, 0},
 3096      0,
 3097      0,
 3098      0,
 3099      false,
 3100      false,
 3101      false,
 3102      false,
 3103      {false, false, false, false},
 3104      {0.0f, 0.0f, 0.0f, 0.0f},
 3105      1,
 3106      1},
 3107     // padding (0xAC)
 3108     {nullptr,
 3109      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3110      {0, 0, 0, 0},
 3111      {0, 0, 0, 0},
 3112      {0, 0, 0, 0},
 3113      0,
 3114      0,
 3115      0,
 3116      false,
 3117      false,
 3118      false,
 3119      false,
 3120      {false, false, false, false},
 3121      {0.0f, 0.0f, 0.0f, 0.0f},
 3122      1,
 3123      1},
 3124     // padding (0xAD)
 3125     {nullptr,
 3126      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3127      {0, 0, 0, 0},
 3128      {0, 0, 0, 0},
 3129      {0, 0, 0, 0},
 3130      0,
 3131      0,
 3132      0,
 3133      false,
 3134      false,
 3135      false,
 3136      false,
 3137      {false, false, false, false},
 3138      {0.0f, 0.0f, 0.0f, 0.0f},
 3139      1,
 3140      1},
 3141     // padding (0xAE)
 3142     {nullptr,
 3143      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3144      {0, 0, 0, 0},
 3145      {0, 0, 0, 0},
 3146      {0, 0, 0, 0},
 3147      0,
 3148      0,
 3149      0,
 3150      false,
 3151      false,
 3152      false,
 3153      false,
 3154      {false, false, false, false},
 3155      {0.0f, 0.0f, 0.0f, 0.0f},
 3156      1,
 3157      1},
 3158     // padding (0xAF)
 3159     {nullptr,
 3160      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3161      {0, 0, 0, 0},
 3162      {0, 0, 0, 0},
 3163      {0, 0, 0, 0},
 3164      0,
 3165      0,
 3166      0,
 3167      false,
 3168      false,
 3169      false,
 3170      false,
 3171      {false, false, false, false},
 3172      {0.0f, 0.0f, 0.0f, 0.0f},
 3173      1,
 3174      1},
 3175     // padding (0xB0)
 3176     {nullptr,
 3177      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3178      {0, 0, 0, 0},
 3179      {0, 0, 0, 0},
 3180      {0, 0, 0, 0},
 3181      0,
 3182      0,
 3183      0,
 3184      false,
 3185      false,
 3186      false,
 3187      false,
 3188      {false, false, false, false},
 3189      {0.0f, 0.0f, 0.0f, 0.0f},
 3190      1,
 3191      1},
 3192     // padding (0xB1)
 3193     {nullptr,
 3194      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3195      {0, 0, 0, 0},
 3196      {0, 0, 0, 0},
 3197      {0, 0, 0, 0},
 3198      0,
 3199      0,
 3200      0,
 3201      false,
 3202      false,
 3203      false,
 3204      false,
 3205      {false, false, false, false},
 3206      {0.0f, 0.0f, 0.0f, 0.0f},
 3207      1,
 3208      1},
 3209     // padding (0xB2)
 3210     {nullptr,
 3211      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3212      {0, 0, 0, 0},
 3213      {0, 0, 0, 0},
 3214      {0, 0, 0, 0},
 3215      0,
 3216      0,
 3217      0,
 3218      false,
 3219      false,
 3220      false,
 3221      false,
 3222      {false, false, false, false},
 3223      {0.0f, 0.0f, 0.0f, 0.0f},
 3224      1,
 3225      1},
 3226     // padding (0xB3)
 3227     {nullptr,
 3228      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3229      {0, 0, 0, 0},
 3230      {0, 0, 0, 0},
 3231      {0, 0, 0, 0},
 3232      0,
 3233      0,
 3234      0,
 3235      false,
 3236      false,
 3237      false,
 3238      false,
 3239      {false, false, false, false},
 3240      {0.0f, 0.0f, 0.0f, 0.0f},
 3241      1,
 3242      1},
 3243     // padding (0xB4)
 3244     {nullptr,
 3245      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3246      {0, 0, 0, 0},
 3247      {0, 0, 0, 0},
 3248      {0, 0, 0, 0},
 3249      0,
 3250      0,
 3251      0,
 3252      false,
 3253      false,
 3254      false,
 3255      false,
 3256      {false, false, false, false},
 3257      {0.0f, 0.0f, 0.0f, 0.0f},
 3258      1,
 3259      1},
 3260     // padding (0xB5)
 3261     {nullptr,
 3262      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3263      {0, 0, 0, 0},
 3264      {0, 0, 0, 0},
 3265      {0, 0, 0, 0},
 3266      0,
 3267      0,
 3268      0,
 3269      false,
 3270      false,
 3271      false,
 3272      false,
 3273      {false, false, false, false},
 3274      {0.0f, 0.0f, 0.0f, 0.0f},
 3275      1,
 3276      1},
 3277     // padding (0xB6)
 3278     {nullptr,
 3279      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3280      {0, 0, 0, 0},
 3281      {0, 0, 0, 0},
 3282      {0, 0, 0, 0},
 3283      0,
 3284      0,
 3285      0,
 3286      false,
 3287      false,
 3288      false,
 3289      false,
 3290      {false, false, false, false},
 3291      {0.0f, 0.0f, 0.0f, 0.0f},
 3292      1,
 3293      1},
 3294     // padding (0xB7)
 3295     {nullptr,
 3296      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3297      {0, 0, 0, 0},
 3298      {0, 0, 0, 0},
 3299      {0, 0, 0, 0},
 3300      0,
 3301      0,
 3302      0,
 3303      false,
 3304      false,
 3305      false,
 3306      false,
 3307      {false, false, false, false},
 3308      {0.0f, 0.0f, 0.0f, 0.0f},
 3309      1,
 3310      1},
 3311     // padding (0xB8)
 3312     {nullptr,
 3313      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3314      {0, 0, 0, 0},
 3315      {0, 0, 0, 0},
 3316      {0, 0, 0, 0},
 3317      0,
 3318      0,
 3319      0,
 3320      false,
 3321      false,
 3322      false,
 3323      false,
 3324      {false, false, false, false},
 3325      {0.0f, 0.0f, 0.0f, 0.0f},
 3326      1,
 3327      1},
 3328     // padding (0xB9)
 3329     {nullptr,
 3330      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3331      {0, 0, 0, 0},
 3332      {0, 0, 0, 0},
 3333      {0, 0, 0, 0},
 3334      0,
 3335      0,
 3336      0,
 3337      false,
 3338      false,
 3339      false,
 3340      false,
 3341      {false, false, false, false},
 3342      {0.0f, 0.0f, 0.0f, 0.0f},
 3343      1,
 3344      1},
 3345     // padding (0xBA)
 3346     {nullptr,
 3347      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3348      {0, 0, 0, 0},
 3349      {0, 0, 0, 0},
 3350      {0, 0, 0, 0},
 3351      0,
 3352      0,
 3353      0,
 3354      false,
 3355      false,
 3356      false,
 3357      false,
 3358      {false, false, false, false},
 3359      {0.0f, 0.0f, 0.0f, 0.0f},
 3360      1,
 3361      1},
 3362     // padding (0xBB)
 3363     {nullptr,
 3364      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3365      {0, 0, 0, 0},
 3366      {0, 0, 0, 0},
 3367      {0, 0, 0, 0},
 3368      0,
 3369      0,
 3370      0,
 3371      false,
 3372      false,
 3373      false,
 3374      false,
 3375      {false, false, false, false},
 3376      {0.0f, 0.0f, 0.0f, 0.0f},
 3377      1,
 3378      1},
 3379     // padding (0xBC)
 3380     {nullptr,
 3381      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3382      {0, 0, 0, 0},
 3383      {0, 0, 0, 0},
 3384      {0, 0, 0, 0},
 3385      0,
 3386      0,
 3387      0,
 3388      false,
 3389      false,
 3390      false,
 3391      false,
 3392      {false, false, false, false},
 3393      {0.0f, 0.0f, 0.0f, 0.0f},
 3394      1,
 3395      1},
 3396     // padding (0xBD)
 3397     {nullptr,
 3398      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3399      {0, 0, 0, 0},
 3400      {0, 0, 0, 0},
 3401      {0, 0, 0, 0},
 3402      0,
 3403      0,
 3404      0,
 3405      false,
 3406      false,
 3407      false,
 3408      false,
 3409      {false, false, false, false},
 3410      {0.0f, 0.0f, 0.0f, 0.0f},
 3411      1,
 3412      1},
 3413     // padding (0xBE)
 3414     {nullptr,
 3415      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3416      {0, 0, 0, 0},
 3417      {0, 0, 0, 0},
 3418      {0, 0, 0, 0},
 3419      0,
 3420      0,
 3421      0,
 3422      false,
 3423      false,
 3424      false,
 3425      false,
 3426      {false, false, false, false},
 3427      {0.0f, 0.0f, 0.0f, 0.0f},
 3428      1,
 3429      1},
 3430     // padding (0xBF)
 3431     {nullptr,
 3432      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3433      {0, 0, 0, 0},
 3434      {0, 0, 0, 0},
 3435      {0, 0, 0, 0},
 3436      0,
 3437      0,
 3438      0,
 3439      false,
 3440      false,
 3441      false,
 3442      false,
 3443      {false, false, false, false},
 3444      {0.0f, 0.0f, 0.0f, 0.0f},
 3445      1,
 3446      1},
 3447     // B8G8R8A8_UNORM (0xC0)
 3448     {
 3449         "B8G8R8A8_UNORM",
 3450         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
 3451         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 3452         {2, 1, 0, 3},             // Swizzle
 3453         {8, 8, 8, 8},             // Bits per component
 3454         32,                       // Bits per element
 3455         4,                        // Bytes per element
 3456         4,                        // Num components
 3457         false,                    // isSRGB
 3458         false,                    // isBC
 3459         false,                    // isSubsampled
 3460         false,                    // isLuminance
 3461         {true, true, true, true}, // Is normalized?
 3462         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f}, // To float scale factor
 3463         1,                                                            // bcWidth
 3464         1,                                                            // bcHeight
 3465     },
 3466 
 3467     // B8G8R8A8_UNORM_SRGB (0xC1)
 3468     {
 3469         "B8G8R8A8_UNORM_SRGB",
 3470         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
 3471         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 3472         {2, 1, 0, 3},             // Swizzle
 3473         {8, 8, 8, 8},             // Bits per component
 3474         32,                       // Bits per element
 3475         4,                        // Bytes per element
 3476         4,                        // Num components
 3477         true,                     // isSRGB
 3478         false,                    // isBC
 3479         false,                    // isSubsampled
 3480         false,                    // isLuminance
 3481         {true, true, true, true}, // Is normalized?
 3482         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f}, // To float scale factor
 3483         1,                                                            // bcWidth
 3484         1,                                                            // bcHeight
 3485     },
 3486 
 3487     // R10G10B10A2_UNORM (0xC2)
 3488     {
 3489         "R10G10B10A2_UNORM",
 3490         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
 3491         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 3492         {0, 1, 2, 3},             // Swizzle
 3493         {10, 10, 10, 2},          // Bits per component
 3494         32,                       // Bits per element
 3495         4,                        // Bytes per element
 3496         4,                        // Num components
 3497         false,                    // isSRGB
 3498         false,                    // isBC
 3499         false,                    // isSubsampled
 3500         false,                    // isLuminance
 3501         {true, true, true, true}, // Is normalized?
 3502         {1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f}, // To float scale factor
 3503         1,                                                             // bcWidth
 3504         1,                                                             // bcHeight
 3505     },
 3506 
 3507     // R10G10B10A2_UNORM_SRGB (0xC3)
 3508     {
 3509         "R10G10B10A2_UNORM_SRGB",
 3510         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
 3511         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 3512         {0, 1, 2, 3},             // Swizzle
 3513         {10, 10, 10, 2},          // Bits per component
 3514         32,                       // Bits per element
 3515         4,                        // Bytes per element
 3516         4,                        // Num components
 3517         true,                     // isSRGB
 3518         false,                    // isBC
 3519         false,                    // isSubsampled
 3520         false,                    // isLuminance
 3521         {true, true, true, true}, // Is normalized?
 3522         {1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f}, // To float scale factor
 3523         1,                                                             // bcWidth
 3524         1,                                                             // bcHeight
 3525     },
 3526 
 3527     // R10G10B10A2_UINT (0xC4)
 3528     {
 3529         "R10G10B10A2_UINT",
 3530         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
 3531         {0, 0, 0, 0x1},               // Defaults for missing components
 3532         {0, 1, 2, 3},                 // Swizzle
 3533         {10, 10, 10, 2},              // Bits per component
 3534         32,                           // Bits per element
 3535         4,                            // Bytes per element
 3536         4,                            // Num components
 3537         false,                        // isSRGB
 3538         false,                        // isBC
 3539         false,                        // isSubsampled
 3540         false,                        // isLuminance
 3541         {false, false, false, false}, // Is normalized?
 3542         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
 3543         1,                            // bcWidth
 3544         1,                            // bcHeight
 3545     },
 3546 
 3547     // padding (0xC5)
 3548     {nullptr,
 3549      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3550      {0, 0, 0, 0},
 3551      {0, 0, 0, 0},
 3552      {0, 0, 0, 0},
 3553      0,
 3554      0,
 3555      0,
 3556      false,
 3557      false,
 3558      false,
 3559      false,
 3560      {false, false, false, false},
 3561      {0.0f, 0.0f, 0.0f, 0.0f},
 3562      1,
 3563      1},
 3564     // padding (0xC6)
 3565     {nullptr,
 3566      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3567      {0, 0, 0, 0},
 3568      {0, 0, 0, 0},
 3569      {0, 0, 0, 0},
 3570      0,
 3571      0,
 3572      0,
 3573      false,
 3574      false,
 3575      false,
 3576      false,
 3577      {false, false, false, false},
 3578      {0.0f, 0.0f, 0.0f, 0.0f},
 3579      1,
 3580      1},
 3581     // R8G8B8A8_UNORM (0xC7)
 3582     {
 3583         "R8G8B8A8_UNORM",
 3584         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
 3585         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 3586         {0, 1, 2, 3},             // Swizzle
 3587         {8, 8, 8, 8},             // Bits per component
 3588         32,                       // Bits per element
 3589         4,                        // Bytes per element
 3590         4,                        // Num components
 3591         false,                    // isSRGB
 3592         false,                    // isBC
 3593         false,                    // isSubsampled
 3594         false,                    // isLuminance
 3595         {true, true, true, true}, // Is normalized?
 3596         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f}, // To float scale factor
 3597         1,                                                            // bcWidth
 3598         1,                                                            // bcHeight
 3599     },
 3600 
 3601     // R8G8B8A8_UNORM_SRGB (0xC8)
 3602     {
 3603         "R8G8B8A8_UNORM_SRGB",
 3604         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
 3605         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 3606         {0, 1, 2, 3},             // Swizzle
 3607         {8, 8, 8, 8},             // Bits per component
 3608         32,                       // Bits per element
 3609         4,                        // Bytes per element
 3610         4,                        // Num components
 3611         true,                     // isSRGB
 3612         false,                    // isBC
 3613         false,                    // isSubsampled
 3614         false,                    // isLuminance
 3615         {true, true, true, true}, // Is normalized?
 3616         {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f}, // To float scale factor
 3617         1,                                                            // bcWidth
 3618         1,                                                            // bcHeight
 3619     },
 3620 
 3621     // R8G8B8A8_SNORM (0xC9)
 3622     {
 3623         "R8G8B8A8_SNORM",
 3624         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM},
 3625         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 3626         {0, 1, 2, 3},             // Swizzle
 3627         {8, 8, 8, 8},             // Bits per component
 3628         32,                       // Bits per element
 3629         4,                        // Bytes per element
 3630         4,                        // Num components
 3631         false,                    // isSRGB
 3632         false,                    // isBC
 3633         false,                    // isSubsampled
 3634         false,                    // isLuminance
 3635         {true, true, true, true}, // Is normalized?
 3636         {1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f, 1.0f / 127.0f}, // To float scale factor
 3637         1,                                                            // bcWidth
 3638         1,                                                            // bcHeight
 3639     },
 3640 
 3641     // R8G8B8A8_SINT (0xCA)
 3642     {
 3643         "R8G8B8A8_SINT",
 3644         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT},
 3645         {0, 0, 0, 0x1},               // Defaults for missing components
 3646         {0, 1, 2, 3},                 // Swizzle
 3647         {8, 8, 8, 8},                 // Bits per component
 3648         32,                           // Bits per element
 3649         4,                            // Bytes per element
 3650         4,                            // Num components
 3651         false,                        // isSRGB
 3652         false,                        // isBC
 3653         false,                        // isSubsampled
 3654         false,                        // isLuminance
 3655         {false, false, false, false}, // Is normalized?
 3656         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
 3657         1,                            // bcWidth
 3658         1,                            // bcHeight
 3659     },
 3660 
 3661     // R8G8B8A8_UINT (0xCB)
 3662     {
 3663         "R8G8B8A8_UINT",
 3664         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT},
 3665         {0, 0, 0, 0x1},               // Defaults for missing components
 3666         {0, 1, 2, 3},                 // Swizzle
 3667         {8, 8, 8, 8},                 // Bits per component
 3668         32,                           // Bits per element
 3669         4,                            // Bytes per element
 3670         4,                            // Num components
 3671         false,                        // isSRGB
 3672         false,                        // isBC
 3673         false,                        // isSubsampled
 3674         false,                        // isLuminance
 3675         {false, false, false, false}, // Is normalized?
 3676         {1.0f, 1.0f, 1.0f, 1.0f},     // To float scale factor
 3677         1,                            // bcWidth
 3678         1,                            // bcHeight
 3679     },
 3680 
 3681     // R16G16_UNORM (0xCC)
 3682     {
 3683         "R16G16_UNORM",
 3684         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3685         {0, 0, 0, 0x3f800000},                    // Defaults for missing components
 3686         {0, 1, 0, 0},                             // Swizzle
 3687         {16, 16, 0, 0},                           // Bits per component
 3688         32,                                       // Bits per element
 3689         4,                                        // Bytes per element
 3690         2,                                        // Num components
 3691         false,                                    // isSRGB
 3692         false,                                    // isBC
 3693         false,                                    // isSubsampled
 3694         false,                                    // isLuminance
 3695         {true, true, false, false},               // Is normalized?
 3696         {1.0f / 65535.0f, 1.0f / 65535.0f, 0, 0}, // To float scale factor
 3697         1,                                        // bcWidth
 3698         1,                                        // bcHeight
 3699     },
 3700 
 3701     // R16G16_SNORM (0xCD)
 3702     {
 3703         "R16G16_SNORM",
 3704         {SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3705         {0, 0, 0, 0x3f800000},                    // Defaults for missing components
 3706         {0, 1, 0, 0},                             // Swizzle
 3707         {16, 16, 0, 0},                           // Bits per component
 3708         32,                                       // Bits per element
 3709         4,                                        // Bytes per element
 3710         2,                                        // Num components
 3711         false,                                    // isSRGB
 3712         false,                                    // isBC
 3713         false,                                    // isSubsampled
 3714         false,                                    // isLuminance
 3715         {true, true, false, false},               // Is normalized?
 3716         {1.0f / 32767.0f, 1.0f / 32767.0f, 0, 0}, // To float scale factor
 3717         1,                                        // bcWidth
 3718         1,                                        // bcHeight
 3719     },
 3720 
 3721     // R16G16_SINT (0xCE)
 3722     {
 3723         "R16G16_SINT",
 3724         {SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3725         {0, 0, 0, 0x1},               // Defaults for missing components
 3726         {0, 1, 0, 0},                 // Swizzle
 3727         {16, 16, 0, 0},               // Bits per component
 3728         32,                           // Bits per element
 3729         4,                            // Bytes per element
 3730         2,                            // Num components
 3731         false,                        // isSRGB
 3732         false,                        // isBC
 3733         false,                        // isSubsampled
 3734         false,                        // isLuminance
 3735         {false, false, false, false}, // Is normalized?
 3736         {1.0f, 1.0f, 0, 0},           // To float scale factor
 3737         1,                            // bcWidth
 3738         1,                            // bcHeight
 3739     },
 3740 
 3741     // R16G16_UINT (0xCF)
 3742     {
 3743         "R16G16_UINT",
 3744         {SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3745         {0, 0, 0, 0x1},               // Defaults for missing components
 3746         {0, 1, 0, 0},                 // Swizzle
 3747         {16, 16, 0, 0},               // Bits per component
 3748         32,                           // Bits per element
 3749         4,                            // Bytes per element
 3750         2,                            // Num components
 3751         false,                        // isSRGB
 3752         false,                        // isBC
 3753         false,                        // isSubsampled
 3754         false,                        // isLuminance
 3755         {false, false, false, false}, // Is normalized?
 3756         {1.0f, 1.0f, 0, 0},           // To float scale factor
 3757         1,                            // bcWidth
 3758         1,                            // bcHeight
 3759     },
 3760 
 3761     // R16G16_FLOAT (0xD0)
 3762     {
 3763         "R16G16_FLOAT",
 3764         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3765         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 3766         {0, 1, 0, 0},                 // Swizzle
 3767         {16, 16, 0, 0},               // Bits per component
 3768         32,                           // Bits per element
 3769         4,                            // Bytes per element
 3770         2,                            // Num components
 3771         false,                        // isSRGB
 3772         false,                        // isBC
 3773         false,                        // isSubsampled
 3774         false,                        // isLuminance
 3775         {false, false, false, false}, // Is normalized?
 3776         {1.0f, 1.0f, 0, 0},           // To float scale factor
 3777         1,                            // bcWidth
 3778         1,                            // bcHeight
 3779     },
 3780 
 3781     // B10G10R10A2_UNORM (0xD1)
 3782     {
 3783         "B10G10R10A2_UNORM",
 3784         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
 3785         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 3786         {2, 1, 0, 3},             // Swizzle
 3787         {10, 10, 10, 2},          // Bits per component
 3788         32,                       // Bits per element
 3789         4,                        // Bytes per element
 3790         4,                        // Num components
 3791         false,                    // isSRGB
 3792         false,                    // isBC
 3793         false,                    // isSubsampled
 3794         false,                    // isLuminance
 3795         {true, true, true, true}, // Is normalized?
 3796         {1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f}, // To float scale factor
 3797         1,                                                             // bcWidth
 3798         1,                                                             // bcHeight
 3799     },
 3800 
 3801     // B10G10R10A2_UNORM_SRGB (0xD2)
 3802     {
 3803         "B10G10R10A2_UNORM_SRGB",
 3804         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM},
 3805         {0, 0, 0, 0x3f800000},    // Defaults for missing components
 3806         {2, 1, 0, 3},             // Swizzle
 3807         {10, 10, 10, 2},          // Bits per component
 3808         32,                       // Bits per element
 3809         4,                        // Bytes per element
 3810         4,                        // Num components
 3811         true,                     // isSRGB
 3812         false,                    // isBC
 3813         false,                    // isSubsampled
 3814         false,                    // isLuminance
 3815         {true, true, true, true}, // Is normalized?
 3816         {1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 1023.0f, 1.0f / 3.0f}, // To float scale factor
 3817         1,                                                             // bcWidth
 3818         1,                                                             // bcHeight
 3819     },
 3820 
 3821     // R11G11B10_FLOAT (0xD3)
 3822     {
 3823         "R11G11B10_FLOAT",
 3824         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN},
 3825         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 3826         {0, 1, 2, 0},                 // Swizzle
 3827         {11, 11, 10, 0},              // Bits per component
 3828         32,                           // Bits per element
 3829         4,                            // Bytes per element
 3830         3,                            // Num components
 3831         false,                        // isSRGB
 3832         false,                        // isBC
 3833         false,                        // isSubsampled
 3834         false,                        // isLuminance
 3835         {false, false, false, false}, // Is normalized?
 3836         {1.0f, 1.0f, 1.0f, 0},        // To float scale factor
 3837         1,                            // bcWidth
 3838         1,                            // bcHeight
 3839     },
 3840 
 3841     // padding (0xD4)
 3842     {nullptr,
 3843      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3844      {0, 0, 0, 0},
 3845      {0, 0, 0, 0},
 3846      {0, 0, 0, 0},
 3847      0,
 3848      0,
 3849      0,
 3850      false,
 3851      false,
 3852      false,
 3853      false,
 3854      {false, false, false, false},
 3855      {0.0f, 0.0f, 0.0f, 0.0f},
 3856      1,
 3857      1},
 3858 
 3859     // R10G10B10_FLOAT_A2_UNORM (0xD5)
 3860     {
 3861         "R10G10B10_FLOAT_A2_UNORM",
 3862         {SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNORM},
 3863         {0, 0, 0, 0x3f800000},           // Defaults for missing components
 3864         {0, 1, 2, 3},                    // Swizzle
 3865         {10, 10, 10, 2},                 // Bits per component
 3866         32,                              // Bits per element
 3867         4,                               // Bytes per element
 3868         4,                               // Num components
 3869         false,                           // isSRGB
 3870         false,                           // isBC
 3871         false,                           // isSubsampled
 3872         false,                           // isLuminance
 3873         {false, false, false, false},    // Is normalized?
 3874         {1.0f, 1.0f, 1.0f, 1.0f / 3.0f}, // To float scale factor
 3875         1,                               // bcWidth
 3876         1,                               // bcHeight
 3877     },
 3878 
 3879     // R32_SINT (0xD6)
 3880     {
 3881         "R32_SINT",
 3882         {SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3883         {0, 0, 0, 0x1},               // Defaults for missing components
 3884         {0, 0, 0, 0},                 // Swizzle
 3885         {32, 0, 0, 0},                // Bits per component
 3886         32,                           // Bits per element
 3887         4,                            // Bytes per element
 3888         1,                            // Num components
 3889         false,                        // isSRGB
 3890         false,                        // isBC
 3891         false,                        // isSubsampled
 3892         false,                        // isLuminance
 3893         {false, false, false, false}, // Is normalized?
 3894         {1.0f, 0, 0, 0},              // To float scale factor
 3895         1,                            // bcWidth
 3896         1,                            // bcHeight
 3897     },
 3898 
 3899     // R32_UINT (0xD7)
 3900     {
 3901         "R32_UINT",
 3902         {SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3903         {0, 0, 0, 0x1},               // Defaults for missing components
 3904         {0, 0, 0, 0},                 // Swizzle
 3905         {32, 0, 0, 0},                // Bits per component
 3906         32,                           // Bits per element
 3907         4,                            // Bytes per element
 3908         1,                            // Num components
 3909         false,                        // isSRGB
 3910         false,                        // isBC
 3911         false,                        // isSubsampled
 3912         false,                        // isLuminance
 3913         {false, false, false, false}, // Is normalized?
 3914         {1.0f, 0, 0, 0},              // To float scale factor
 3915         1,                            // bcWidth
 3916         1,                            // bcHeight
 3917     },
 3918 
 3919     // R32_FLOAT (0xD8)
 3920     {
 3921         "R32_FLOAT",
 3922         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3923         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 3924         {0, 0, 0, 0},                 // Swizzle
 3925         {32, 0, 0, 0},                // Bits per component
 3926         32,                           // Bits per element
 3927         4,                            // Bytes per element
 3928         1,                            // Num components
 3929         false,                        // isSRGB
 3930         false,                        // isBC
 3931         false,                        // isSubsampled
 3932         false,                        // isLuminance
 3933         {false, false, false, false}, // Is normalized?
 3934         {1.0f, 0, 0, 0},              // To float scale factor
 3935         1,                            // bcWidth
 3936         1,                            // bcHeight
 3937     },
 3938 
 3939     // R24_UNORM_X8_TYPELESS (0xD9)
 3940     {
 3941         "R24_UNORM_X8_TYPELESS",
 3942         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3943         {0, 0, 0, 0x3f800000},         // Defaults for missing components
 3944         {0, 1, 2, 3},                  // Swizzle
 3945         {24, 0, 0, 0},                 // Bits per component
 3946         32,                            // Bits per element
 3947         4,                             // Bytes per element
 3948         1,                             // Num components
 3949         false,                         // isSRGB
 3950         false,                         // isBC
 3951         false,                         // isSubsampled
 3952         false,                         // isLuminance
 3953         {true, false, false, false},   // Is normalized?
 3954         {1.0f / 16777215.0f, 0, 0, 0}, // To float scale factor
 3955         1,                             // bcWidth
 3956         1,                             // bcHeight
 3957     },
 3958 
 3959     // X24_TYPELESS_G8_UINT (0xDA)
 3960     {
 3961         "X24_TYPELESS_G8_UINT",
 3962         {SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3963         {0, 0, 0, 0x1},               // Defaults for missing components
 3964         {1, 0, 0, 0},                 // Swizzle
 3965         {32, 0, 0, 0},                // Bits per component
 3966         32,                           // Bits per element
 3967         4,                            // Bytes per element
 3968         1,                            // Num components
 3969         false,                        // isSRGB
 3970         false,                        // isBC
 3971         false,                        // isSubsampled
 3972         false,                        // isLuminance
 3973         {false, false, false, false}, // Is normalized?
 3974         {1.0f, 0, 0, 0},              // To float scale factor
 3975         1,                            // bcWidth
 3976         1,                            // bcHeight
 3977     },
 3978 
 3979     // padding (0xDB)
 3980     {nullptr,
 3981      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3982      {0, 0, 0, 0},
 3983      {0, 0, 0, 0},
 3984      {0, 0, 0, 0},
 3985      0,
 3986      0,
 3987      0,
 3988      false,
 3989      false,
 3990      false,
 3991      false,
 3992      {false, false, false, false},
 3993      {0.0f, 0.0f, 0.0f, 0.0f},
 3994      1,
 3995      1},
 3996     // padding (0xDC)
 3997     {nullptr,
 3998      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 3999      {0, 0, 0, 0},
 4000      {0, 0, 0, 0},
 4001      {0, 0, 0, 0},
 4002      0,
 4003      0,
 4004      0,
 4005      false,
 4006      false,
 4007      false,
 4008      false,
 4009      {false, false, false, false},
 4010      {0.0f, 0.0f, 0.0f, 0.0f},
 4011      1,
 4012      1},
 4013     // L32_UNORM (0xDD)
 4014     {
 4015         "L32_UNORM",
 4016         {SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 4017         {0, 0, 0, 0x3f800000},           // Defaults for missing components
 4018         {0, 0, 0, 0},                    // Swizzle
 4019         {32, 0, 0, 0},                   // Bits per component
 4020         32,                              // Bits per element
 4021         4,                               // Bytes per element
 4022         1,                               // Num components
 4023         false,                           // isSRGB
 4024         false,                           // isBC
 4025         false,                           // isSubsampled
 4026         true,                            // isLuminance
 4027         {true, false, false, false},     // Is normalized?
 4028         {1.0f / 4294967295.0f, 0, 0, 0}, // To float scale factor
 4029         1,                               // bcWidth
 4030         1,                               // bcHeight
 4031     },
 4032 
 4033     // padding (0xDE)
 4034     {nullptr,
 4035      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 4036      {0, 0, 0, 0},
 4037      {0, 0, 0, 0},
 4038      {0, 0, 0, 0},
 4039      0,
 4040      0,
 4041      0,
 4042      false,
 4043      false,
 4044      false,
 4045      false,
 4046      {false, false, false, false},
 4047      {0.0f, 0.0f, 0.0f, 0.0f},
 4048      1,
 4049      1},
 4050     // L16A16_UNORM (0xDF)
 4051     {
 4052         "L16A16_UNORM",
 4053         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 4054         {0, 0, 0, 0x3f800000},                    // Defaults for missing components
 4055         {0, 3, 0, 0},                             // Swizzle
 4056         {16, 16, 0, 0},                           // Bits per component
 4057         32,                                       // Bits per element
 4058         4,                                        // Bytes per element
 4059         2,                                        // Num components
 4060         false,                                    // isSRGB
 4061         false,                                    // isBC
 4062         false,                                    // isSubsampled
 4063         true,                                     // isLuminance
 4064         {true, true, false, false},               // Is normalized?
 4065         {1.0f / 65535.0f, 1.0f / 65535.0f, 0, 0}, // To float scale factor
 4066         1,                                        // bcWidth
 4067         1,                                        // bcHeight
 4068     },
 4069 
 4070     // I24X8_UNORM (0xE0)
 4071     {
 4072         "I24X8_UNORM",
 4073         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 4074         {0, 0, 0, 0x3f800000},                     // Defaults for missing components
 4075         {0, 3, 0, 0},                              // Swizzle
 4076         {24, 8, 0, 0},                             // Bits per component
 4077         32,                                        // Bits per element
 4078         4,                                         // Bytes per element
 4079         2,                                         // Num components
 4080         false,                                     // isSRGB
 4081         false,                                     // isBC
 4082         false,                                     // isSubsampled
 4083         true,                                      // isLuminance
 4084         {true, true, false, false},                // Is normalized?
 4085         {1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0}, // To float scale factor
 4086         1,                                         // bcWidth
 4087         1,                                         // bcHeight
 4088     },
 4089 
 4090     // L24X8_UNORM (0xE1)
 4091     {
 4092         "L24X8_UNORM",
 4093         {SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 4094         {0, 0, 0, 0x3f800000},                     // Defaults for missing components
 4095         {0, 3, 0, 0},                              // Swizzle
 4096         {24, 8, 0, 0},                             // Bits per component
 4097         32,                                        // Bits per element
 4098         4,                                         // Bytes per element
 4099         2,                                         // Num components
 4100         false,                                     // isSRGB
 4101         false,                                     // isBC
 4102         false,                                     // isSubsampled
 4103         true,                                      // isLuminance
 4104         {true, true, false, false},                // Is normalized?
 4105         {1.0f / 16777215.0f, 1.0f / 255.0f, 0, 0}, // To float scale factor
 4106         1,                                         // bcWidth
 4107         1,                                         // bcHeight
 4108     },
 4109 
 4110     // padding (0xE2)
 4111     {nullptr,
 4112      {SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 4113      {0, 0, 0, 0},
 4114      {0, 0, 0, 0},
 4115      {0, 0, 0, 0},
 4116      0,
 4117      0,
 4118      0,
 4119      false,
 4120      false,
 4121      false,
 4122      false,
 4123      {false, false, false, false},
 4124      {0.0f, 0.0f, 0.0f, 0.0f},
 4125      1,
 4126      1},
 4127     // I32_FLOAT (0xE3)
 4128     {
 4129         "I32_FLOAT",
 4130         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 4131         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 4132         {0, 0, 0, 0},                 // Swizzle
 4133         {32, 0, 0, 0},                // Bits per component
 4134         32,                           // Bits per element
 4135         4,                            // Bytes per element
 4136         1,                            // Num components
 4137         false,                        // isSRGB
 4138         false,                        // isBC
 4139         false,                        // isSubsampled
 4140         true,                         // isLuminance
 4141         {false, false, false, false}, // Is normalized?
 4142         {1.0f, 0, 0, 0},              // To float scale factor
 4143         1,                            // bcWidth
 4144         1,                            // bcHeight
 4145     },
 4146 
 4147     // L32_FLOAT (0xE4)
 4148     {
 4149         "L32_FLOAT",
 4150         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},
 4151         {0, 0, 0, 0x3f800000},        // Defaults for missing components
 4152         {0, 0, 0, 0},                 // Swizzle
 4153         {32, 0, 0, 0},                // Bits per component
 4154         32,                           // Bits per element
 4155         4,                            // Bytes per element
 4156         1,                            // Num components
 4157         false,                        // isSRGB
 4158         false,                        // isBC
 4159         false,                        // isSubsampled
 4160         true,                         // isLuminance
 4161         {false, false, false, false}, // Is normalized?
 4162         {1.0f, 0, 0, 0},              // To float scale factor
 4163         1,                            // bcWidth
 4164         1,                            // bcHeight
 4165     },
 4166 
 4167     // A32_FLOAT (0xE5)
 4168     {
 4169         "A32_FLOAT",
 4170         {SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN},