swr: [rasterizer core] update/add formats
authorTim Rowley <timothy.o.rowley@intel.com>
Thu, 6 Oct 2016 21:26:56 +0000 (16:26 -0500)
committerTim Rowley <timothy.o.rowley@intel.com>
Tue, 11 Oct 2016 16:22:04 +0000 (11:22 -0500)
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
src/gallium/drivers/swr/rasterizer/common/formats.cpp
src/gallium/drivers/swr/rasterizer/common/formats.h
src/gallium/drivers/swr/rasterizer/core/format_traits.h
src/gallium/drivers/swr/rasterizer/core/utils.h
src/gallium/drivers/swr/rasterizer/memory/Convert.h
src/gallium/drivers/swr/rasterizer/memory/LoadTile.h
src/gallium/drivers/swr/rasterizer/memory/StoreTile.h

index 2d2bf21..b3a95f2 100644 (file)
@@ -1,6 +1,5 @@
-
 /****************************************************************************
-* Copyright (C) 2014-2015 Intel Corporation.   All Rights Reserved.
+* Copyright (C) 2016 Intel Corporation.   All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
-* 
-* @file formats.cpp
-* 
+*
+* @file gen_formats.cpp
+*
 * @brief auto-generated file
-* 
+*
 * DO NOT EDIT
-* 
+*
 ******************************************************************************/
 
 #include "formats.h"
 
 // lookup table for unorm8 srgb -> float conversion
 const uint32_t srgb8Table[256] = {
-    0x00000000, 0x399f22b4, 0x3a1f22b4, 0x3a6eb40f, 0x3a9f22b4, 0x3ac6eb61, 0x3aeeb40f, 0x3b0b3e5e, 0x3b1f22b4, 0x3b33070b, 0x3b46eb61, 0x3b5b518d, 0x3b70f18d, 0x3b83e1c6, 0x3b8fe616, 0x3b9c87fd,
-    0x3ba9c9b5, 0x3bb7ad6f, 0x3bc63549, 0x3bd5635f, 0x3be539c1, 0x3bf5ba70, 0x3c0373b5, 0x3c0c6152, 0x3c15a703, 0x3c1f45be, 0x3c293e6b, 0x3c3391f7, 0x3c3e4149, 0x3c494d43, 0x3c54b6c7, 0x3c607eb1,
-    0x3c6ca5dc, 0x3c792d22, 0x3c830aa8, 0x3c89af9f, 0x3c9085db, 0x3c978dc5, 0x3c9ec7c0, 0x3ca63431, 0x3cadd37d, 0x3cb5a601, 0x3cbdac20, 0x3cc5e639, 0x3cce54ab, 0x3cd6f7d3, 0x3cdfd00e, 0x3ce8ddb9,
-    0x3cf22131, 0x3cfb9ac6, 0x3d02a56c, 0x3d0798df, 0x3d0ca7e7, 0x3d11d2b0, 0x3d171965, 0x3d1c7c31, 0x3d21fb3c, 0x3d2796b2, 0x3d2d4ebe, 0x3d332384, 0x3d39152e, 0x3d3f23e6, 0x3d454fd4, 0x3d4b991f,
-    0x3d51ffef, 0x3d58846a, 0x3d5f26b7, 0x3d65e6fe, 0x3d6cc564, 0x3d73c20f, 0x3d7add25, 0x3d810b66, 0x3d84b795, 0x3d887330, 0x3d8c3e4a, 0x3d9018f6, 0x3d940345, 0x3d97fd4a, 0x3d9c0716, 0x3da020bb,
-    0x3da44a4b, 0x3da883d7, 0x3daccd70, 0x3db12728, 0x3db59110, 0x3dba0b38, 0x3dbe95b5, 0x3dc33092, 0x3dc7dbe2, 0x3dcc97b6, 0x3dd1641f, 0x3dd6412c, 0x3ddb2eef, 0x3de02d77, 0x3de53cd5, 0x3dea5d19,
-    0x3def8e55, 0x3df4d093, 0x3dfa23e8, 0x3dff8861, 0x3e027f07, 0x3e054282, 0x3e080ea5, 0x3e0ae379, 0x3e0dc107, 0x3e10a755, 0x3e13966c, 0x3e168e53, 0x3e198f11, 0x3e1c98ae, 0x3e1fab32, 0x3e22c6a3,
-    0x3e25eb09, 0x3e29186c, 0x3e2c4ed2, 0x3e2f8e45, 0x3e32d6c8, 0x3e362865, 0x3e398322, 0x3e3ce706, 0x3e405419, 0x3e43ca62, 0x3e4749e8, 0x3e4ad2b1, 0x3e4e64c6, 0x3e52002b, 0x3e55a4e9, 0x3e595307,
-    0x3e5d0a8b, 0x3e60cb7c, 0x3e6495e0, 0x3e6869bf, 0x3e6c4720, 0x3e702e08, 0x3e741e7f, 0x3e78188c, 0x3e7c1c38, 0x3e8014c2, 0x3e82203c, 0x3e84308d, 0x3e8645ba, 0x3e885fc5, 0x3e8a7eb2, 0x3e8ca283,
-    0x3e8ecb3d, 0x3e90f8e1, 0x3e932b74, 0x3e9562f8, 0x3e979f71, 0x3e99e0e2, 0x3e9c274e, 0x3e9e72b7, 0x3ea0c322, 0x3ea31892, 0x3ea57308, 0x3ea7d289, 0x3eaa3718, 0x3eaca0b7, 0x3eaf0f69, 0x3eb18333,
-    0x3eb3fc16, 0x3eb67a15, 0x3eb8fd34, 0x3ebb8576, 0x3ebe12e1, 0x3ec0a571, 0x3ec33d2d, 0x3ec5da17, 0x3ec87c33, 0x3ecb2383, 0x3ecdd00b, 0x3ed081cd, 0x3ed338cc, 0x3ed5f50b, 0x3ed8b68d, 0x3edb7d54,
-    0x3ede4965, 0x3ee11ac1, 0x3ee3f16b, 0x3ee6cd67, 0x3ee9aeb6, 0x3eec955d, 0x3eef815d, 0x3ef272ba, 0x3ef56976, 0x3ef86594, 0x3efb6717, 0x3efe6e02, 0x3f00bd2b, 0x3f02460c, 0x3f03d1a5, 0x3f055ff8,
-    0x3f06f106, 0x3f0884cf, 0x3f0a1b57, 0x3f0bb49d, 0x3f0d50a2, 0x3f0eef69, 0x3f1090f2, 0x3f123540, 0x3f13dc53, 0x3f15862d, 0x3f1732cf, 0x3f18e23b, 0x3f1a9471, 0x3f1c4973, 0x3f1e0143, 0x3f1fbbe1,
-    0x3f217950, 0x3f23398f, 0x3f24fca2, 0x3f26c288, 0x3f288b43, 0x3f2a56d5, 0x3f2c253f, 0x3f2df681, 0x3f2fca9e, 0x3f31a197, 0x3f337b6c, 0x3f355820, 0x3f3737b3, 0x3f391a26, 0x3f3aff7e, 0x3f3ce7b7,
-    0x3f3ed2d4, 0x3f40c0d6, 0x3f42b1c0, 0x3f44a592, 0x3f469c4d, 0x3f4895f3, 0x3f4a9284, 0x3f4c9203, 0x3f4e9470, 0x3f5099cd, 0x3f52a21a, 0x3f54ad59, 0x3f56bb8c, 0x3f58ccb3, 0x3f5ae0cf, 0x3f5cf7e2,
-    0x3f5f11ee, 0x3f612ef2, 0x3f634eef, 0x3f6571ec, 0x3f6797e1, 0x3f69c0d8, 0x3f6beccb, 0x3f6e1bc2, 0x3f704db6, 0x3f7282b1, 0x3f74baae, 0x3f76f5b3, 0x3f7933b9, 0x3f7b74cb, 0x3f7db8e0, 0x3f800000,
+    0x00000000, 0x399f22b4, 0x3a1f22b4, 0x3a6eb40f, 0x3a9f22b4, 0x3ac6eb61, 0x3aeeb40f, 0x3b0b3e5e,
+    0x3b1f22b4, 0x3b33070b, 0x3b46eb61, 0x3b5b518d, 0x3b70f18d, 0x3b83e1c6, 0x3b8fe616, 0x3b9c87fd,
+    0x3ba9c9b5, 0x3bb7ad6f, 0x3bc63549, 0x3bd5635f, 0x3be539c1, 0x3bf5ba70, 0x3c0373b5, 0x3c0c6152,
+    0x3c15a703, 0x3c1f45be, 0x3c293e6b, 0x3c3391f7, 0x3c3e4149, 0x3c494d43, 0x3c54b6c7, 0x3c607eb1,
+    0x3c6ca5dc, 0x3c792d22, 0x3c830aa8, 0x3c89af9f, 0x3c9085db, 0x3c978dc5, 0x3c9ec7c0, 0x3ca63431,
+    0x3cadd37d, 0x3cb5a601, 0x3cbdac20, 0x3cc5e639, 0x3cce54ab, 0x3cd6f7d3, 0x3cdfd00e, 0x3ce8ddb9,
+    0x3cf22131, 0x3cfb9ac6, 0x3d02a56c, 0x3d0798df, 0x3d0ca7e7, 0x3d11d2b0, 0x3d171965, 0x3d1c7c31,
+    0x3d21fb3c, 0x3d2796b2, 0x3d2d4ebe, 0x3d332384, 0x3d39152e, 0x3d3f23e6, 0x3d454fd4, 0x3d4b991f,
+    0x3d51ffef, 0x3d58846a, 0x3d5f26b7, 0x3d65e6fe, 0x3d6cc564, 0x3d73c20f, 0x3d7add25, 0x3d810b66,
+    0x3d84b795, 0x3d887330, 0x3d8c3e4a, 0x3d9018f6, 0x3d940345, 0x3d97fd4a, 0x3d9c0716, 0x3da020bb,
+    0x3da44a4b, 0x3da883d7, 0x3daccd70, 0x3db12728, 0x3db59110, 0x3dba0b38, 0x3dbe95b5, 0x3dc33092,
+    0x3dc7dbe2, 0x3dcc97b6, 0x3dd1641f, 0x3dd6412c, 0x3ddb2eef, 0x3de02d77, 0x3de53cd5, 0x3dea5d19,
+    0x3def8e55, 0x3df4d093, 0x3dfa23e8, 0x3dff8861, 0x3e027f07, 0x3e054282, 0x3e080ea5, 0x3e0ae379,
+    0x3e0dc107, 0x3e10a755, 0x3e13966c, 0x3e168e53, 0x3e198f11, 0x3e1c98ae, 0x3e1fab32, 0x3e22c6a3,
+    0x3e25eb09, 0x3e29186c, 0x3e2c4ed2, 0x3e2f8e45, 0x3e32d6c8, 0x3e362865, 0x3e398322, 0x3e3ce706,
+    0x3e405419, 0x3e43ca62, 0x3e4749e8, 0x3e4ad2b1, 0x3e4e64c6, 0x3e52002b, 0x3e55a4e9, 0x3e595307,
+    0x3e5d0a8b, 0x3e60cb7c, 0x3e6495e0, 0x3e6869bf, 0x3e6c4720, 0x3e702e08, 0x3e741e7f, 0x3e78188c,
+    0x3e7c1c38, 0x3e8014c2, 0x3e82203c, 0x3e84308d, 0x3e8645ba, 0x3e885fc5, 0x3e8a7eb2, 0x3e8ca283,
+    0x3e8ecb3d, 0x3e90f8e1, 0x3e932b74, 0x3e9562f8, 0x3e979f71, 0x3e99e0e2, 0x3e9c274e, 0x3e9e72b7,
+    0x3ea0c322, 0x3ea31892, 0x3ea57308, 0x3ea7d289, 0x3eaa3718, 0x3eaca0b7, 0x3eaf0f69, 0x3eb18333,
+    0x3eb3fc16, 0x3eb67a15, 0x3eb8fd34, 0x3ebb8576, 0x3ebe12e1, 0x3ec0a571, 0x3ec33d2d, 0x3ec5da17,
+    0x3ec87c33, 0x3ecb2383, 0x3ecdd00b, 0x3ed081cd, 0x3ed338cc, 0x3ed5f50b, 0x3ed8b68d, 0x3edb7d54,
+    0x3ede4965, 0x3ee11ac1, 0x3ee3f16b, 0x3ee6cd67, 0x3ee9aeb6, 0x3eec955d, 0x3eef815d, 0x3ef272ba,
+    0x3ef56976, 0x3ef86594, 0x3efb6717, 0x3efe6e02, 0x3f00bd2b, 0x3f02460c, 0x3f03d1a5, 0x3f055ff8,
+    0x3f06f106, 0x3f0884cf, 0x3f0a1b57, 0x3f0bb49d, 0x3f0d50a2, 0x3f0eef69, 0x3f1090f2, 0x3f123540,
+    0x3f13dc53, 0x3f15862d, 0x3f1732cf, 0x3f18e23b, 0x3f1a9471, 0x3f1c4973, 0x3f1e0143, 0x3f1fbbe1,
+    0x3f217950, 0x3f23398f, 0x3f24fca2, 0x3f26c288, 0x3f288b43, 0x3f2a56d5, 0x3f2c253f, 0x3f2df681,
+    0x3f2fca9e, 0x3f31a197, 0x3f337b6c, 0x3f355820, 0x3f3737b3, 0x3f391a26, 0x3f3aff7e, 0x3f3ce7b7,
+    0x3f3ed2d4, 0x3f40c0d6, 0x3f42b1c0, 0x3f44a592, 0x3f469c4d, 0x3f4895f3, 0x3f4a9284, 0x3f4c9203,
+    0x3f4e9470, 0x3f5099cd, 0x3f52a21a, 0x3f54ad59, 0x3f56bb8c, 0x3f58ccb3, 0x3f5ae0cf, 0x3f5cf7e2,
+    0x3f5f11ee, 0x3f612ef2, 0x3f634eef, 0x3f6571ec, 0x3f6797e1, 0x3f69c0d8, 0x3f6beccb, 0x3f6e1bc2,
+    0x3f704db6, 0x3f7282b1, 0x3f74baae, 0x3f76f5b3, 0x3f7933b9, 0x3f7b74cb, 0x3f7db8e0, 0x3f800000,
 };
 
 // order must match SWR_FORMAT
 const SWR_FORMAT_INFO gFormatInfo[] = {
+
     // R32G32B32A32_FLOAT (0x0)
     {
         "R32G32B32A32_FLOAT",
@@ -72,6 +88,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32B32A32_SINT (0x1)
     {
         "R32G32B32A32_SINT",
@@ -91,6 +108,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32B32A32_UINT (0x2)
     {
         "R32G32B32A32_UINT",
@@ -110,31 +128,32 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x3 (Padding)
+
+    // padding (0x3)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x4 (Padding)
+    // padding (0x4)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x5 (Padding)
+    // padding (0x5)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -159,6 +178,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32B32A32_SSCALED (0x7)
     {
         "R32G32B32A32_SSCALED",
@@ -178,6 +198,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32B32A32_USCALED (0x8)
     {
         "R32G32B32A32_USCALED",
@@ -197,551 +218,552 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x9 (Padding)
+
+    // padding (0x9)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa (Padding)
+    // padding (0xA)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb (Padding)
+    // padding (0xB)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xc (Padding)
+    // padding (0xC)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xd (Padding)
+    // padding (0xD)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xe (Padding)
+    // padding (0xE)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xf (Padding)
+    // padding (0xF)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x10 (Padding)
+    // padding (0x10)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x11 (Padding)
+    // padding (0x11)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x12 (Padding)
+    // padding (0x12)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x13 (Padding)
+    // padding (0x13)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x14 (Padding)
+    // padding (0x14)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x15 (Padding)
+    // padding (0x15)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x16 (Padding)
+    // padding (0x16)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x17 (Padding)
+    // padding (0x17)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x18 (Padding)
+    // padding (0x18)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x19 (Padding)
+    // padding (0x19)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1a (Padding)
+    // padding (0x1A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1b (Padding)
+    // padding (0x1B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1c (Padding)
+    // padding (0x1C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1d (Padding)
+    // padding (0x1D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1e (Padding)
+    // padding (0x1E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1f (Padding)
+    // padding (0x1F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x20 (Padding)
+    // padding (0x20)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x21 (Padding)
+    // padding (0x21)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x22 (Padding)
+    // padding (0x22)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x23 (Padding)
+    // padding (0x23)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x24 (Padding)
+    // padding (0x24)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x25 (Padding)
+    // padding (0x25)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x26 (Padding)
+    // padding (0x26)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x27 (Padding)
+    // padding (0x27)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x28 (Padding)
+    // padding (0x28)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x29 (Padding)
+    // padding (0x29)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x2a (Padding)
+    // padding (0x2A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x2b (Padding)
+    // padding (0x2B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x2c (Padding)
+    // padding (0x2C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x2d (Padding)
+    // padding (0x2D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x2e (Padding)
+    // padding (0x2E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x2f (Padding)
+    // padding (0x2F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x30 (Padding)
+    // padding (0x30)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x31 (Padding)
+    // padding (0x31)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x32 (Padding)
+    // padding (0x32)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x33 (Padding)
+    // padding (0x33)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x34 (Padding)
+    // padding (0x34)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x35 (Padding)
+    // padding (0x35)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x36 (Padding)
+    // padding (0x36)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x37 (Padding)
+    // padding (0x37)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x38 (Padding)
+    // padding (0x38)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x39 (Padding)
+    // padding (0x39)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x3a (Padding)
+    // padding (0x3A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x3b (Padding)
+    // padding (0x3B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x3c (Padding)
+    // padding (0x3C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x3d (Padding)
+    // padding (0x3D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x3e (Padding)
+    // padding (0x3E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x3f (Padding)
+    // padding (0x3F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -766,6 +788,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32B32_SINT (0x41)
     {
         "R32G32B32_SINT",
@@ -785,6 +808,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32B32_UINT (0x42)
     {
         "R32G32B32_UINT",
@@ -804,21 +828,22 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x43 (Padding)
+
+    // padding (0x43)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x44 (Padding)
+    // padding (0x44)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -843,6 +868,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32B32_USCALED (0x46)
     {
         "R32G32B32_USCALED",
@@ -862,571 +888,572 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x47 (Padding)
+
+    // padding (0x47)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x48 (Padding)
+    // padding (0x48)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x49 (Padding)
+    // padding (0x49)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x4a (Padding)
+    // padding (0x4A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x4b (Padding)
+    // padding (0x4B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x4c (Padding)
+    // padding (0x4C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x4d (Padding)
+    // padding (0x4D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x4e (Padding)
+    // padding (0x4E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x4f (Padding)
+    // padding (0x4F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x50 (Padding)
+    // padding (0x50)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x51 (Padding)
+    // padding (0x51)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x52 (Padding)
+    // padding (0x52)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x53 (Padding)
+    // padding (0x53)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x54 (Padding)
+    // padding (0x54)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x55 (Padding)
+    // padding (0x55)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x56 (Padding)
+    // padding (0x56)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x57 (Padding)
+    // padding (0x57)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x58 (Padding)
+    // padding (0x58)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x59 (Padding)
+    // padding (0x59)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x5a (Padding)
+    // padding (0x5A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x5b (Padding)
+    // padding (0x5B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x5c (Padding)
+    // padding (0x5C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x5d (Padding)
+    // padding (0x5D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x5e (Padding)
+    // padding (0x5E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x5f (Padding)
+    // padding (0x5F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x60 (Padding)
+    // padding (0x60)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x61 (Padding)
+    // padding (0x61)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x62 (Padding)
+    // padding (0x62)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x63 (Padding)
+    // padding (0x63)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x64 (Padding)
+    // padding (0x64)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x65 (Padding)
+    // padding (0x65)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x66 (Padding)
+    // padding (0x66)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x67 (Padding)
+    // padding (0x67)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x68 (Padding)
+    // padding (0x68)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x69 (Padding)
+    // padding (0x69)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x6a (Padding)
+    // padding (0x6A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x6b (Padding)
+    // padding (0x6B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x6c (Padding)
+    // padding (0x6C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x6d (Padding)
+    // padding (0x6D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x6e (Padding)
+    // padding (0x6E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x6f (Padding)
+    // padding (0x6F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x70 (Padding)
+    // padding (0x70)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x71 (Padding)
+    // padding (0x71)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x72 (Padding)
+    // padding (0x72)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x73 (Padding)
+    // padding (0x73)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x74 (Padding)
+    // padding (0x74)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x75 (Padding)
+    // padding (0x75)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x76 (Padding)
+    // padding (0x76)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x77 (Padding)
+    // padding (0x77)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x78 (Padding)
+    // padding (0x78)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x79 (Padding)
+    // padding (0x79)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x7a (Padding)
+    // padding (0x7A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x7b (Padding)
+    // padding (0x7B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x7c (Padding)
+    // padding (0x7C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x7d (Padding)
+    // padding (0x7D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x7e (Padding)
+    // padding (0x7E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x7f (Padding)
+    // padding (0x7F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -1451,6 +1478,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R16G16B16A16_SNORM (0x81)
     {
         "R16G16B16A16_SNORM",
@@ -1470,6 +1498,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R16G16B16A16_SINT (0x82)
     {
         "R16G16B16A16_SINT",
@@ -1489,6 +1518,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R16G16B16A16_UINT (0x83)
     {
         "R16G16B16A16_UINT",
@@ -1508,6 +1538,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R16G16B16A16_FLOAT (0x84)
     {
         "R16G16B16A16_FLOAT",
@@ -1527,6 +1558,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32_FLOAT (0x85)
     {
         "R32G32_FLOAT",
@@ -1546,6 +1578,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32_SINT (0x86)
     {
         "R32G32_SINT",
@@ -1565,6 +1598,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32_UINT (0x87)
     {
         "R32G32_UINT",
@@ -1584,12 +1618,13 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32_FLOAT_X8X24_TYPELESS (0x88)
     {
         "R32_FLOAT_X8X24_TYPELESS",
         { SWR_TYPE_FLOAT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 1, 0, 0 }, // Swizzle
+        { 0, 1, 2, 3 }, // Swizzle
         { 32, 32, 0, 0 }, // Bits per component
         64, // Bits per element
         8, // Bytes per element
@@ -1603,12 +1638,13 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // X32_TYPELESS_G8X24_UINT (0x89)
     {
         "X32_TYPELESS_G8X24_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x1 }, // Defaults for missing components
-        { 0, 1, 0, 0 }, // Swizzle
+        { 0, 1, 2, 3 }, // Swizzle
         { 32, 32, 0, 0 }, // Bits per component
         64, // Bits per element
         8, // Bytes per element
@@ -1622,7 +1658,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // L32A32_FLOAT (0x8a)
+
+    // L32A32_FLOAT (0x8A)
     {
         "L32A32_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -1641,37 +1678,38 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x8b (Padding)
+
+    // padding (0x8B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x8c (Padding)
+    // padding (0x8C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x8d (Padding)
+    // padding (0x8D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R16G16B16X16_UNORM (0x8e)
+    // R16G16B16X16_UNORM (0x8E)
     {
         "R16G16B16X16_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
@@ -1690,7 +1728,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16B16X16_FLOAT (0x8f)
+
+    // R16G16B16X16_FLOAT (0x8F)
     {
         "R16G16B16X16_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNUSED },
@@ -1709,11 +1748,12 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x90 (Padding)
+
+    // padding (0x90)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -1738,6 +1778,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // I32X32_FLOAT (0x92)
     {
         "I32X32_FLOAT",
@@ -1757,6 +1798,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R16G16B16A16_SSCALED (0x93)
     {
         "R16G16B16A16_SSCALED",
@@ -1776,6 +1818,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R16G16B16A16_USCALED (0x94)
     {
         "R16G16B16A16_USCALED",
@@ -1795,6 +1838,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32_SSCALED (0x95)
     {
         "R32G32_SSCALED",
@@ -1814,6 +1858,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R32G32_USCALED (0x96)
     {
         "R32G32_USCALED",
@@ -1833,426 +1878,418 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x97 (Padding)
+
+    // padding (0x97)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R32_FLOAT_X8X24_TYPELESS_LD (0x98)
+    // padding (0x98)
     {
-        "R32_FLOAT_X8X24_TYPELESS_LD",
-        { SWR_TYPE_FLOAT, SWR_TYPE_UNUSED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 1, 0, 0 }, // Swizzle
-        { 32, 32, 0, 0 }, // Bits per component
-        64, // Bits per element
-        8, // Bytes per element
-        2, // Num components
-        false, // isSRGB
-        false, // isBC
-        false, // isSubsampled
-        false, // isLuminance
-        { false, false, false, false }, // Is normalized?
-        { 1.0f, 1.0f, 0, 0 }, // To float scale factor
-        1, // bcWidth
-        1, // bcHeight
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
     },
-    // 0x99 (Padding)
+    // padding (0x99)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x9a (Padding)
+    // padding (0x9A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x9b (Padding)
+    // padding (0x9B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x9c (Padding)
+    // padding (0x9C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x9d (Padding)
+    // padding (0x9D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x9e (Padding)
+    // padding (0x9E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x9f (Padding)
+    // padding (0x9F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa0 (Padding)
+    // padding (0xA0)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa1 (Padding)
+    // padding (0xA1)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa2 (Padding)
+    // padding (0xA2)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa3 (Padding)
+    // padding (0xA3)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa4 (Padding)
+    // padding (0xA4)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa5 (Padding)
+    // padding (0xA5)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa6 (Padding)
+    // padding (0xA6)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa7 (Padding)
+    // padding (0xA7)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa8 (Padding)
+    // padding (0xA8)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xa9 (Padding)
+    // padding (0xA9)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xaa (Padding)
+    // padding (0xAA)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xab (Padding)
+    // padding (0xAB)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xac (Padding)
+    // padding (0xAC)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xad (Padding)
+    // padding (0xAD)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xae (Padding)
+    // padding (0xAE)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xaf (Padding)
+    // padding (0xAF)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb0 (Padding)
+    // padding (0xB0)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb1 (Padding)
+    // padding (0xB1)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb2 (Padding)
+    // padding (0xB2)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb3 (Padding)
+    // padding (0xB3)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb4 (Padding)
+    // padding (0xB4)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb5 (Padding)
+    // padding (0xB5)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb6 (Padding)
+    // padding (0xB6)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb7 (Padding)
+    // padding (0xB7)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb8 (Padding)
+    // padding (0xB8)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xb9 (Padding)
+    // padding (0xB9)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xba (Padding)
+    // padding (0xBA)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xbb (Padding)
+    // padding (0xBB)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xbc (Padding)
+    // padding (0xBC)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xbd (Padding)
+    // padding (0xBD)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xbe (Padding)
+    // padding (0xBE)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xbf (Padding)
+    // padding (0xBF)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // B8G8R8A8_UNORM (0xc0)
+    // B8G8R8A8_UNORM (0xC0)
     {
         "B8G8R8A8_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
@@ -2271,7 +2308,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B8G8R8A8_UNORM_SRGB (0xc1)
+
+    // B8G8R8A8_UNORM_SRGB (0xC1)
     {
         "B8G8R8A8_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
@@ -2290,7 +2328,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R10G10B10A2_UNORM (0xc2)
+
+    // R10G10B10A2_UNORM (0xC2)
     {
         "R10G10B10A2_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
@@ -2309,7 +2348,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R10G10B10A2_UNORM_SRGB (0xc3)
+
+    // R10G10B10A2_UNORM_SRGB (0xC3)
     {
         "R10G10B10A2_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
@@ -2328,7 +2368,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R10G10B10A2_UINT (0xc4)
+
+    // R10G10B10A2_UINT (0xC4)
     {
         "R10G10B10A2_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
@@ -2347,27 +2388,28 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0xc5 (Padding)
+
+    // padding (0xC5)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xc6 (Padding)
+    // padding (0xC6)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R8G8B8A8_UNORM (0xc7)
+    // R8G8B8A8_UNORM (0xC7)
     {
         "R8G8B8A8_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
@@ -2386,7 +2428,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8B8A8_UNORM_SRGB (0xc8)
+
+    // R8G8B8A8_UNORM_SRGB (0xC8)
     {
         "R8G8B8A8_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
@@ -2405,7 +2448,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8B8A8_SNORM (0xc9)
+
+    // R8G8B8A8_SNORM (0xC9)
     {
         "R8G8B8A8_SNORM",
         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
@@ -2424,7 +2468,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8B8A8_SINT (0xca)
+
+    // R8G8B8A8_SINT (0xCA)
     {
         "R8G8B8A8_SINT",
         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
@@ -2443,7 +2488,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8B8A8_UINT (0xcb)
+
+    // R8G8B8A8_UINT (0xCB)
     {
         "R8G8B8A8_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
@@ -2462,7 +2508,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16_UNORM (0xcc)
+
+    // R16G16_UNORM (0xCC)
     {
         "R16G16_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2481,7 +2528,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16_SNORM (0xcd)
+
+    // R16G16_SNORM (0xCD)
     {
         "R16G16_SNORM",
         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2500,7 +2548,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16_SINT (0xce)
+
+    // R16G16_SINT (0xCE)
     {
         "R16G16_SINT",
         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2519,7 +2568,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16_UINT (0xcf)
+
+    // R16G16_UINT (0xCF)
     {
         "R16G16_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2538,7 +2588,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16_FLOAT (0xd0)
+
+    // R16G16_FLOAT (0xD0)
     {
         "R16G16_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2557,7 +2608,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B10G10R10A2_UNORM (0xd1)
+
+    // B10G10R10A2_UNORM (0xD1)
     {
         "B10G10R10A2_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
@@ -2576,7 +2628,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B10G10R10A2_UNORM_SRGB (0xd2)
+
+    // B10G10R10A2_UNORM_SRGB (0xD2)
     {
         "B10G10R10A2_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
@@ -2595,7 +2648,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R11G11B10_FLOAT (0xd3)
+
+    // R11G11B10_FLOAT (0xD3)
     {
         "R11G11B10_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
@@ -2614,20 +2668,21 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0xd4 (Padding)
+
+    // padding (0xD4)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R10G10B10_FLOAT_A2_UNORM (0xd5)
+    // R10G10B10_FLOAT_A2_UNORM (0xD5)
     {
         "R10G10B10_FLOAT_A2_UNORM",
-        { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNORM },
+        { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
         { 0, 1, 2, 3 }, // Swizzle
         { 10, 10, 10, 2 }, // Bits per component
@@ -2638,12 +2693,13 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         false, // isBC
         false, // isSubsampled
         false, // isLuminance
-        { false, false, false, true }, // Is normalized?
-        { 1.0f, 1.0f, 1.0f, 1.0f / 3.0f }, // To float scale factor
+        { false, false, false, false }, // Is normalized?
+        { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
         1, // bcWidth
         1, // bcHeight
     },
-    // R32_SINT (0xd6)
+
+    // R32_SINT (0xD6)
     {
         "R32_SINT",
         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2662,7 +2718,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R32_UINT (0xd7)
+
+    // R32_UINT (0xD7)
     {
         "R32_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2681,7 +2738,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R32_FLOAT (0xd8)
+
+    // R32_FLOAT (0xD8)
     {
         "R32_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2700,12 +2758,13 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R24_UNORM_X8_TYPELESS (0xd9)
+
+    // R24_UNORM_X8_TYPELESS (0xD9)
     {
         "R24_UNORM_X8_TYPELESS",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
+        { 0, 1, 2, 3 }, // Swizzle
         { 24, 0, 0, 0 }, // Bits per component
         32, // Bits per element
         4, // Bytes per element
@@ -2719,7 +2778,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // X24_TYPELESS_G8_UINT (0xda)
+
+    // X24_TYPELESS_G8_UINT (0xDA)
     {
         "X24_TYPELESS_G8_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2738,36 +2798,28 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0xdb (Padding)
+
+    // padding (0xDB)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R24_UNORM_X8_TYPELESS_LD (0xdc)
+    // padding (0xDC)
     {
-        "R24_UNORM_X8_TYPELESS_LD",
-        { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 24, 0, 0, 0 }, // Bits per component
-        32, // Bits per element
-        4, // Bytes per element
-        1, // Num components
-        false, // isSRGB
-        false, // isBC
-        false, // isSubsampled
-        false, // isLuminance
-        { true, false, false, false }, // Is normalized?
-        { 1.0f / 16777215.0f, 0, 0, 0 }, // To float scale factor
-        1, // bcWidth
-        1, // bcHeight
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
     },
-    // L32_UNORM (0xdd)
+    // L32_UNORM (0xDD)
     {
         "L32_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2786,17 +2838,18 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0xde (Padding)
+
+    // padding (0xDE)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // L16A16_UNORM (0xdf)
+    // L16A16_UNORM (0xDF)
     {
         "L16A16_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2815,7 +2868,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // I24X8_UNORM (0xe0)
+
+    // I24X8_UNORM (0xE0)
     {
         "I24X8_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2834,7 +2888,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // L24X8_UNORM (0xe1)
+
+    // L24X8_UNORM (0xE1)
     {
         "L24X8_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2853,17 +2908,18 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0xe2 (Padding)
+
+    // padding (0xE2)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // I32_FLOAT (0xe3)
+    // I32_FLOAT (0xE3)
     {
         "I32_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2882,7 +2938,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // L32_FLOAT (0xe4)
+
+    // L32_FLOAT (0xE4)
     {
         "L32_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2901,7 +2958,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // A32_FLOAT (0xe5)
+
+    // A32_FLOAT (0xE5)
     {
         "A32_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -2920,37 +2978,38 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0xe6 (Padding)
+
+    // padding (0xE6)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xe7 (Padding)
+    // padding (0xE7)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xe8 (Padding)
+    // padding (0xE8)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // B8G8R8X8_UNORM (0xe9)
+    // B8G8R8X8_UNORM (0xE9)
     {
         "B8G8R8X8_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
@@ -2969,7 +3028,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B8G8R8X8_UNORM_SRGB (0xea)
+
+    // B8G8R8X8_UNORM_SRGB (0xEA)
     {
         "B8G8R8X8_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
@@ -2988,7 +3048,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8B8X8_UNORM (0xeb)
+
+    // R8G8B8X8_UNORM (0xEB)
     {
         "R8G8B8X8_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
@@ -3007,7 +3068,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8B8X8_UNORM_SRGB (0xec)
+
+    // R8G8B8X8_UNORM_SRGB (0xEC)
     {
         "R8G8B8X8_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
@@ -3026,7 +3088,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R9G9B9E5_SHAREDEXP (0xed)
+
+    // R9G9B9E5_SHAREDEXP (0xED)
     {
         "R9G9B9E5_SHAREDEXP",
         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
@@ -3045,7 +3108,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B10G10R10X2_UNORM (0xee)
+
+    // B10G10R10X2_UNORM (0xEE)
     {
         "B10G10R10X2_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
@@ -3064,17 +3128,18 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0xef (Padding)
+
+    // padding (0xEF)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // L16A16_FLOAT (0xf0)
+    // L16A16_FLOAT (0xF0)
     {
         "L16A16_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3093,27 +3158,28 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0xf1 (Padding)
+
+    // padding (0xF1)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xf2 (Padding)
+    // padding (0xF2)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R10G10B10X2_USCALED (0xf3)
+    // R10G10B10X2_USCALED (0xF3)
     {
         "R10G10B10X2_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNUSED },
@@ -3132,7 +3198,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8B8A8_SSCALED (0xf4)
+
+    // R8G8B8A8_SSCALED (0xF4)
     {
         "R8G8B8A8_SSCALED",
         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
@@ -3151,7 +3218,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8B8A8_USCALED (0xf5)
+
+    // R8G8B8A8_USCALED (0xF5)
     {
         "R8G8B8A8_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
@@ -3170,7 +3238,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16_SSCALED (0xf6)
+
+    // R16G16_SSCALED (0xF6)
     {
         "R16G16_SSCALED",
         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3189,7 +3258,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16_USCALED (0xf7)
+
+    // R16G16_USCALED (0xF7)
     {
         "R16G16_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3208,7 +3278,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R32_SSCALED (0xf8)
+
+    // R32_SSCALED (0xF8)
     {
         "R32_SSCALED",
         { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3227,7 +3298,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R32_USCALED (0xf9)
+
+    // R32_USCALED (0xF9)
     {
         "R32_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3246,61 +3318,62 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0xfa (Padding)
+
+    // padding (0xFA)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xfb (Padding)
+    // padding (0xFB)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xfc (Padding)
+    // padding (0xFC)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xfd (Padding)
+    // padding (0xFD)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xfe (Padding)
+    // padding (0xFE)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0xff (Padding)
+    // padding (0xFF)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -3325,6 +3398,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // B5G6R5_UNORM_SRGB (0x101)
     {
         "B5G6R5_UNORM_SRGB",
@@ -3344,6 +3418,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // B5G5R5A1_UNORM (0x102)
     {
         "B5G5R5A1_UNORM",
@@ -3363,6 +3438,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // B5G5R5A1_UNORM_SRGB (0x103)
     {
         "B5G5R5A1_UNORM_SRGB",
@@ -3382,6 +3458,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // B4G4R4A4_UNORM (0x104)
     {
         "B4G4R4A4_UNORM",
@@ -3401,6 +3478,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // B4G4R4A4_UNORM_SRGB (0x105)
     {
         "B4G4R4A4_UNORM_SRGB",
@@ -3420,6 +3498,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8G8_UNORM (0x106)
     {
         "R8G8_UNORM",
@@ -3439,6 +3518,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8G8_SNORM (0x107)
     {
         "R8G8_SNORM",
@@ -3458,6 +3538,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8G8_SINT (0x108)
     {
         "R8G8_SINT",
@@ -3477,6 +3558,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8G8_UINT (0x109)
     {
         "R8G8_UINT",
@@ -3496,7 +3578,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16_UNORM (0x10a)
+
+    // R16_UNORM (0x10A)
     {
         "R16_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3515,7 +3598,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16_SNORM (0x10b)
+
+    // R16_SNORM (0x10B)
     {
         "R16_SNORM",
         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3534,7 +3618,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16_SINT (0x10c)
+
+    // R16_SINT (0x10C)
     {
         "R16_SINT",
         { SWR_TYPE_SINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3553,7 +3638,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16_UINT (0x10d)
+
+    // R16_UINT (0x10D)
     {
         "R16_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3572,7 +3658,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16_FLOAT (0x10e)
+
+    // R16_FLOAT (0x10E)
     {
         "R16_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3591,21 +3678,22 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x10f (Padding)
+
+    // padding (0x10F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x110 (Padding)
+    // padding (0x110)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -3630,6 +3718,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // L16_UNORM (0x112)
     {
         "L16_UNORM",
@@ -3649,6 +3738,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // A16_UNORM (0x113)
     {
         "A16_UNORM",
@@ -3668,6 +3758,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // L8A8_UNORM (0x114)
     {
         "L8A8_UNORM",
@@ -3687,6 +3778,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // I16_FLOAT (0x115)
     {
         "I16_FLOAT",
@@ -3706,6 +3798,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // L16_FLOAT (0x116)
     {
         "L16_FLOAT",
@@ -3725,6 +3818,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // A16_FLOAT (0x117)
     {
         "A16_FLOAT",
@@ -3744,6 +3838,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // L8A8_UNORM_SRGB (0x118)
     {
         "L8A8_UNORM_SRGB",
@@ -3763,17 +3858,18 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x119 (Padding)
+
+    // padding (0x119)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // B5G5R5X1_UNORM (0x11a)
+    // B5G5R5X1_UNORM (0x11A)
     {
         "B5G5R5X1_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
@@ -3792,7 +3888,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B5G5R5X1_UNORM_SRGB (0x11b)
+
+    // B5G5R5X1_UNORM_SRGB (0x11B)
     {
         "B5G5R5X1_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNUSED },
@@ -3811,7 +3908,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8_SSCALED (0x11c)
+
+    // R8G8_SSCALED (0x11C)
     {
         "R8G8_SSCALED",
         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3830,7 +3928,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8_USCALED (0x11d)
+
+    // R8G8_USCALED (0x11D)
     {
         "R8G8_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3849,7 +3948,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16_SSCALED (0x11e)
+
+    // R16_SSCALED (0x11E)
     {
         "R16_SSCALED",
         { SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3868,7 +3968,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16_USCALED (0x11f)
+
+    // R16_USCALED (0x11F)
     {
         "R16_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -3887,66 +3988,87 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x120 (Padding)
+
+    // padding (0x120)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x121 (Padding)
+    // padding (0x121)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x122 (Padding)
+    // padding (0x122)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x123 (Padding)
+    // padding (0x123)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x124 (Padding)
+    // A1B5G5R5_UNORM (0x124)
     {
-        "UNKNOWN",
-        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
-        0, 0, 0, false, false, false, false,
-        { false, false, false, false },
-        { 0.0f, 0.0f, 0.0f, 0.0f },
-        1, 1
+        "A1B5G5R5_UNORM",
+        { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
+        { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
+        { 3, 2, 1, 0 }, // Swizzle
+        { 1, 5, 5, 5 }, // Bits per component
+        16, // Bits per element
+        2, // Bytes per element
+        4, // Num components
+        false, // isSRGB
+        false, // isBC
+        false, // isSubsampled
+        false, // isLuminance
+        { true, true, true, true }, // Is normalized?
+        { 1.0f / 1.0f, 1.0f / 31.0f, 1.0f / 31.0f, 1.0f / 31.0f }, // To float scale factor
+        1, // bcWidth
+        1, // bcHeight
     },
-    // 0x125 (Padding)
+
+    // A4B4G4R4_UNORM (0x125)
     {
-        "UNKNOWN",
-        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
-        0, 0, 0, false, false, false, false,
-        { false, false, false, false },
-        { 0.0f, 0.0f, 0.0f, 0.0f },
-        1, 1
+        "A4B4G4R4_UNORM",
+        { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM },
+        { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
+        { 3, 2, 1, 0 }, // Swizzle
+        { 4, 4, 4, 4 }, // Bits per component
+        16, // Bits per element
+        2, // Bytes per element
+        4, // Num components
+        false, // isSRGB
+        false, // isBC
+        false, // isSubsampled
+        false, // isLuminance
+        { true, true, true, true }, // Is normalized?
+        { 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f, 1.0f / 15.0f }, // To float scale factor
+        1, // bcWidth
+        1, // bcHeight
     },
+
     // L8A8_UINT (0x126)
     {
         "L8A8_UINT",
@@ -3966,6 +4088,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // L8A8_SINT (0x127)
     {
         "L8A8_SINT",
@@ -3985,241 +4108,242 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x128 (Padding)
+
+    // padding (0x128)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x129 (Padding)
+    // padding (0x129)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x12a (Padding)
+    // padding (0x12A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x12b (Padding)
+    // padding (0x12B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x12c (Padding)
+    // padding (0x12C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x12d (Padding)
+    // padding (0x12D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x12e (Padding)
+    // padding (0x12E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x12f (Padding)
+    // padding (0x12F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x130 (Padding)
+    // padding (0x130)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x131 (Padding)
+    // padding (0x131)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x132 (Padding)
+    // padding (0x132)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x133 (Padding)
+    // padding (0x133)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x134 (Padding)
+    // padding (0x134)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x135 (Padding)
+    // padding (0x135)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x136 (Padding)
+    // padding (0x136)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x137 (Padding)
+    // padding (0x137)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x138 (Padding)
+    // padding (0x138)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x139 (Padding)
+    // padding (0x139)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x13a (Padding)
+    // padding (0x13A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x13b (Padding)
+    // padding (0x13B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x13c (Padding)
+    // padding (0x13C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x13d (Padding)
+    // padding (0x13D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x13e (Padding)
+    // padding (0x13E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x13f (Padding)
+    // padding (0x13F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -4244,6 +4368,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8_SNORM (0x141)
     {
         "R8_SNORM",
@@ -4263,6 +4388,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8_SINT (0x142)
     {
         "R8_SINT",
@@ -4282,6 +4408,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8_UINT (0x143)
     {
         "R8_UINT",
@@ -4301,6 +4428,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // A8_UNORM (0x144)
     {
         "A8_UNORM",
@@ -4320,6 +4448,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // I8_UNORM (0x145)
     {
         "I8_UNORM",
@@ -4339,6 +4468,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // L8_UNORM (0x146)
     {
         "L8_UNORM",
@@ -4358,21 +4488,22 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x147 (Padding)
+
+    // padding (0x147)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x148 (Padding)
+    // padding (0x148)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -4397,7 +4528,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8_USCALED (0x14a)
+
+    // R8_USCALED (0x14A)
     {
         "R8_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -4416,17 +4548,18 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x14b (Padding)
+
+    // padding (0x14B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // L8_UNORM_SRGB (0x14c)
+    // L8_UNORM_SRGB (0x14C)
     {
         "L8_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
@@ -4445,51 +4578,52 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x14d (Padding)
+
+    // padding (0x14D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x14e (Padding)
+    // padding (0x14E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x14f (Padding)
+    // padding (0x14F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x150 (Padding)
+    // padding (0x150)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x151 (Padding)
+    // padding (0x151)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -4514,6 +4648,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // L8_SINT (0x153)
     {
         "L8_SINT",
@@ -4533,6 +4668,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // I8_UINT (0x154)
     {
         "I8_UINT",
@@ -4552,6 +4688,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // I8_SINT (0x155)
     {
         "I8_SINT",
@@ -4571,451 +4708,452 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x156 (Padding)
+
+    // padding (0x156)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x157 (Padding)
+    // padding (0x157)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x158 (Padding)
+    // padding (0x158)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x159 (Padding)
+    // padding (0x159)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x15a (Padding)
+    // padding (0x15A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x15b (Padding)
+    // padding (0x15B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x15c (Padding)
+    // padding (0x15C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x15d (Padding)
+    // padding (0x15D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x15e (Padding)
+    // padding (0x15E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x15f (Padding)
+    // padding (0x15F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x160 (Padding)
+    // padding (0x160)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x161 (Padding)
+    // padding (0x161)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x162 (Padding)
+    // padding (0x162)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x163 (Padding)
+    // padding (0x163)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x164 (Padding)
+    // padding (0x164)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x165 (Padding)
+    // padding (0x165)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x166 (Padding)
+    // padding (0x166)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x167 (Padding)
+    // padding (0x167)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x168 (Padding)
+    // padding (0x168)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x169 (Padding)
+    // padding (0x169)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x16a (Padding)
+    // padding (0x16A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x16b (Padding)
+    // padding (0x16B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x16c (Padding)
+    // padding (0x16C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x16d (Padding)
+    // padding (0x16D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x16e (Padding)
+    // padding (0x16E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x16f (Padding)
+    // padding (0x16F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x170 (Padding)
+    // padding (0x170)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x171 (Padding)
+    // padding (0x171)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x172 (Padding)
+    // padding (0x172)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x173 (Padding)
+    // padding (0x173)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x174 (Padding)
+    // padding (0x174)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x175 (Padding)
+    // padding (0x175)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x176 (Padding)
+    // padding (0x176)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x177 (Padding)
+    // padding (0x177)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x178 (Padding)
+    // padding (0x178)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x179 (Padding)
+    // padding (0x179)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x17a (Padding)
+    // padding (0x17A)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x17b (Padding)
+    // padding (0x17B)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x17c (Padding)
+    // padding (0x17C)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x17d (Padding)
+    // padding (0x17D)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x17e (Padding)
+    // padding (0x17E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x17f (Padding)
+    // padding (0x17F)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x180 (Padding)
+    // padding (0x180)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x181 (Padding)
+    // padding (0x181)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x182 (Padding)
+    // padding (0x182)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -5040,21 +5178,22 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         2, // bcWidth
         1, // bcHeight
     },
-    // 0x184 (Padding)
+
+    // padding (0x184)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x185 (Padding)
+    // padding (0x185)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -5065,8 +5204,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         "BC1_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         64, // Bits per element
         8, // Bytes per element
         1, // Num components
@@ -5079,13 +5218,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
+
     // BC2_UNORM (0x187)
     {
         "BC2_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5098,13 +5238,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
+
     // BC3_UNORM (0x188)
     {
         "BC3_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5117,13 +5258,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
+
     // BC4_UNORM (0x189)
     {
         "BC4_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         64, // Bits per element
         8, // Bytes per element
         1, // Num components
@@ -5136,13 +5278,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // BC5_UNORM (0x18a)
+
+    // BC5_UNORM (0x18A)
     {
         "BC5_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5155,13 +5298,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // BC1_UNORM_SRGB (0x18b)
+
+    // BC1_UNORM_SRGB (0x18B)
     {
         "BC1_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         64, // Bits per element
         8, // Bytes per element
         1, // Num components
@@ -5174,13 +5318,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // BC2_UNORM_SRGB (0x18c)
+
+    // BC2_UNORM_SRGB (0x18C)
     {
         "BC2_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5193,13 +5338,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // BC3_UNORM_SRGB (0x18d)
+
+    // BC3_UNORM_SRGB (0x18D)
     {
         "BC3_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5212,17 +5358,18 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // 0x18e (Padding)
+
+    // padding (0x18E)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // YCRCB_SWAPUV (0x18f)
+    // YCRCB_SWAPUV (0x18F)
     {
         "YCRCB_SWAPUV",
         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
@@ -5241,31 +5388,32 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         2, // bcWidth
         1, // bcHeight
     },
-    // 0x190 (Padding)
+
+    // padding (0x190)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x191 (Padding)
+    // padding (0x191)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x192 (Padding)
+    // padding (0x192)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -5290,6 +5438,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8G8B8_SNORM (0x194)
     {
         "R8G8B8_SNORM",
@@ -5309,6 +5458,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8G8B8_SSCALED (0x195)
     {
         "R8G8B8_SSCALED",
@@ -5328,6 +5478,7 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+
     // R8G8B8_USCALED (0x196)
     {
         "R8G8B8_USCALED",
@@ -5347,21 +5498,22 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x197 (Padding)
+
+    // padding (0x197)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x198 (Padding)
+    // padding (0x198)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
@@ -5372,8 +5524,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         "BC4_SNORM",
         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         64, // Bits per element
         8, // Bytes per element
         1, // Num components
@@ -5386,13 +5538,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // BC5_SNORM (0x19a)
+
+    // BC5_SNORM (0x19A)
     {
         "BC5_SNORM",
         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5405,7 +5558,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // R16G16B16_FLOAT (0x19b)
+
+    // R16G16B16_FLOAT (0x19B)
     {
         "R16G16B16_FLOAT",
         { SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN },
@@ -5424,7 +5578,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16B16_UNORM (0x19c)
+
+    // R16G16B16_UNORM (0x19C)
     {
         "R16G16B16_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
@@ -5443,7 +5598,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16B16_SNORM (0x19d)
+
+    // R16G16B16_SNORM (0x19D)
     {
         "R16G16B16_SNORM",
         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN },
@@ -5462,7 +5618,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16B16_SSCALED (0x19e)
+
+    // R16G16B16_SSCALED (0x19E)
     {
         "R16G16B16_SSCALED",
         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_UNKNOWN },
@@ -5481,7 +5638,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16B16_USCALED (0x19f)
+
+    // R16G16B16_USCALED (0x19F)
     {
         "R16G16B16_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_UNKNOWN },
@@ -5500,23 +5658,24 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x1a0 (Padding)
+
+    // padding (0x1A0)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // BC6H_SF16 (0x1a1)
+    // BC6H_SF16 (0x1A1)
     {
         "BC6H_SF16",
         { SWR_TYPE_SNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5529,13 +5688,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // BC7_UNORM (0x1a2)
+
+    // BC7_UNORM (0x1A2)
     {
         "BC7_UNORM",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5548,13 +5708,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // BC7_UNORM_SRGB (0x1a3)
+
+    // BC7_UNORM_SRGB (0x1A3)
     {
         "BC7_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5567,13 +5728,14 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // BC6H_UF16 (0x1a4)
+
+    // BC6H_UF16 (0x1A4)
     {
         "BC6H_UF16",
         { SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
         { 0, 0, 0, 0x3f800000 }, // Defaults for missing components
-        { 0, 0, 0, 0 }, // Swizzle
-        { 8, 0, 0, 0 }, // Bits per component
+        { 0, 1, 2, 3 }, // Swizzle
+        { 8, 8, 8, 8 }, // Bits per component
         128, // Bits per element
         16, // Bytes per element
         1, // Num components
@@ -5586,37 +5748,38 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         4, // bcWidth
         4, // bcHeight
     },
-    // 0x1a5 (Padding)
+
+    // padding (0x1A5)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1a6 (Padding)
+    // padding (0x1A6)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1a7 (Padding)
+    // padding (0x1A7)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R8G8B8_UNORM_SRGB (0x1a8)
+    // R8G8B8_UNORM_SRGB (0x1A8)
     {
         "R8G8B8_UNORM_SRGB",
         { SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNORM, SWR_TYPE_UNKNOWN },
@@ -5635,77 +5798,78 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x1a9 (Padding)
+
+    // padding (0x1A9)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1aa (Padding)
+    // padding (0x1AA)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1ab (Padding)
+    // padding (0x1AB)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1ac (Padding)
+    // padding (0x1AC)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1ad (Padding)
+    // padding (0x1AD)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1ae (Padding)
+    // padding (0x1AE)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1af (Padding)
+    // padding (0x1AF)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R16G16B16_UINT (0x1b0)
+    // R16G16B16_UINT (0x1B0)
     {
         "R16G16B16_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
@@ -5724,7 +5888,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R16G16B16_SINT (0x1b1)
+
+    // R16G16B16_SINT (0x1B1)
     {
         "R16G16B16_SINT",
         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
@@ -5743,17 +5908,18 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x1b2 (Padding)
+
+    // padding (0x1B2)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R10G10B10A2_SNORM (0x1b3)
+    // R10G10B10A2_SNORM (0x1B3)
     {
         "R10G10B10A2_SNORM",
         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
@@ -5772,7 +5938,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R10G10B10A2_USCALED (0x1b4)
+
+    // R10G10B10A2_USCALED (0x1B4)
     {
         "R10G10B10A2_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
@@ -5791,7 +5958,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R10G10B10A2_SSCALED (0x1b5)
+
+    // R10G10B10A2_SSCALED (0x1B5)
     {
         "R10G10B10A2_SSCALED",
         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
@@ -5810,7 +5978,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R10G10B10A2_SINT (0x1b6)
+
+    // R10G10B10A2_SINT (0x1B6)
     {
         "R10G10B10A2_SINT",
         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
@@ -5829,7 +5998,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B10G10R10A2_SNORM (0x1b7)
+
+    // B10G10R10A2_SNORM (0x1B7)
     {
         "B10G10R10A2_SNORM",
         { SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM, SWR_TYPE_SNORM },
@@ -5848,7 +6018,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B10G10R10A2_USCALED (0x1b8)
+
+    // B10G10R10A2_USCALED (0x1B8)
     {
         "B10G10R10A2_USCALED",
         { SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED, SWR_TYPE_USCALED },
@@ -5867,7 +6038,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B10G10R10A2_SSCALED (0x1b9)
+
+    // B10G10R10A2_SSCALED (0x1B9)
     {
         "B10G10R10A2_SSCALED",
         { SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED, SWR_TYPE_SSCALED },
@@ -5886,7 +6058,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B10G10R10A2_UINT (0x1ba)
+
+    // B10G10R10A2_UINT (0x1BA)
     {
         "B10G10R10A2_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT },
@@ -5905,7 +6078,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // B10G10R10A2_SINT (0x1bb)
+
+    // B10G10R10A2_SINT (0x1BB)
     {
         "B10G10R10A2_SINT",
         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT },
@@ -5924,127 +6098,128 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // 0x1bc (Padding)
+
+    // padding (0x1BC)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1bd (Padding)
+    // padding (0x1BD)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1be (Padding)
+    // padding (0x1BE)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1bf (Padding)
+    // padding (0x1BF)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1c0 (Padding)
+    // padding (0x1C0)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1c1 (Padding)
+    // padding (0x1C1)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1c2 (Padding)
+    // padding (0x1C2)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1c3 (Padding)
+    // padding (0x1C3)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1c4 (Padding)
+    // padding (0x1C4)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1c5 (Padding)
+    // padding (0x1C5)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1c6 (Padding)
+    // padding (0x1C6)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // 0x1c7 (Padding)
+    // padding (0x1C7)
     {
-        "UNKNOWN",
+        nullptr,
         { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
-        { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
         0, 0, 0, false, false, false, false,
         { false, false, false, false },
         { 0.0f, 0.0f, 0.0f, 0.0f },
         1, 1
     },
-    // R8G8B8_UINT (0x1c8)
+    // R8G8B8_UINT (0x1C8)
     {
         "R8G8B8_UINT",
         { SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UINT, SWR_TYPE_UNKNOWN },
@@ -6063,7 +6238,8 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // R8G8B8_SINT (0x1c9)
+
+    // R8G8B8_SINT (0x1C9)
     {
         "R8G8B8_SINT",
         { SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_SINT, SWR_TYPE_UNKNOWN },
@@ -6082,27 +6258,555 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
-    // <---- Add new "supported" formats here!
-
 
-    // ... skip a long range ...
-    // RAW (0x1ff)
+    // padding (0x1CA)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1CB)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1CC)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1CD)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1CE)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1CF)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D0)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D1)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D2)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D3)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D4)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D5)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D6)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D7)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D8)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1D9)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1DA)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1DB)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1DC)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1DD)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1DE)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1DF)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E0)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E1)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E2)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E3)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E4)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E5)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E6)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E7)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E8)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1E9)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1EA)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1EB)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1EC)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1ED)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1EE)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1EF)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F0)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F1)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F2)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F3)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F4)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F5)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F6)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F7)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F8)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1F9)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1FA)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1FB)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1FC)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1FD)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // padding (0x1FE)
+    {
+        nullptr,
+        { SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0 },{ 0, 0, 0, 0 },{ 0, 0, 0, 0 },
+        0, 0, 0, false, false, false, false,
+        { false, false, false, false },
+        { 0.0f, 0.0f, 0.0f, 0.0f },
+        1, 1
+    },
+    // RAW (0x1FF)
     {
         "RAW",
-        { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, },
-        { 0, 0, 0, 0 }, // Defaults for missing components
+        { SWR_TYPE_UINT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN },
+        { 0, 0, 0, 0x1 }, // Defaults for missing components
         { 0, 1, 2, 3 }, // Swizzle
-        { 32, 0, 0, 0 }, // Bits per component
-        32, // Bits per element
-        4, // Bytes per element
+        { 8, 0, 0, 0 }, // Bits per component
+        8, // Bits per element
+        1, // Bytes per element
         1, // Num components
         false, // isSRGB
         false, // isBC
         false, // isSubsampled
         false, // isLuminance
         { false, false, false, false }, // Is normalized?
-        { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
+        { 1.0f, 0, 0, 0 }, // To float scale factor
         1, // bcWidth
         1, // bcHeight
-    }
+    },
 };
+
index 1f5fe19..539e37a 100644 (file)
@@ -1,6 +1,5 @@
-
 /****************************************************************************
-* Copyright (C) 2014-2015 Intel Corporation.   All Rights Reserved.
+* Copyright (C) 2016 Intel Corporation.   All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
@@ -54,169 +53,169 @@ enum SWR_TYPE
 //////////////////////////////////////////////////////////////////////////
 enum SWR_FORMAT
 {
-    R32G32B32A32_FLOAT = 0x0,
-    R32G32B32A32_SINT = 0x1,
-    R32G32B32A32_UINT = 0x2,
-    R32G32B32X32_FLOAT = 0x6,
-    R32G32B32A32_SSCALED = 0x7,
-    R32G32B32A32_USCALED = 0x8,
-    R32G32B32_FLOAT = 0x40,
-    R32G32B32_SINT = 0x41,
-    R32G32B32_UINT = 0x42,
-    R32G32B32_SSCALED = 0x45,
-    R32G32B32_USCALED = 0x46,
-    R16G16B16A16_UNORM = 0x80,
-    R16G16B16A16_SNORM = 0x81,
-    R16G16B16A16_SINT = 0x82,
-    R16G16B16A16_UINT = 0x83,
-    R16G16B16A16_FLOAT = 0x84,
-    R32G32_FLOAT = 0x85,
-    R32G32_SINT = 0x86,
-    R32G32_UINT = 0x87,
-    R32_FLOAT_X8X24_TYPELESS = 0x88,
-    X32_TYPELESS_G8X24_UINT = 0x89,
-    L32A32_FLOAT = 0x8A,
-    R16G16B16X16_UNORM = 0x8E,
-    R16G16B16X16_FLOAT = 0x8F,
-    L32X32_FLOAT = 0x91,
-    I32X32_FLOAT = 0x92,
-    R16G16B16A16_SSCALED = 0x93,
-    R16G16B16A16_USCALED = 0x94,
-    R32G32_SSCALED = 0x95,
-    R32G32_USCALED = 0x96,
-    R32_FLOAT_X8X24_TYPELESS_LD = 0x98,
-    B8G8R8A8_UNORM = 0xC0,
-    B8G8R8A8_UNORM_SRGB = 0xC1,
-    R10G10B10A2_UNORM = 0xC2,
-    R10G10B10A2_UNORM_SRGB = 0xC3,
-    R10G10B10A2_UINT = 0xC4,
-    R8G8B8A8_UNORM = 0xC7,
-    R8G8B8A8_UNORM_SRGB = 0xC8,
-    R8G8B8A8_SNORM = 0xC9,
-    R8G8B8A8_SINT = 0xCA,
-    R8G8B8A8_UINT = 0xCB,
-    R16G16_UNORM = 0xCC,
-    R16G16_SNORM = 0xCD,
-    R16G16_SINT = 0xCE,
-    R16G16_UINT = 0xCF,
-    R16G16_FLOAT = 0xD0,
-    B10G10R10A2_UNORM = 0xD1,
-    B10G10R10A2_UNORM_SRGB = 0xD2,
-    R11G11B10_FLOAT = 0xD3,
-    R10G10B10_FLOAT_A2_UNORM = 0xD5,
-    R32_SINT = 0xD6,
-    R32_UINT = 0xD7,
-    R32_FLOAT = 0xD8,
-    R24_UNORM_X8_TYPELESS = 0xD9,
-    X24_TYPELESS_G8_UINT = 0xDA,
-    R24_UNORM_X8_TYPELESS_LD = 0xDC,
-    L32_UNORM = 0xDD,
-    L16A16_UNORM = 0xDF,
-    I24X8_UNORM = 0xE0,
-    L24X8_UNORM = 0xE1,
-    I32_FLOAT = 0xE3,
-    L32_FLOAT = 0xE4,
-    A32_FLOAT = 0xE5,
-    B8G8R8X8_UNORM = 0xE9,
-    B8G8R8X8_UNORM_SRGB = 0xEA,
-    R8G8B8X8_UNORM = 0xEB,
-    R8G8B8X8_UNORM_SRGB = 0xEC,
-    R9G9B9E5_SHAREDEXP = 0xED,
-    B10G10R10X2_UNORM = 0xEE,
-    L16A16_FLOAT = 0xF0,
-    R10G10B10X2_USCALED = 0xF3,
-    R8G8B8A8_SSCALED = 0xF4,
-    R8G8B8A8_USCALED = 0xF5,
-    R16G16_SSCALED = 0xF6,
-    R16G16_USCALED = 0xF7,
-    R32_SSCALED = 0xF8,
-    R32_USCALED = 0xF9,
-    B5G6R5_UNORM = 0x100,
-    B5G6R5_UNORM_SRGB = 0x101,
-    B5G5R5A1_UNORM = 0x102,
-    B5G5R5A1_UNORM_SRGB = 0x103,
-    B4G4R4A4_UNORM = 0x104,
-    B4G4R4A4_UNORM_SRGB = 0x105,
-    R8G8_UNORM = 0x106,
-    R8G8_SNORM = 0x107,
-    R8G8_SINT = 0x108,
-    R8G8_UINT = 0x109,
-    R16_UNORM = 0x10A,
-    R16_SNORM = 0x10B,
-    R16_SINT = 0x10C,
-    R16_UINT = 0x10D,
-    R16_FLOAT = 0x10E,
-    I16_UNORM = 0x111,
-    L16_UNORM = 0x112,
-    A16_UNORM = 0x113,
-    L8A8_UNORM = 0x114,
-    I16_FLOAT = 0x115,
-    L16_FLOAT = 0x116,
-    A16_FLOAT = 0x117,
-    L8A8_UNORM_SRGB = 0x118,
-    B5G5R5X1_UNORM = 0x11A,
-    B5G5R5X1_UNORM_SRGB = 0x11B,
-    R8G8_SSCALED = 0x11C,
-    R8G8_USCALED = 0x11D,
-    R16_SSCALED = 0x11E,
-    R16_USCALED = 0x11F,
-    L8A8_UINT = 0x126,
-    L8A8_SINT = 0x127,
-    R8_UNORM = 0x140,
-    R8_SNORM = 0x141,
-    R8_SINT = 0x142,
-    R8_UINT = 0x143,
-    A8_UNORM = 0x144,
-    I8_UNORM = 0x145,
-    L8_UNORM = 0x146,
-    R8_SSCALED = 0x149,
-    R8_USCALED = 0x14A,
-    L8_UNORM_SRGB = 0x14C,
-    L8_UINT = 0x152,
-    L8_SINT = 0x153,
-    I8_UINT = 0x154,
-    I8_SINT = 0x155,
-    YCRCB_SWAPUVY = 0x183,
-    BC1_UNORM = 0x186,
-    BC2_UNORM = 0x187,
-    BC3_UNORM = 0x188,
-    BC4_UNORM = 0x189,
-    BC5_UNORM = 0x18A,
-    BC1_UNORM_SRGB = 0x18B,
-    BC2_UNORM_SRGB = 0x18C,
-    BC3_UNORM_SRGB = 0x18D,
-    YCRCB_SWAPUV = 0x18F,
-    R8G8B8_UNORM = 0x193,
-    R8G8B8_SNORM = 0x194,
-    R8G8B8_SSCALED = 0x195,
-    R8G8B8_USCALED = 0x196,
-    BC4_SNORM = 0x199,
-    BC5_SNORM = 0x19A,
-    R16G16B16_FLOAT = 0x19B,
-    R16G16B16_UNORM = 0x19C,
-    R16G16B16_SNORM = 0x19D,
-    R16G16B16_SSCALED = 0x19E,
-    R16G16B16_USCALED = 0x19F,
-    BC6H_SF16 = 0x1A1,
-    BC7_UNORM = 0x1A2,
-    BC7_UNORM_SRGB = 0x1A3,
-    BC6H_UF16 = 0x1A4,
-    R8G8B8_UNORM_SRGB = 0x1A8,
-    R16G16B16_UINT = 0x1B0,
-    R16G16B16_SINT = 0x1B1,
-    R10G10B10A2_SNORM = 0x1B3,
-    R10G10B10A2_USCALED = 0x1B4,
-    R10G10B10A2_SSCALED = 0x1B5,
-    R10G10B10A2_SINT = 0x1B6,
-    B10G10R10A2_SNORM = 0x1B7,
-    B10G10R10A2_USCALED = 0x1B8,
-    B10G10R10A2_SSCALED = 0x1B9,
-    B10G10R10A2_UINT = 0x1BA,
-    B10G10R10A2_SINT = 0x1BB,
-    R8G8B8_UINT = 0x1C8,
-    R8G8B8_SINT = 0x1C9,
-    NUM_SWR_FORMATS = 0x1CA,
-    RAW = 0x1FF,
+    R32G32B32A32_FLOAT          = 0x0,
+    R32G32B32A32_SINT           = 0x1,
+    R32G32B32A32_UINT           = 0x2,
+    R32G32B32X32_FLOAT          = 0x6,
+    R32G32B32A32_SSCALED        = 0x7,
+    R32G32B32A32_USCALED        = 0x8,
+    R32G32B32_FLOAT             = 0x40,
+    R32G32B32_SINT              = 0x41,
+    R32G32B32_UINT              = 0x42,
+    R32G32B32_SSCALED           = 0x45,
+    R32G32B32_USCALED           = 0x46,
+    R16G16B16A16_UNORM          = 0x80,
+    R16G16B16A16_SNORM          = 0x81,
+    R16G16B16A16_SINT           = 0x82,
+    R16G16B16A16_UINT           = 0x83,
+    R16G16B16A16_FLOAT          = 0x84,
+    R32G32_FLOAT                = 0x85,
+    R32G32_SINT                 = 0x86,
+    R32G32_UINT                 = 0x87,
+    R32_FLOAT_X8X24_TYPELESS    = 0x88,
+    X32_TYPELESS_G8X24_UINT     = 0x89,
+    L32A32_FLOAT                = 0x8A,
+    R16G16B16X16_UNORM          = 0x8E,
+    R16G16B16X16_FLOAT          = 0x8F,
+    L32X32_FLOAT                = 0x91,
+    I32X32_FLOAT                = 0x92,
+    R16G16B16A16_SSCALED        = 0x93,
+    R16G16B16A16_USCALED        = 0x94,
+    R32G32_SSCALED              = 0x95,
+    R32G32_USCALED              = 0x96,
+    B8G8R8A8_UNORM              = 0xC0,
+    B8G8R8A8_UNORM_SRGB         = 0xC1,
+    R10G10B10A2_UNORM           = 0xC2,
+    R10G10B10A2_UNORM_SRGB      = 0xC3,
+    R10G10B10A2_UINT            = 0xC4,
+    R8G8B8A8_UNORM              = 0xC7,
+    R8G8B8A8_UNORM_SRGB         = 0xC8,
+    R8G8B8A8_SNORM              = 0xC9,
+    R8G8B8A8_SINT               = 0xCA,
+    R8G8B8A8_UINT               = 0xCB,
+    R16G16_UNORM                = 0xCC,
+    R16G16_SNORM                = 0xCD,
+    R16G16_SINT                 = 0xCE,
+    R16G16_UINT                 = 0xCF,
+    R16G16_FLOAT                = 0xD0,
+    B10G10R10A2_UNORM           = 0xD1,
+    B10G10R10A2_UNORM_SRGB      = 0xD2,
+    R11G11B10_FLOAT             = 0xD3,
+    R10G10B10_FLOAT_A2_UNORM    = 0xD5,
+    R32_SINT                    = 0xD6,
+    R32_UINT                    = 0xD7,
+    R32_FLOAT                   = 0xD8,
+    R24_UNORM_X8_TYPELESS       = 0xD9,
+    X24_TYPELESS_G8_UINT        = 0xDA,
+    L32_UNORM                   = 0xDD,
+    L16A16_UNORM                = 0xDF,
+    I24X8_UNORM                 = 0xE0,
+    L24X8_UNORM                 = 0xE1,
+    I32_FLOAT                   = 0xE3,
+    L32_FLOAT                   = 0xE4,
+    A32_FLOAT                   = 0xE5,
+    B8G8R8X8_UNORM              = 0xE9,
+    B8G8R8X8_UNORM_SRGB         = 0xEA,
+    R8G8B8X8_UNORM              = 0xEB,
+    R8G8B8X8_UNORM_SRGB         = 0xEC,
+    R9G9B9E5_SHAREDEXP          = 0xED,
+    B10G10R10X2_UNORM           = 0xEE,
+    L16A16_FLOAT                = 0xF0,
+    R10G10B10X2_USCALED         = 0xF3,
+    R8G8B8A8_SSCALED            = 0xF4,
+    R8G8B8A8_USCALED            = 0xF5,
+    R16G16_SSCALED              = 0xF6,
+    R16G16_USCALED              = 0xF7,
+    R32_SSCALED                 = 0xF8,
+    R32_USCALED                 = 0xF9,
+    B5G6R5_UNORM                = 0x100,
+    B5G6R5_UNORM_SRGB           = 0x101,
+    B5G5R5A1_UNORM              = 0x102,
+    B5G5R5A1_UNORM_SRGB         = 0x103,
+    B4G4R4A4_UNORM              = 0x104,
+    B4G4R4A4_UNORM_SRGB         = 0x105,
+    R8G8_UNORM                  = 0x106,
+    R8G8_SNORM                  = 0x107,
+    R8G8_SINT                   = 0x108,
+    R8G8_UINT                   = 0x109,
+    R16_UNORM                   = 0x10A,
+    R16_SNORM                   = 0x10B,
+    R16_SINT                    = 0x10C,
+    R16_UINT                    = 0x10D,
+    R16_FLOAT                   = 0x10E,
+    I16_UNORM                   = 0x111,
+    L16_UNORM                   = 0x112,
+    A16_UNORM                   = 0x113,
+    L8A8_UNORM                  = 0x114,
+    I16_FLOAT                   = 0x115,
+    L16_FLOAT                   = 0x116,
+    A16_FLOAT                   = 0x117,
+    L8A8_UNORM_SRGB             = 0x118,
+    B5G5R5X1_UNORM              = 0x11A,
+    B5G5R5X1_UNORM_SRGB         = 0x11B,
+    R8G8_SSCALED                = 0x11C,
+    R8G8_USCALED                = 0x11D,
+    R16_SSCALED                 = 0x11E,
+    R16_USCALED                 = 0x11F,
+    A1B5G5R5_UNORM              = 0x124,
+    A4B4G4R4_UNORM              = 0x125,
+    L8A8_UINT                   = 0x126,
+    L8A8_SINT                   = 0x127,
+    R8_UNORM                    = 0x140,
+    R8_SNORM                    = 0x141,
+    R8_SINT                     = 0x142,
+    R8_UINT                     = 0x143,
+    A8_UNORM                    = 0x144,
+    I8_UNORM                    = 0x145,
+    L8_UNORM                    = 0x146,
+    R8_SSCALED                  = 0x149,
+    R8_USCALED                  = 0x14A,
+    L8_UNORM_SRGB               = 0x14C,
+    L8_UINT                     = 0x152,
+    L8_SINT                     = 0x153,
+    I8_UINT                     = 0x154,
+    I8_SINT                     = 0x155,
+    YCRCB_SWAPUVY               = 0x183,
+    BC1_UNORM                   = 0x186,
+    BC2_UNORM                   = 0x187,
+    BC3_UNORM                   = 0x188,
+    BC4_UNORM                   = 0x189,
+    BC5_UNORM                   = 0x18A,
+    BC1_UNORM_SRGB              = 0x18B,
+    BC2_UNORM_SRGB              = 0x18C,
+    BC3_UNORM_SRGB              = 0x18D,
+    YCRCB_SWAPUV                = 0x18F,
+    R8G8B8_UNORM                = 0x193,
+    R8G8B8_SNORM                = 0x194,
+    R8G8B8_SSCALED              = 0x195,
+    R8G8B8_USCALED              = 0x196,
+    BC4_SNORM                   = 0x199,
+    BC5_SNORM                   = 0x19A,
+    R16G16B16_FLOAT             = 0x19B,
+    R16G16B16_UNORM             = 0x19C,
+    R16G16B16_SNORM             = 0x19D,
+    R16G16B16_SSCALED           = 0x19E,
+    R16G16B16_USCALED           = 0x19F,
+    BC6H_SF16                   = 0x1A1,
+    BC7_UNORM                   = 0x1A2,
+    BC7_UNORM_SRGB              = 0x1A3,
+    BC6H_UF16                   = 0x1A4,
+    R8G8B8_UNORM_SRGB           = 0x1A8,
+    R16G16B16_UINT              = 0x1B0,
+    R16G16B16_SINT              = 0x1B1,
+    R10G10B10A2_SNORM           = 0x1B3,
+    R10G10B10A2_USCALED         = 0x1B4,
+    R10G10B10A2_SSCALED         = 0x1B5,
+    R10G10B10A2_SINT            = 0x1B6,
+    B10G10R10A2_SNORM           = 0x1B7,
+    B10G10R10A2_USCALED         = 0x1B8,
+    B10G10R10A2_SSCALED         = 0x1B9,
+    B10G10R10A2_UINT            = 0x1BA,
+    B10G10R10A2_SINT            = 0x1BB,
+    R8G8B8_UINT                 = 0x1C8,
+    R8G8B8_SINT                 = 0x1C9,
+    RAW                         = 0x1FF,
+    NUM_SWR_FORMATS             = 0x200,
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -225,37 +224,35 @@ enum SWR_FORMAT
 struct SWR_FORMAT_INFO
 {
     const char* name;
-    SWR_TYPE type[4];
-    uint32_t defaults[4];
-    uint32_t swizzle[4]; ///< swizzle per component
-    uint32_t bpc[4];     ///< bits per component
-    uint32_t bpp;        ///< bits per pixel
-    uint32_t Bpp;        ///< bytes per pixel
-    uint32_t numComps;   ///< number of components
-    bool isSRGB;
-    bool isBC;
-    bool isSubsampled;
-    bool isLuminance;
-    bool isNormalized[4];
-    float toFloat[4];
-    uint32_t bcWidth;
-    uint32_t bcHeight;
+    SWR_TYPE    type[4];
+    uint32_t    defaults[4];
+    uint32_t    swizzle[4]; ///< swizzle per component
+    uint32_t    bpc[4];     ///< bits per component
+    uint32_t    bpp;        ///< bits per pixel
+    uint32_t    Bpp;        ///< bytes per pixel
+    uint32_t    numComps;   ///< number of components
+    bool        isSRGB;
+    bool        isBC;
+    bool        isSubsampled;
+    bool        isLuminance;
+    bool        isNormalized[4];
+    float       toFloat[4];
+    uint32_t    bcWidth;
+    uint32_t    bcHeight;
 };
 
-extern const SWR_FORMAT_INFO gFormatInfo[];
+extern const SWR_FORMAT_INFO gFormatInfo[NUM_SWR_FORMATS];
 
 //////////////////////////////////////////////////////////////////////////
 /// @brief Retrieves format info struct for given format.
 /// @param format - SWR format
 INLINE const SWR_FORMAT_INFO& GetFormatInfo(SWR_FORMAT format)
 {
-    if (format == RAW)
-    {
-        format = NUM_SWR_FORMATS;
-    }
     SWR_ASSERT(format <= NUM_SWR_FORMATS, "Invalid Surface Format: %d", format);
+    SWR_ASSERT(gFormatInfo[format].name != nullptr, "Invalid Surface Format: %d", format);
     return gFormatInfo[format];
 }
 
 // lookup table for unorm8 srgb -> float conversion
 extern const uint32_t srgb8Table[256];
+
index ba36498..d55ee1f 100644 (file)
@@ -1,6 +1,5 @@
-
 /****************************************************************************
-* Copyright (C) 2014-2015 Intel Corporation.   All Rights Reserved.
+* Copyright (C) 2016 Intel Corporation.   All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
-* 
+*
 * @file format_traits.h
-* 
-* @brief auto-generated file
-* 
+*
+* @brief Format Traits.  auto-generated file
+*
 * DO NOT EDIT
-* 
+*
 ******************************************************************************/
-
 #pragma once
 
 #include "format_types.h"
 #include "utils.h"
 
-
 //////////////////////////////////////////////////////////////////////////
 /// FormatSwizzle - Component swizzle selects
 //////////////////////////////////////////////////////////////////////////
@@ -66,8 +63,8 @@ struct FormatTraits :
     static const bool isSRGB{ false };
     static const bool isBC{ false };
     static const bool isSubsampled{ false };
-    static const uint32_t bcWidth{1};
-    static const uint32_t bcHeight{1};
+    static const uint32_t bcWidth{ 1 };
+    static const uint32_t bcHeight{ 1 };
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -88,7 +85,7 @@ template<> struct FormatTraits<R32G32B32A32_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32_32 TransposeT;
+    typedef Transpose32_32_32_32    TransposeT;
     typedef Format4<32, 32, 32, 32> FormatT;
 };
 
@@ -110,7 +107,7 @@ template<> struct FormatTraits<R32G32B32A32_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32_32 TransposeT;
+    typedef Transpose32_32_32_32    TransposeT;
     typedef Format4<32, 32, 32, 32> FormatT;
 };
 
@@ -132,7 +129,7 @@ template<> struct FormatTraits<R32G32B32A32_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32_32 TransposeT;
+    typedef Transpose32_32_32_32    TransposeT;
     typedef Format4<32, 32, 32, 32> FormatT;
 };
 
@@ -154,7 +151,7 @@ template<> struct FormatTraits<R32G32B32X32_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32_32 TransposeT;
+    typedef Transpose32_32_32_32    TransposeT;
     typedef Format4<32, 32, 32, 32> FormatT;
 };
 
@@ -176,7 +173,7 @@ template<> struct FormatTraits<R32G32B32A32_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32_32 TransposeT;
+    typedef Transpose32_32_32_32    TransposeT;
     typedef Format4<32, 32, 32, 32> FormatT;
 };
 
@@ -198,7 +195,7 @@ template<> struct FormatTraits<R32G32B32A32_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32_32 TransposeT;
+    typedef Transpose32_32_32_32    TransposeT;
     typedef Format4<32, 32, 32, 32> FormatT;
 };
 
@@ -220,7 +217,7 @@ template<> struct FormatTraits<R32G32B32_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32 TransposeT;
+    typedef Transpose32_32_32   TransposeT;
     typedef Format3<32, 32, 32> FormatT;
 };
 
@@ -242,7 +239,7 @@ template<> struct FormatTraits<R32G32B32_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32 TransposeT;
+    typedef Transpose32_32_32   TransposeT;
     typedef Format3<32, 32, 32> FormatT;
 };
 
@@ -264,7 +261,7 @@ template<> struct FormatTraits<R32G32B32_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32 TransposeT;
+    typedef Transpose32_32_32   TransposeT;
     typedef Format3<32, 32, 32> FormatT;
 };
 
@@ -286,7 +283,7 @@ template<> struct FormatTraits<R32G32B32_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32 TransposeT;
+    typedef Transpose32_32_32   TransposeT;
     typedef Format3<32, 32, 32> FormatT;
 };
 
@@ -308,7 +305,7 @@ template<> struct FormatTraits<R32G32B32_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32_32 TransposeT;
+    typedef Transpose32_32_32   TransposeT;
     typedef Format3<32, 32, 32> FormatT;
 };
 
@@ -330,7 +327,7 @@ template<> struct FormatTraits<R16G16B16A16_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16_16 TransposeT;
+    typedef Transpose16_16_16_16    TransposeT;
     typedef Format4<16, 16, 16, 16> FormatT;
 };
 
@@ -352,7 +349,7 @@ template<> struct FormatTraits<R16G16B16A16_SNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16_16 TransposeT;
+    typedef Transpose16_16_16_16    TransposeT;
     typedef Format4<16, 16, 16, 16> FormatT;
 };
 
@@ -374,7 +371,7 @@ template<> struct FormatTraits<R16G16B16A16_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16_16 TransposeT;
+    typedef Transpose16_16_16_16    TransposeT;
     typedef Format4<16, 16, 16, 16> FormatT;
 };
 
@@ -396,7 +393,7 @@ template<> struct FormatTraits<R16G16B16A16_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16_16 TransposeT;
+    typedef Transpose16_16_16_16    TransposeT;
     typedef Format4<16, 16, 16, 16> FormatT;
 };
 
@@ -418,7 +415,7 @@ template<> struct FormatTraits<R16G16B16A16_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16_16 TransposeT;
+    typedef Transpose16_16_16_16    TransposeT;
     typedef Format4<16, 16, 16, 16> FormatT;
 };
 
@@ -440,7 +437,7 @@ template<> struct FormatTraits<R32G32_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -462,7 +459,7 @@ template<> struct FormatTraits<R32G32_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -484,7 +481,7 @@ template<> struct FormatTraits<R32G32_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -506,7 +503,7 @@ template<> struct FormatTraits<R32_FLOAT_X8X24_TYPELESS> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -528,7 +525,7 @@ template<> struct FormatTraits<X32_TYPELESS_G8X24_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -550,7 +547,7 @@ template<> struct FormatTraits<L32A32_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -572,7 +569,7 @@ template<> struct FormatTraits<R16G16B16X16_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16_16 TransposeT;
+    typedef Transpose16_16_16_16    TransposeT;
     typedef Format4<16, 16, 16, 16> FormatT;
 };
 
@@ -594,7 +591,7 @@ template<> struct FormatTraits<R16G16B16X16_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16_16 TransposeT;
+    typedef Transpose16_16_16_16    TransposeT;
     typedef Format4<16, 16, 16, 16> FormatT;
 };
 
@@ -616,7 +613,7 @@ template<> struct FormatTraits<L32X32_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -638,7 +635,7 @@ template<> struct FormatTraits<I32X32_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -660,7 +657,7 @@ template<> struct FormatTraits<R16G16B16A16_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16_16 TransposeT;
+    typedef Transpose16_16_16_16    TransposeT;
     typedef Format4<16, 16, 16, 16> FormatT;
 };
 
@@ -682,7 +679,7 @@ template<> struct FormatTraits<R16G16B16A16_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16_16 TransposeT;
+    typedef Transpose16_16_16_16    TransposeT;
     typedef Format4<16, 16, 16, 16> FormatT;
 };
 
@@ -704,7 +701,7 @@ template<> struct FormatTraits<R32G32_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -726,29 +723,7 @@ template<> struct FormatTraits<R32G32_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose32_32 TransposeT;
-    typedef Format2<32, 32> FormatT;
-};
-
-//////////////////////////////////////////////////////////////////////////
-/// FormatTraits<R32_FLOAT_X8X24_TYPELESS_LD> - Format traits specialization for R32_FLOAT_X8X24_TYPELESS_LD
-//////////////////////////////////////////////////////////////////////////
-template<> struct FormatTraits<R32_FLOAT_X8X24_TYPELESS_LD> :
-    ComponentTraits<SWR_TYPE_FLOAT, 32, SWR_TYPE_UNUSED, 32>,
-    FormatSwizzle<0, 1>,
-    Defaults<0, 0, 0, 0x3f800000>
-{
-    static const uint32_t bpp{ 64 };
-    static const uint32_t numComps{ 1 };
-    static const bool hasAlpha{ false };
-    static const uint32_t alphaComp{ 3 };
-    static const bool isSRGB{ false };
-    static const bool isBC{ false };
-    static const bool isSubsampled{ false };
-    static const uint32_t bcWidth{ 1 };
-    static const uint32_t bcHeight{ 1 };
-
-    typedef Transpose32_32 TransposeT;
+    typedef Transpose32_32  TransposeT;
     typedef Format2<32, 32> FormatT;
 };
 
@@ -770,7 +745,7 @@ template<> struct FormatTraits<B8G8R8A8_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -792,7 +767,7 @@ template<> struct FormatTraits<B8G8R8A8_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -814,7 +789,7 @@ template<> struct FormatTraits<R10G10B10A2_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -836,7 +811,7 @@ template<> struct FormatTraits<R10G10B10A2_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -858,7 +833,7 @@ template<> struct FormatTraits<R10G10B10A2_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -880,7 +855,7 @@ template<> struct FormatTraits<R8G8B8A8_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -902,7 +877,7 @@ template<> struct FormatTraits<R8G8B8A8_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -924,7 +899,7 @@ template<> struct FormatTraits<R8G8B8A8_SNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -946,7 +921,7 @@ template<> struct FormatTraits<R8G8B8A8_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -968,7 +943,7 @@ template<> struct FormatTraits<R8G8B8A8_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -990,7 +965,7 @@ template<> struct FormatTraits<R16G16_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16 TransposeT;
+    typedef Transpose16_16  TransposeT;
     typedef Format2<16, 16> FormatT;
 };
 
@@ -1012,7 +987,7 @@ template<> struct FormatTraits<R16G16_SNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16 TransposeT;
+    typedef Transpose16_16  TransposeT;
     typedef Format2<16, 16> FormatT;
 };
 
@@ -1034,7 +1009,7 @@ template<> struct FormatTraits<R16G16_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16 TransposeT;
+    typedef Transpose16_16  TransposeT;
     typedef Format2<16, 16> FormatT;
 };
 
@@ -1056,7 +1031,7 @@ template<> struct FormatTraits<R16G16_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16 TransposeT;
+    typedef Transpose16_16  TransposeT;
     typedef Format2<16, 16> FormatT;
 };
 
@@ -1078,7 +1053,7 @@ template<> struct FormatTraits<R16G16_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16 TransposeT;
+    typedef Transpose16_16  TransposeT;
     typedef Format2<16, 16> FormatT;
 };
 
@@ -1100,7 +1075,7 @@ template<> struct FormatTraits<B10G10R10A2_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -1122,7 +1097,7 @@ template<> struct FormatTraits<B10G10R10A2_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -1144,11 +1119,33 @@ template<> struct FormatTraits<R11G11B10_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose11_11_10 TransposeT;
+    typedef Transpose11_11_10   TransposeT;
     typedef Format3<11, 11, 10> FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
+/// FormatTraits<R10G10B10_FLOAT_A2_UNORM> - Format traits specialization for R10G10B10_FLOAT_A2_UNORM
+//////////////////////////////////////////////////////////////////////////
+template<> struct FormatTraits<R10G10B10_FLOAT_A2_UNORM> :
+    ComponentTraits<SWR_TYPE_FLOAT, 10, SWR_TYPE_FLOAT, 10, SWR_TYPE_FLOAT, 10, SWR_TYPE_FLOAT, 2>,
+    FormatSwizzle<0, 1, 2, 3>,
+    Defaults<0, 0, 0, 0x3f800000>
+{
+    static const uint32_t bpp{ 32 };
+    static const uint32_t numComps{ 4 };
+    static const bool hasAlpha{ true };
+    static const uint32_t alphaComp{ 3 };
+    static const bool isSRGB{ false };
+    static const bool isBC{ false };
+    static const bool isSubsampled{ false };
+    static const uint32_t bcWidth{ 1 };
+    static const uint32_t bcHeight{ 1 };
+
+    typedef Transpose10_10_10_2    TransposeT;
+    typedef Format4<10, 10, 10, 2> FormatT;
+};
+
+//////////////////////////////////////////////////////////////////////////
 /// FormatTraits<R32_SINT> - Format traits specialization for R32_SINT
 //////////////////////////////////////////////////////////////////////////
 template<> struct FormatTraits<R32_SINT> :
@@ -1167,7 +1164,7 @@ template<> struct FormatTraits<R32_SINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<32> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1189,7 +1186,7 @@ template<> struct FormatTraits<R32_UINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<32> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1211,7 +1208,7 @@ template<> struct FormatTraits<R32_FLOAT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<32> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1233,7 +1230,7 @@ template<> struct FormatTraits<R24_UNORM_X8_TYPELESS> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<24> FormatT;
+    typedef Format1<24>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1255,21 +1252,21 @@ template<> struct FormatTraits<X24_TYPELESS_G8_UINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<32> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
-/// FormatTraits<R24_UNORM_X8_TYPELESS_LD> - Format traits specialization for R24_UNORM_X8_TYPELESS_LD
+/// FormatTraits<L32_UNORM> - Format traits specialization for L32_UNORM
 //////////////////////////////////////////////////////////////////////////
-template<> struct FormatTraits<R24_UNORM_X8_TYPELESS_LD> :
-    ComponentTraits<SWR_TYPE_UNORM, 24>,
+template<> struct FormatTraits<L32_UNORM> :
+    ComponentTraits<SWR_TYPE_UNORM, 32>,
     FormatSwizzle<0>,
     Defaults<0, 0, 0, 0x3f800000>
 {
     static const uint32_t bpp{ 32 };
     static const uint32_t numComps{ 1 };
     static const bool hasAlpha{ false };
-    static const uint32_t alphaComp{ 3 };
+    static const uint32_t alphaComp{ 0 };
     static const bool isSRGB{ false };
     static const bool isBC{ false };
     static const bool isSubsampled{ false };
@@ -1277,7 +1274,7 @@ template<> struct FormatTraits<R24_UNORM_X8_TYPELESS_LD> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<24> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1298,7 +1295,7 @@ template<> struct FormatTraits<L16A16_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16 TransposeT;
+    typedef Transpose16_16  TransposeT;
     typedef Format2<16, 16> FormatT;
 };
 
@@ -1320,7 +1317,7 @@ template<> struct FormatTraits<I24X8_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose24_8 TransposeT;
+    typedef Transpose24_8  TransposeT;
     typedef Format2<24, 8> FormatT;
 };
 
@@ -1342,7 +1339,7 @@ template<> struct FormatTraits<L24X8_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose24_8 TransposeT;
+    typedef Transpose24_8  TransposeT;
     typedef Format2<24, 8> FormatT;
 };
 
@@ -1365,7 +1362,7 @@ template<> struct FormatTraits<I32_FLOAT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<32> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1387,7 +1384,7 @@ template<> struct FormatTraits<L32_FLOAT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<32> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1409,7 +1406,7 @@ template<> struct FormatTraits<A32_FLOAT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<32> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1430,7 +1427,7 @@ template<> struct FormatTraits<B8G8R8X8_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -1452,7 +1449,7 @@ template<> struct FormatTraits<B8G8R8X8_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -1474,7 +1471,7 @@ template<> struct FormatTraits<R8G8B8X8_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -1496,7 +1493,7 @@ template<> struct FormatTraits<R8G8B8X8_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -1518,7 +1515,7 @@ template<> struct FormatTraits<R9G9B9E5_SHAREDEXP> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose9_9_9_5 TransposeT;
+    typedef Transpose9_9_9_5    TransposeT;
     typedef Format4<9, 9, 9, 5> FormatT;
 };
 
@@ -1540,7 +1537,7 @@ template<> struct FormatTraits<B10G10R10X2_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -1562,7 +1559,7 @@ template<> struct FormatTraits<L16A16_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16 TransposeT;
+    typedef Transpose16_16  TransposeT;
     typedef Format2<16, 16> FormatT;
 };
 
@@ -1584,7 +1581,7 @@ template<> struct FormatTraits<R10G10B10X2_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -1606,7 +1603,7 @@ template<> struct FormatTraits<R8G8B8A8_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -1628,7 +1625,7 @@ template<> struct FormatTraits<R8G8B8A8_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -1650,7 +1647,7 @@ template<> struct FormatTraits<R16G16_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16 TransposeT;
+    typedef Transpose16_16  TransposeT;
     typedef Format2<16, 16> FormatT;
 };
 
@@ -1672,7 +1669,7 @@ template<> struct FormatTraits<R16G16_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16 TransposeT;
+    typedef Transpose16_16  TransposeT;
     typedef Format2<16, 16> FormatT;
 };
 
@@ -1695,7 +1692,7 @@ template<> struct FormatTraits<R32_SSCALED> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<32> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1717,7 +1714,7 @@ template<> struct FormatTraits<R32_USCALED> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<32> TransposeT;
-    typedef Format1<32> FormatT;
+    typedef Format1<32>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1738,7 +1735,7 @@ template<> struct FormatTraits<B5G6R5_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose5_6_5 TransposeT;
+    typedef Transpose5_6_5   TransposeT;
     typedef Format3<5, 6, 5> FormatT;
 };
 
@@ -1760,7 +1757,7 @@ template<> struct FormatTraits<B5G6R5_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose5_6_5 TransposeT;
+    typedef Transpose5_6_5   TransposeT;
     typedef Format3<5, 6, 5> FormatT;
 };
 
@@ -1782,7 +1779,7 @@ template<> struct FormatTraits<B5G5R5A1_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose5_5_5_1 TransposeT;
+    typedef Transpose5_5_5_1    TransposeT;
     typedef Format4<5, 5, 5, 1> FormatT;
 };
 
@@ -1804,7 +1801,7 @@ template<> struct FormatTraits<B5G5R5A1_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose5_5_5_1 TransposeT;
+    typedef Transpose5_5_5_1    TransposeT;
     typedef Format4<5, 5, 5, 1> FormatT;
 };
 
@@ -1826,7 +1823,7 @@ template<> struct FormatTraits<B4G4R4A4_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose4_4_4_4 TransposeT;
+    typedef Transpose4_4_4_4    TransposeT;
     typedef Format4<4, 4, 4, 4> FormatT;
 };
 
@@ -1848,7 +1845,7 @@ template<> struct FormatTraits<B4G4R4A4_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose4_4_4_4 TransposeT;
+    typedef Transpose4_4_4_4    TransposeT;
     typedef Format4<4, 4, 4, 4> FormatT;
 };
 
@@ -1870,7 +1867,7 @@ template<> struct FormatTraits<R8G8_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -1892,7 +1889,7 @@ template<> struct FormatTraits<R8G8_SNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -1914,7 +1911,7 @@ template<> struct FormatTraits<R8G8_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -1936,7 +1933,7 @@ template<> struct FormatTraits<R8G8_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -1959,7 +1956,7 @@ template<> struct FormatTraits<R16_UNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -1981,7 +1978,7 @@ template<> struct FormatTraits<R16_SNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2003,7 +2000,7 @@ template<> struct FormatTraits<R16_SINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2025,7 +2022,7 @@ template<> struct FormatTraits<R16_UINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2047,7 +2044,7 @@ template<> struct FormatTraits<R16_FLOAT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2069,7 +2066,7 @@ template<> struct FormatTraits<I16_UNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2091,7 +2088,7 @@ template<> struct FormatTraits<L16_UNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2113,7 +2110,7 @@ template<> struct FormatTraits<A16_UNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2134,7 +2131,7 @@ template<> struct FormatTraits<L8A8_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -2157,7 +2154,7 @@ template<> struct FormatTraits<I16_FLOAT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2179,7 +2176,7 @@ template<> struct FormatTraits<L16_FLOAT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2201,7 +2198,7 @@ template<> struct FormatTraits<A16_FLOAT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2222,7 +2219,7 @@ template<> struct FormatTraits<L8A8_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -2244,7 +2241,7 @@ template<> struct FormatTraits<B5G5R5X1_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose5_5_5_1 TransposeT;
+    typedef Transpose5_5_5_1    TransposeT;
     typedef Format4<5, 5, 5, 1> FormatT;
 };
 
@@ -2266,7 +2263,7 @@ template<> struct FormatTraits<B5G5R5X1_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose5_5_5_1 TransposeT;
+    typedef Transpose5_5_5_1    TransposeT;
     typedef Format4<5, 5, 5, 1> FormatT;
 };
 
@@ -2288,7 +2285,7 @@ template<> struct FormatTraits<R8G8_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -2310,7 +2307,7 @@ template<> struct FormatTraits<R8G8_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -2333,7 +2330,7 @@ template<> struct FormatTraits<R16_SSCALED> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2355,7 +2352,51 @@ template<> struct FormatTraits<R16_USCALED> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<16> TransposeT;
-    typedef Format1<16> FormatT;
+    typedef Format1<16>                  FormatT;
+};
+
+//////////////////////////////////////////////////////////////////////////
+/// FormatTraits<A1B5G5R5_UNORM> - Format traits specialization for A1B5G5R5_UNORM
+//////////////////////////////////////////////////////////////////////////
+template<> struct FormatTraits<A1B5G5R5_UNORM> :
+    ComponentTraits<SWR_TYPE_UNORM, 1, SWR_TYPE_UNORM, 5, SWR_TYPE_UNORM, 5, SWR_TYPE_UNORM, 5>,
+    FormatSwizzle<3, 2, 1, 0>,
+    Defaults<0, 0, 0, 0x3f800000>
+{
+    static const uint32_t bpp{ 16 };
+    static const uint32_t numComps{ 4 };
+    static const bool hasAlpha{ true };
+    static const uint32_t alphaComp{ 3 };
+    static const bool isSRGB{ false };
+    static const bool isBC{ false };
+    static const bool isSubsampled{ false };
+    static const uint32_t bcWidth{ 1 };
+    static const uint32_t bcHeight{ 1 };
+
+    typedef Transpose1_5_5_5    TransposeT;
+    typedef Format4<1, 5, 5, 5> FormatT;
+};
+
+//////////////////////////////////////////////////////////////////////////
+/// FormatTraits<A4B4G4R4_UNORM> - Format traits specialization for A4B4G4R4_UNORM
+//////////////////////////////////////////////////////////////////////////
+template<> struct FormatTraits<A4B4G4R4_UNORM> :
+    ComponentTraits<SWR_TYPE_UNORM, 4, SWR_TYPE_UNORM, 4, SWR_TYPE_UNORM, 4, SWR_TYPE_UNORM, 4>,
+    FormatSwizzle<3, 2, 1, 0>,
+    Defaults<0, 0, 0, 0x3f800000>
+{
+    static const uint32_t bpp{ 16 };
+    static const uint32_t numComps{ 4 };
+    static const bool hasAlpha{ true };
+    static const uint32_t alphaComp{ 3 };
+    static const bool isSRGB{ false };
+    static const bool isBC{ false };
+    static const bool isSubsampled{ false };
+    static const uint32_t bcWidth{ 1 };
+    static const uint32_t bcHeight{ 1 };
+
+    typedef Transpose4_4_4_4    TransposeT;
+    typedef Format4<4, 4, 4, 4> FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2376,7 +2417,7 @@ template<> struct FormatTraits<L8A8_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -2398,7 +2439,7 @@ template<> struct FormatTraits<L8A8_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8 TransposeT;
+    typedef Transpose8_8  TransposeT;
     typedef Format2<8, 8> FormatT;
 };
 
@@ -2421,7 +2462,7 @@ template<> struct FormatTraits<R8_UNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2443,7 +2484,7 @@ template<> struct FormatTraits<R8_SNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2465,7 +2506,7 @@ template<> struct FormatTraits<R8_SINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2487,7 +2528,7 @@ template<> struct FormatTraits<R8_UINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2509,7 +2550,7 @@ template<> struct FormatTraits<A8_UNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2531,7 +2572,7 @@ template<> struct FormatTraits<I8_UNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2553,7 +2594,7 @@ template<> struct FormatTraits<L8_UNORM> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2575,7 +2616,7 @@ template<> struct FormatTraits<R8_SSCALED> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2597,7 +2638,7 @@ template<> struct FormatTraits<R8_USCALED> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2619,7 +2660,7 @@ template<> struct FormatTraits<L8_UNORM_SRGB> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2641,7 +2682,7 @@ template<> struct FormatTraits<L8_UINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2663,7 +2704,7 @@ template<> struct FormatTraits<L8_SINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2685,7 +2726,7 @@ template<> struct FormatTraits<I8_UINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2707,7 +2748,7 @@ template<> struct FormatTraits<I8_SINT> :
     static const uint32_t bcHeight{ 1 };
 
     typedef TransposeSingleComponent<8> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2728,7 +2769,7 @@ template<> struct FormatTraits<YCRCB_SWAPUVY> :
     static const uint32_t bcWidth{ 2 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -2750,8 +2791,8 @@ template<> struct FormatTraits<BC1_UNORM> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<64> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2772,8 +2813,8 @@ template<> struct FormatTraits<BC2_UNORM> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2794,8 +2835,8 @@ template<> struct FormatTraits<BC3_UNORM> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2816,8 +2857,8 @@ template<> struct FormatTraits<BC4_UNORM> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<64> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2838,8 +2879,8 @@ template<> struct FormatTraits<BC5_UNORM> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2860,8 +2901,8 @@ template<> struct FormatTraits<BC1_UNORM_SRGB> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<64> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2882,8 +2923,8 @@ template<> struct FormatTraits<BC2_UNORM_SRGB> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2904,8 +2945,8 @@ template<> struct FormatTraits<BC3_UNORM_SRGB> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -2926,7 +2967,7 @@ template<> struct FormatTraits<YCRCB_SWAPUV> :
     static const uint32_t bcWidth{ 2 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8_8 TransposeT;
+    typedef Transpose8_8_8_8    TransposeT;
     typedef Format4<8, 8, 8, 8> FormatT;
 };
 
@@ -2948,7 +2989,7 @@ template<> struct FormatTraits<R8G8B8_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8 TransposeT;
+    typedef Transpose8_8_8   TransposeT;
     typedef Format3<8, 8, 8> FormatT;
 };
 
@@ -2970,7 +3011,7 @@ template<> struct FormatTraits<R8G8B8_SNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8 TransposeT;
+    typedef Transpose8_8_8   TransposeT;
     typedef Format3<8, 8, 8> FormatT;
 };
 
@@ -2992,7 +3033,7 @@ template<> struct FormatTraits<R8G8B8_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8 TransposeT;
+    typedef Transpose8_8_8   TransposeT;
     typedef Format3<8, 8, 8> FormatT;
 };
 
@@ -3014,7 +3055,7 @@ template<> struct FormatTraits<R8G8B8_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8 TransposeT;
+    typedef Transpose8_8_8   TransposeT;
     typedef Format3<8, 8, 8> FormatT;
 };
 
@@ -3036,8 +3077,8 @@ template<> struct FormatTraits<BC4_SNORM> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<64> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -3058,8 +3099,8 @@ template<> struct FormatTraits<BC5_SNORM> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -3080,7 +3121,7 @@ template<> struct FormatTraits<R16G16B16_FLOAT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16 TransposeT;
+    typedef Transpose16_16_16   TransposeT;
     typedef Format3<16, 16, 16> FormatT;
 };
 
@@ -3102,7 +3143,7 @@ template<> struct FormatTraits<R16G16B16_UNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16 TransposeT;
+    typedef Transpose16_16_16   TransposeT;
     typedef Format3<16, 16, 16> FormatT;
 };
 
@@ -3124,7 +3165,7 @@ template<> struct FormatTraits<R16G16B16_SNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16 TransposeT;
+    typedef Transpose16_16_16   TransposeT;
     typedef Format3<16, 16, 16> FormatT;
 };
 
@@ -3146,7 +3187,7 @@ template<> struct FormatTraits<R16G16B16_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16 TransposeT;
+    typedef Transpose16_16_16   TransposeT;
     typedef Format3<16, 16, 16> FormatT;
 };
 
@@ -3168,7 +3209,7 @@ template<> struct FormatTraits<R16G16B16_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16 TransposeT;
+    typedef Transpose16_16_16   TransposeT;
     typedef Format3<16, 16, 16> FormatT;
 };
 
@@ -3190,8 +3231,8 @@ template<> struct FormatTraits<BC6H_SF16> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -3212,8 +3253,8 @@ template<> struct FormatTraits<BC7_UNORM> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -3234,8 +3275,8 @@ template<> struct FormatTraits<BC7_UNORM_SRGB> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -3256,8 +3297,8 @@ template<> struct FormatTraits<BC6H_UF16> :
     static const uint32_t bcWidth{ 4 };
     static const uint32_t bcHeight{ 4 };
 
-    typedef TransposeSingleComponent<128> TransposeT;
-    typedef Format1<8> FormatT;
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -3278,7 +3319,7 @@ template<> struct FormatTraits<R8G8B8_UNORM_SRGB> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8 TransposeT;
+    typedef Transpose8_8_8   TransposeT;
     typedef Format3<8, 8, 8> FormatT;
 };
 
@@ -3300,7 +3341,7 @@ template<> struct FormatTraits<R16G16B16_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16 TransposeT;
+    typedef Transpose16_16_16   TransposeT;
     typedef Format3<16, 16, 16> FormatT;
 };
 
@@ -3322,7 +3363,7 @@ template<> struct FormatTraits<R16G16B16_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose16_16_16 TransposeT;
+    typedef Transpose16_16_16   TransposeT;
     typedef Format3<16, 16, 16> FormatT;
 };
 
@@ -3344,7 +3385,7 @@ template<> struct FormatTraits<R10G10B10A2_SNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -3366,7 +3407,7 @@ template<> struct FormatTraits<R10G10B10A2_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -3388,7 +3429,7 @@ template<> struct FormatTraits<R10G10B10A2_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -3410,7 +3451,7 @@ template<> struct FormatTraits<R10G10B10A2_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -3432,7 +3473,7 @@ template<> struct FormatTraits<B10G10R10A2_SNORM> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -3454,7 +3495,7 @@ template<> struct FormatTraits<B10G10R10A2_USCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -3476,7 +3517,7 @@ template<> struct FormatTraits<B10G10R10A2_SSCALED> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -3498,7 +3539,7 @@ template<> struct FormatTraits<B10G10R10A2_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -3520,7 +3561,7 @@ template<> struct FormatTraits<B10G10R10A2_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose10_10_10_2 TransposeT;
+    typedef Transpose10_10_10_2    TransposeT;
     typedef Format4<10, 10, 10, 2> FormatT;
 };
 
@@ -3542,7 +3583,7 @@ template<> struct FormatTraits<R8G8B8_UINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8 TransposeT;
+    typedef Transpose8_8_8   TransposeT;
     typedef Format3<8, 8, 8> FormatT;
 };
 
@@ -3564,7 +3605,28 @@ template<> struct FormatTraits<R8G8B8_SINT> :
     static const uint32_t bcWidth{ 1 };
     static const uint32_t bcHeight{ 1 };
 
-    typedef Transpose8_8_8 TransposeT;
+    typedef Transpose8_8_8   TransposeT;
     typedef Format3<8, 8, 8> FormatT;
 };
 
+//////////////////////////////////////////////////////////////////////////
+/// FormatTraits<RAW> - Format traits specialization for RAW
+//////////////////////////////////////////////////////////////////////////
+template<> struct FormatTraits<RAW> :
+    ComponentTraits<SWR_TYPE_UINT, 8>,
+    FormatSwizzle<0>,
+    Defaults<0, 0, 0, 0x1>
+{
+    static const uint32_t bpp{ 8 };
+    static const uint32_t numComps{ 1 };
+    static const bool hasAlpha{ false };
+    static const uint32_t alphaComp{ 3 };
+    static const bool isSRGB{ false };
+    static const bool isBC{ false };
+    static const bool isSubsampled{ false };
+    static const uint32_t bcWidth{ 1 };
+    static const uint32_t bcHeight{ 1 };
+
+    typedef TransposeSingleComponent<8> TransposeT;
+    typedef Format1<8>                  FormatT;
+};
index 0087892..96f061a 100644 (file)
@@ -769,6 +769,18 @@ struct Transpose5_5_5_1
 };
 
 //////////////////////////////////////////////////////////////////////////
+/// Transpose1_5_5_5
+//////////////////////////////////////////////////////////////////////////
+struct Transpose1_5_5_5
+{
+    //////////////////////////////////////////////////////////////////////////
+    /// @brief Performs an SOA to AOS conversion for packed 5_5_5_1 data.
+    /// @param pSrc - source data in SOA form
+    /// @param pDst - output data in AOS form
+    static void Transpose(const uint8_t* pSrc, uint8_t* pDst) = delete;
+};
+
+//////////////////////////////////////////////////////////////////////////
 /// Transpose10_10_10_2
 //////////////////////////////////////////////////////////////////////////
 struct Transpose10_10_10_2
index b790d35..c31459c 100644 (file)
@@ -581,13 +581,16 @@ INLINE static void ConvertPixelFromFloat(
     case R32G32_SINT: ConvertPixelFromFloat<R32G32_SINT>(pDst, srcPixel); break;
     case R32G32_UINT: ConvertPixelFromFloat<R32G32_UINT>(pDst, srcPixel); break;
     case R32_FLOAT_X8X24_TYPELESS: ConvertPixelFromFloat<R32_FLOAT_X8X24_TYPELESS>(pDst, srcPixel); break;
+    case X32_TYPELESS_G8X24_UINT: ConvertPixelFromFloat<X32_TYPELESS_G8X24_UINT>(pDst, srcPixel); break;
+    case L32A32_FLOAT: ConvertPixelFromFloat<L32A32_FLOAT>(pDst, srcPixel); break;
     case R16G16B16X16_UNORM: ConvertPixelFromFloat<R16G16B16X16_UNORM>(pDst, srcPixel); break;
     case R16G16B16X16_FLOAT: ConvertPixelFromFloat<R16G16B16X16_FLOAT>(pDst, srcPixel); break;
+    case L32X32_FLOAT: ConvertPixelFromFloat<L32X32_FLOAT>(pDst, srcPixel); break;
+    case I32X32_FLOAT: ConvertPixelFromFloat<I32X32_FLOAT>(pDst, srcPixel); break;
     case R16G16B16A16_SSCALED: ConvertPixelFromFloat<R16G16B16A16_SSCALED>(pDst, srcPixel); break;
     case R16G16B16A16_USCALED: ConvertPixelFromFloat<R16G16B16A16_USCALED>(pDst, srcPixel); break;
     case R32G32_SSCALED: ConvertPixelFromFloat<R32G32_SSCALED>(pDst, srcPixel); break;
     case R32G32_USCALED: ConvertPixelFromFloat<R32G32_USCALED>(pDst, srcPixel); break;
-    case R32_FLOAT_X8X24_TYPELESS_LD: ConvertPixelFromFloat<R32_FLOAT_X8X24_TYPELESS_LD>(pDst, srcPixel); break;
     case B8G8R8A8_UNORM: ConvertPixelFromFloat<B8G8R8A8_UNORM>(pDst, srcPixel); break;
     case B8G8R8A8_UNORM_SRGB: ConvertPixelFromFloat<B8G8R8A8_UNORM_SRGB>(pDst, srcPixel); break;
     case R10G10B10A2_UNORM: ConvertPixelFromFloat<R10G10B10A2_UNORM>(pDst, srcPixel); break;
@@ -606,11 +609,18 @@ INLINE static void ConvertPixelFromFloat(
     case B10G10R10A2_UNORM: ConvertPixelFromFloat<B10G10R10A2_UNORM>(pDst, srcPixel); break;
     case B10G10R10A2_UNORM_SRGB: ConvertPixelFromFloat<B10G10R10A2_UNORM_SRGB>(pDst, srcPixel); break;
     case R11G11B10_FLOAT: ConvertPixelFromFloat<R11G11B10_FLOAT>(pDst, srcPixel); break;
+    case R10G10B10_FLOAT_A2_UNORM: ConvertPixelFromFloat<R10G10B10_FLOAT_A2_UNORM>(pDst, srcPixel); break;
     case R32_SINT: ConvertPixelFromFloat<R32_SINT>(pDst, srcPixel); break;
     case R32_UINT: ConvertPixelFromFloat<R32_UINT>(pDst, srcPixel); break;
     case R32_FLOAT: ConvertPixelFromFloat<R32_FLOAT>(pDst, srcPixel); break;
     case R24_UNORM_X8_TYPELESS: ConvertPixelFromFloat<R24_UNORM_X8_TYPELESS>(pDst, srcPixel); break;
-    case R24_UNORM_X8_TYPELESS_LD: ConvertPixelFromFloat<R24_UNORM_X8_TYPELESS_LD>(pDst, srcPixel); break;
+    case X24_TYPELESS_G8_UINT: ConvertPixelFromFloat<X24_TYPELESS_G8_UINT>(pDst, srcPixel); break;
+    case L32_UNORM: ConvertPixelFromFloat<L32_UNORM>(pDst, srcPixel); break;
+    case L16A16_UNORM: ConvertPixelFromFloat<L16A16_UNORM>(pDst, srcPixel); break;
+    case I24X8_UNORM: ConvertPixelFromFloat<I24X8_UNORM>(pDst, srcPixel); break;
+    case L24X8_UNORM: ConvertPixelFromFloat<L24X8_UNORM>(pDst, srcPixel); break;
+    case I32_FLOAT: ConvertPixelFromFloat<I32_FLOAT>(pDst, srcPixel); break;
+    case L32_FLOAT: ConvertPixelFromFloat<L32_FLOAT>(pDst, srcPixel); break;
     case A32_FLOAT: ConvertPixelFromFloat<A32_FLOAT>(pDst, srcPixel); break;
     case B8G8R8X8_UNORM: ConvertPixelFromFloat<B8G8R8X8_UNORM>(pDst, srcPixel); break;
     case B8G8R8X8_UNORM_SRGB: ConvertPixelFromFloat<B8G8R8X8_UNORM_SRGB>(pDst, srcPixel); break;
@@ -618,6 +628,7 @@ INLINE static void ConvertPixelFromFloat(
     case R8G8B8X8_UNORM_SRGB: ConvertPixelFromFloat<R8G8B8X8_UNORM_SRGB>(pDst, srcPixel); break;
     case R9G9B9E5_SHAREDEXP: ConvertPixelFromFloat<R9G9B9E5_SHAREDEXP>(pDst, srcPixel); break;
     case B10G10R10X2_UNORM: ConvertPixelFromFloat<B10G10R10X2_UNORM>(pDst, srcPixel); break;
+    case L16A16_FLOAT: ConvertPixelFromFloat<L16A16_FLOAT>(pDst, srcPixel); break;
     case R10G10B10X2_USCALED: ConvertPixelFromFloat<R10G10B10X2_USCALED>(pDst, srcPixel); break;
     case R8G8B8A8_SSCALED: ConvertPixelFromFloat<R8G8B8A8_SSCALED>(pDst, srcPixel); break;
     case R8G8B8A8_USCALED: ConvertPixelFromFloat<R8G8B8A8_USCALED>(pDst, srcPixel); break;
@@ -640,21 +651,38 @@ INLINE static void ConvertPixelFromFloat(
     case R16_SINT: ConvertPixelFromFloat<R16_SINT>(pDst, srcPixel); break;
     case R16_UINT: ConvertPixelFromFloat<R16_UINT>(pDst, srcPixel); break;
     case R16_FLOAT: ConvertPixelFromFloat<R16_FLOAT>(pDst, srcPixel); break;
+    case I16_UNORM: ConvertPixelFromFloat<I16_UNORM>(pDst, srcPixel); break;
+    case L16_UNORM: ConvertPixelFromFloat<L16_UNORM>(pDst, srcPixel); break;
     case A16_UNORM: ConvertPixelFromFloat<A16_UNORM>(pDst, srcPixel); break;
+    case L8A8_UNORM: ConvertPixelFromFloat<L8A8_UNORM>(pDst, srcPixel); break;
+    case I16_FLOAT: ConvertPixelFromFloat<I16_FLOAT>(pDst, srcPixel); break;
+    case L16_FLOAT: ConvertPixelFromFloat<L16_FLOAT>(pDst, srcPixel); break;
     case A16_FLOAT: ConvertPixelFromFloat<A16_FLOAT>(pDst, srcPixel); break;
+    case L8A8_UNORM_SRGB: ConvertPixelFromFloat<L8A8_UNORM_SRGB>(pDst, srcPixel); break;
     case B5G5R5X1_UNORM: ConvertPixelFromFloat<B5G5R5X1_UNORM>(pDst, srcPixel); break;
     case B5G5R5X1_UNORM_SRGB: ConvertPixelFromFloat<B5G5R5X1_UNORM_SRGB>(pDst, srcPixel); break;
     case R8G8_SSCALED: ConvertPixelFromFloat<R8G8_SSCALED>(pDst, srcPixel); break;
     case R8G8_USCALED: ConvertPixelFromFloat<R8G8_USCALED>(pDst, srcPixel); break;
     case R16_SSCALED: ConvertPixelFromFloat<R16_SSCALED>(pDst, srcPixel); break;
     case R16_USCALED: ConvertPixelFromFloat<R16_USCALED>(pDst, srcPixel); break;
+    case A1B5G5R5_UNORM: ConvertPixelFromFloat<A1B5G5R5_UNORM>(pDst, srcPixel); break;
+    case A4B4G4R4_UNORM: ConvertPixelFromFloat<A4B4G4R4_UNORM>(pDst, srcPixel); break;
+    case L8A8_UINT: ConvertPixelFromFloat<L8A8_UINT>(pDst, srcPixel); break;
+    case L8A8_SINT: ConvertPixelFromFloat<L8A8_SINT>(pDst, srcPixel); break;
     case R8_UNORM: ConvertPixelFromFloat<R8_UNORM>(pDst, srcPixel); break;
     case R8_SNORM: ConvertPixelFromFloat<R8_SNORM>(pDst, srcPixel); break;
     case R8_SINT: ConvertPixelFromFloat<R8_SINT>(pDst, srcPixel); break;
     case R8_UINT: ConvertPixelFromFloat<R8_UINT>(pDst, srcPixel); break;
     case A8_UNORM: ConvertPixelFromFloat<A8_UNORM>(pDst, srcPixel); break;
+    case I8_UNORM: ConvertPixelFromFloat<I8_UNORM>(pDst, srcPixel); break;
+    case L8_UNORM: ConvertPixelFromFloat<L8_UNORM>(pDst, srcPixel); break;
     case R8_SSCALED: ConvertPixelFromFloat<R8_SSCALED>(pDst, srcPixel); break;
     case R8_USCALED: ConvertPixelFromFloat<R8_USCALED>(pDst, srcPixel); break;
+    case L8_UNORM_SRGB: ConvertPixelFromFloat<L8_UNORM_SRGB>(pDst, srcPixel); break;
+    case L8_UINT: ConvertPixelFromFloat<L8_UINT>(pDst, srcPixel); break;
+    case L8_SINT: ConvertPixelFromFloat<L8_SINT>(pDst, srcPixel); break;
+    case I8_UINT: ConvertPixelFromFloat<I8_UINT>(pDst, srcPixel); break;
+    case I8_SINT: ConvertPixelFromFloat<I8_SINT>(pDst, srcPixel); break;
     case YCRCB_SWAPUVY: ConvertPixelFromFloat<YCRCB_SWAPUVY>(pDst, srcPixel); break;
     case BC1_UNORM: ConvertPixelFromFloat<BC1_UNORM>(pDst, srcPixel); break;
     case BC2_UNORM: ConvertPixelFromFloat<BC2_UNORM>(pDst, srcPixel); break;
@@ -676,8 +704,10 @@ INLINE static void ConvertPixelFromFloat(
     case R16G16B16_SNORM: ConvertPixelFromFloat<R16G16B16_SNORM>(pDst, srcPixel); break;
     case R16G16B16_SSCALED: ConvertPixelFromFloat<R16G16B16_SSCALED>(pDst, srcPixel); break;
     case R16G16B16_USCALED: ConvertPixelFromFloat<R16G16B16_USCALED>(pDst, srcPixel); break;
+    case BC6H_SF16: ConvertPixelFromFloat<BC6H_SF16>(pDst, srcPixel); break;
     case BC7_UNORM: ConvertPixelFromFloat<BC7_UNORM>(pDst, srcPixel); break;
     case BC7_UNORM_SRGB: ConvertPixelFromFloat<BC7_UNORM_SRGB>(pDst, srcPixel); break;
+    case BC6H_UF16: ConvertPixelFromFloat<BC6H_UF16>(pDst, srcPixel); break;
     case R8G8B8_UNORM_SRGB: ConvertPixelFromFloat<R8G8B8_UNORM_SRGB>(pDst, srcPixel); break;
     case R16G16B16_UINT: ConvertPixelFromFloat<R16G16B16_UINT>(pDst, srcPixel); break;
     case R16G16B16_SINT: ConvertPixelFromFloat<R16G16B16_SINT>(pDst, srcPixel); break;
@@ -692,9 +722,8 @@ INLINE static void ConvertPixelFromFloat(
     case B10G10R10A2_SINT: ConvertPixelFromFloat<B10G10R10A2_SINT>(pDst, srcPixel); break;
     case R8G8B8_UINT: ConvertPixelFromFloat<R8G8B8_UINT>(pDst, srcPixel); break;
     case R8G8B8_SINT: ConvertPixelFromFloat<R8G8B8_SINT>(pDst, srcPixel); break;
+    case RAW: ConvertPixelFromFloat<RAW>(pDst, srcPixel); break;
     default:
         break;
     }
 }
-
-
index 3807f4d..a0ac3fe 100644 (file)
@@ -159,99 +159,168 @@ static INLINE void InitLoadTileColorTable(PFN_LOAD_TILES (&table)[NUM_SWR_FORMAT
 {
     memset(table, 0, sizeof(table));
    
-    table[R32G32B32A32_FLOAT]       = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[R32G32B32A32_SINT]        = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R32G32B32A32_UINT]        = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R32G32B32X32_FLOAT]       = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32X32_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[R32G32B32_FLOAT]          = LoadMacroTile<TilingTraits<TTileMode, 96>, R32G32B32_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[R32G32B32_SINT]           = LoadMacroTile<TilingTraits<TTileMode, 96>, R32G32B32_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R32G32B32_UINT]           = LoadMacroTile<TilingTraits<TTileMode, 96>, R32G32B32_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16A16_UNORM]       = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16A16_SNORM]       = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16A16_SINT]        = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16A16_UINT]        = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16A16_FLOAT]       = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[R32G32_FLOAT]             = LoadMacroTile<TilingTraits<TTileMode, 64>, R32G32_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[R32G32_SINT]              = LoadMacroTile<TilingTraits<TTileMode, 64>, R32G32_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R32G32_UINT]              = LoadMacroTile<TilingTraits<TTileMode, 64>, R32G32_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16X16_UNORM]       = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16X16_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16X16_FLOAT]       = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16X16_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[B8G8R8A8_UNORM]           = LoadMacroTile<TilingTraits<TTileMode, 32>, B8G8R8A8_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[B8G8R8A8_UNORM_SRGB]      = LoadMacroTile<TilingTraits<TTileMode, 32>, B8G8R8A8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[R10G10B10A2_UNORM]        = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R10G10B10A2_UNORM_SRGB]   = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[R10G10B10A2_UINT]         = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8A8_UNORM]           = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8A8_UNORM_SRGB]      = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8A8_SNORM]           = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8A8_SINT]            = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8A8_UINT]            = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R16G16_UNORM]             = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R16G16_SNORM]             = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[R16G16_SINT]              = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R16G16_UINT]              = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R16G16_FLOAT]             = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[B10G10R10A2_UNORM]        = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[B10G10R10A2_UNORM_SRGB]   = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[R11G11B10_FLOAT]          = LoadMacroTile<TilingTraits<TTileMode, 32>, R11G11B10_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[R32_SINT]                 = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R32_UINT]                 = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R32_FLOAT]                = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[A32_FLOAT]                = LoadMacroTile<TilingTraits<TTileMode, 32>, A32_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[B8G8R8X8_UNORM]           = LoadMacroTile<TilingTraits<TTileMode, 32>, B8G8R8X8_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[B8G8R8X8_UNORM_SRGB]      = LoadMacroTile<TilingTraits<TTileMode, 32>, B8G8R8X8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8X8_UNORM]           = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8X8_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8X8_UNORM_SRGB]      = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8X8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[B10G10R10X2_UNORM]        = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10X2_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[B5G6R5_UNORM]             = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G6R5_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[B5G6R5_UNORM_SRGB]        = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G6R5_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[B5G5R5A1_UNORM]           = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G5R5A1_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[B5G5R5A1_UNORM_SRGB]      = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G5R5A1_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[B4G4R4A4_UNORM]           = LoadMacroTile<TilingTraits<TTileMode, 16>, B4G4R4A4_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[B4G4R4A4_UNORM_SRGB]      = LoadMacroTile<TilingTraits<TTileMode, 16>, B4G4R4A4_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[R8G8_UNORM]               = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R8G8_SNORM]               = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[R8G8_SINT]                = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R8G8_UINT]                = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R16_UNORM]                = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R16_SNORM]                = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[R16_SINT]                 = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R16_UINT]                 = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R16_FLOAT]                = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[A16_UNORM]                = LoadMacroTile<TilingTraits<TTileMode, 16>, A16_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[A16_FLOAT]                = LoadMacroTile<TilingTraits<TTileMode, 16>, A16_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[B5G5R5X1_UNORM]           = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G5R5X1_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[B5G5R5X1_UNORM_SRGB]      = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G5R5X1_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[R8_UNORM]                 = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R8_SNORM]                 = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[R8_SINT]                  = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R8_UINT]                  = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_UINT, R32G32B32A32_FLOAT>::Load;
-    table[A8_UNORM]                 = LoadMacroTile<TilingTraits<TTileMode, 8>, A8_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[BC1_UNORM]                = LoadMacroTile<TilingTraits<TTileMode, 64>, BC1_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[BC2_UNORM]                = LoadMacroTile<TilingTraits<TTileMode, 128>, BC2_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[BC3_UNORM]                = LoadMacroTile<TilingTraits<TTileMode, 128>, BC3_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[BC4_UNORM]                = LoadMacroTile<TilingTraits<TTileMode, 64>, BC4_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[BC5_UNORM]                = LoadMacroTile<TilingTraits<TTileMode, 128>, BC5_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[BC1_UNORM_SRGB]           = LoadMacroTile<TilingTraits<TTileMode, 64>, BC1_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[BC2_UNORM_SRGB]           = LoadMacroTile<TilingTraits<TTileMode, 128>, BC2_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[BC3_UNORM_SRGB]           = LoadMacroTile<TilingTraits<TTileMode, 128>, BC3_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8_UNORM]             = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8_SNORM]             = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[BC4_SNORM]                = LoadMacroTile<TilingTraits<TTileMode, 64>, BC4_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[BC5_SNORM]                = LoadMacroTile<TilingTraits<TTileMode, 128>, BC5_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16_FLOAT]          = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_FLOAT, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16_UNORM]          = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_UNORM, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16_SNORM]          = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8_UNORM_SRGB]        = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16_UINT]           = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R16G16B16_SINT]           = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R10G10B10A2_SNORM]        = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[R10G10B10A2_SINT]         = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_SINT, R32G32B32A32_FLOAT>::Load;
-    table[B10G10R10A2_SNORM]        = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_SNORM, R32G32B32A32_FLOAT>::Load;
-    table[B10G10R10A2_UINT]         = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_UINT, R32G32B32A32_FLOAT>::Load;
-    table[B10G10R10A2_SINT]         = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_SINT, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8_UINT]              = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_UINT, R32G32B32A32_FLOAT>::Load;
-    table[R8G8B8_SINT]              = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32A32_FLOAT]              = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32A32_SINT]               = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32A32_UINT]               = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32X32_FLOAT]              = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32X32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32A32_SSCALED]            = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32A32_USCALED]            = LoadMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32_FLOAT]                 = LoadMacroTile<TilingTraits<TTileMode, 96>, R32G32B32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32_SINT]                  = LoadMacroTile<TilingTraits<TTileMode, 96>, R32G32B32_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32_UINT]                  = LoadMacroTile<TilingTraits<TTileMode, 96>, R32G32B32_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32_SSCALED]               = LoadMacroTile<TilingTraits<TTileMode, 96>, R32G32B32_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R32G32B32_USCALED]               = LoadMacroTile<TilingTraits<TTileMode, 96>, R32G32B32_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16A16_UNORM]              = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16A16_SNORM]              = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16A16_SINT]               = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16A16_UINT]               = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16A16_FLOAT]              = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32_FLOAT]                    = LoadMacroTile<TilingTraits<TTileMode, 64>, R32G32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32_SINT]                     = LoadMacroTile<TilingTraits<TTileMode, 64>, R32G32_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R32G32_UINT]                     = LoadMacroTile<TilingTraits<TTileMode, 64>, R32G32_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R32_FLOAT_X8X24_TYPELESS]        = LoadMacroTile<TilingTraits<TTileMode, 64>, R32_FLOAT_X8X24_TYPELESS, R32G32B32A32_FLOAT>::Load;
+    table[X32_TYPELESS_G8X24_UINT]         = LoadMacroTile<TilingTraits<TTileMode, 64>, X32_TYPELESS_G8X24_UINT, R32G32B32A32_FLOAT>::Load;
+    table[L32A32_FLOAT]                    = LoadMacroTile<TilingTraits<TTileMode, 64>, L32A32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16X16_UNORM]              = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16X16_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16X16_FLOAT]              = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16X16_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[L32X32_FLOAT]                    = LoadMacroTile<TilingTraits<TTileMode, 64>, L32X32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[I32X32_FLOAT]                    = LoadMacroTile<TilingTraits<TTileMode, 64>, I32X32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16A16_SSCALED]            = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16A16_USCALED]            = LoadMacroTile<TilingTraits<TTileMode, 64>, R16G16B16A16_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[R32G32_SSCALED]                  = LoadMacroTile<TilingTraits<TTileMode, 64>, R32G32_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R32G32_USCALED]                  = LoadMacroTile<TilingTraits<TTileMode, 64>, R32G32_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[B8G8R8A8_UNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 32>, B8G8R8A8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[B8G8R8A8_UNORM_SRGB]             = LoadMacroTile<TilingTraits<TTileMode, 32>, B8G8R8A8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[R10G10B10A2_UNORM]               = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R10G10B10A2_UNORM_SRGB]          = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[R10G10B10A2_UINT]                = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8A8_UNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8A8_UNORM_SRGB]             = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8A8_SNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8A8_SINT]                   = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8A8_UINT]                   = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R16G16_UNORM]                    = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16G16_SNORM]                    = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16G16_SINT]                     = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R16G16_UINT]                     = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R16G16_FLOAT]                    = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[B10G10R10A2_UNORM]               = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[B10G10R10A2_UNORM_SRGB]          = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[R11G11B10_FLOAT]                 = LoadMacroTile<TilingTraits<TTileMode, 32>, R11G11B10_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R10G10B10_FLOAT_A2_UNORM]        = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10_FLOAT_A2_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R32_SINT]                        = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R32_UINT]                        = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R32_FLOAT]                       = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R24_UNORM_X8_TYPELESS]           = LoadMacroTile<TilingTraits<TTileMode, 32>, R24_UNORM_X8_TYPELESS, R32G32B32A32_FLOAT>::Load;
+    table[X24_TYPELESS_G8_UINT]            = LoadMacroTile<TilingTraits<TTileMode, 32>, X24_TYPELESS_G8_UINT, R32G32B32A32_FLOAT>::Load;
+    table[L32_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 32>, L32_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[L16A16_UNORM]                    = LoadMacroTile<TilingTraits<TTileMode, 32>, L16A16_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[I24X8_UNORM]                     = LoadMacroTile<TilingTraits<TTileMode, 32>, I24X8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[L24X8_UNORM]                     = LoadMacroTile<TilingTraits<TTileMode, 32>, L24X8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[I32_FLOAT]                       = LoadMacroTile<TilingTraits<TTileMode, 32>, I32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[L32_FLOAT]                       = LoadMacroTile<TilingTraits<TTileMode, 32>, L32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[A32_FLOAT]                       = LoadMacroTile<TilingTraits<TTileMode, 32>, A32_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[B8G8R8X8_UNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 32>, B8G8R8X8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[B8G8R8X8_UNORM_SRGB]             = LoadMacroTile<TilingTraits<TTileMode, 32>, B8G8R8X8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8X8_UNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8X8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8X8_UNORM_SRGB]             = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8X8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[R9G9B9E5_SHAREDEXP]              = LoadMacroTile<TilingTraits<TTileMode, 32>, R9G9B9E5_SHAREDEXP, R32G32B32A32_FLOAT>::Load;
+    table[B10G10R10X2_UNORM]               = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10X2_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[L16A16_FLOAT]                    = LoadMacroTile<TilingTraits<TTileMode, 32>, L16A16_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R10G10B10X2_USCALED]             = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10X2_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8A8_SSCALED]                = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8A8_USCALED]                = LoadMacroTile<TilingTraits<TTileMode, 32>, R8G8B8A8_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[R16G16_SSCALED]                  = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R16G16_USCALED]                  = LoadMacroTile<TilingTraits<TTileMode, 32>, R16G16_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[R32_SSCALED]                     = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R32_USCALED]                     = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[B5G6R5_UNORM]                    = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G6R5_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[B5G6R5_UNORM_SRGB]               = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G6R5_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[B5G5R5A1_UNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G5R5A1_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[B5G5R5A1_UNORM_SRGB]             = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G5R5A1_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[B4G4R4A4_UNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 16>, B4G4R4A4_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[B4G4R4A4_UNORM_SRGB]             = LoadMacroTile<TilingTraits<TTileMode, 16>, B4G4R4A4_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[R8G8_UNORM]                      = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8G8_SNORM]                      = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8G8_SINT]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R8G8_UINT]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R16_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16_SNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16_SINT]                        = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R16_UINT]                        = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R16_FLOAT]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[I16_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, I16_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[L16_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, L16_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[A16_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, A16_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[L8A8_UNORM]                      = LoadMacroTile<TilingTraits<TTileMode, 16>, L8A8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[I16_FLOAT]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, I16_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[L16_FLOAT]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, L16_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[A16_FLOAT]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, A16_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[L8A8_UNORM_SRGB]                 = LoadMacroTile<TilingTraits<TTileMode, 16>, L8A8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[B5G5R5X1_UNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G5R5X1_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[B5G5R5X1_UNORM_SRGB]             = LoadMacroTile<TilingTraits<TTileMode, 16>, B5G5R5X1_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[R8G8_SSCALED]                    = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R8G8_USCALED]                    = LoadMacroTile<TilingTraits<TTileMode, 16>, R8G8_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[R16_SSCALED]                     = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R16_USCALED]                     = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[A1B5G5R5_UNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 16>, A1B5G5R5_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[A4B4G4R4_UNORM]                  = LoadMacroTile<TilingTraits<TTileMode, 16>, A4B4G4R4_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[L8A8_UINT]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, L8A8_UINT, R32G32B32A32_FLOAT>::Load;
+    table[L8A8_SINT]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, L8A8_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R8_UNORM]                        = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8_SNORM]                        = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8_SINT]                         = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R8_UINT]                         = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_UINT, R32G32B32A32_FLOAT>::Load;
+    table[A8_UNORM]                        = LoadMacroTile<TilingTraits<TTileMode, 8>, A8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[I8_UNORM]                        = LoadMacroTile<TilingTraits<TTileMode, 8>, I8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[L8_UNORM]                        = LoadMacroTile<TilingTraits<TTileMode, 8>, L8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8_SSCALED]                      = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R8_USCALED]                      = LoadMacroTile<TilingTraits<TTileMode, 8>, R8_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[L8_UNORM_SRGB]                   = LoadMacroTile<TilingTraits<TTileMode, 8>, L8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[L8_UINT]                         = LoadMacroTile<TilingTraits<TTileMode, 8>, L8_UINT, R32G32B32A32_FLOAT>::Load;
+    table[L8_SINT]                         = LoadMacroTile<TilingTraits<TTileMode, 8>, L8_SINT, R32G32B32A32_FLOAT>::Load;
+    table[I8_UINT]                         = LoadMacroTile<TilingTraits<TTileMode, 8>, I8_UINT, R32G32B32A32_FLOAT>::Load;
+    table[I8_SINT]                         = LoadMacroTile<TilingTraits<TTileMode, 8>, I8_SINT, R32G32B32A32_FLOAT>::Load;
+    table[YCRCB_SWAPUVY]                   = LoadMacroTile<TilingTraits<TTileMode, 32>, YCRCB_SWAPUVY, R32G32B32A32_FLOAT>::Load;
+    table[BC1_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 64>, BC1_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[BC2_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 128>, BC2_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[BC3_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 128>, BC3_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[BC4_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 64>, BC4_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[BC5_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 128>, BC5_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[BC1_UNORM_SRGB]                  = LoadMacroTile<TilingTraits<TTileMode, 64>, BC1_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[BC2_UNORM_SRGB]                  = LoadMacroTile<TilingTraits<TTileMode, 128>, BC2_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[BC3_UNORM_SRGB]                  = LoadMacroTile<TilingTraits<TTileMode, 128>, BC3_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[YCRCB_SWAPUV]                    = LoadMacroTile<TilingTraits<TTileMode, 32>, YCRCB_SWAPUV, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8_UNORM]                    = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8_SNORM]                    = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8_SSCALED]                  = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8_USCALED]                  = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[BC4_SNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 64>, BC4_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[BC5_SNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 128>, BC5_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16_FLOAT]                 = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_FLOAT, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16_UNORM]                 = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16_SNORM]                 = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16_SSCALED]               = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16_USCALED]               = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[BC6H_SF16]                       = LoadMacroTile<TilingTraits<TTileMode, 128>, BC6H_SF16, R32G32B32A32_FLOAT>::Load;
+    table[BC7_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 128>, BC7_UNORM, R32G32B32A32_FLOAT>::Load;
+    table[BC7_UNORM_SRGB]                  = LoadMacroTile<TilingTraits<TTileMode, 128>, BC7_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[BC6H_UF16]                       = LoadMacroTile<TilingTraits<TTileMode, 128>, BC6H_UF16, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8_UNORM_SRGB]               = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_UNORM_SRGB, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16_UINT]                  = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R16G16B16_SINT]                  = LoadMacroTile<TilingTraits<TTileMode, 48>, R16G16B16_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R10G10B10A2_SNORM]               = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[R10G10B10A2_USCALED]             = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[R10G10B10A2_SSCALED]             = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[R10G10B10A2_SINT]                = LoadMacroTile<TilingTraits<TTileMode, 32>, R10G10B10A2_SINT, R32G32B32A32_FLOAT>::Load;
+    table[B10G10R10A2_SNORM]               = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_SNORM, R32G32B32A32_FLOAT>::Load;
+    table[B10G10R10A2_USCALED]             = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_USCALED, R32G32B32A32_FLOAT>::Load;
+    table[B10G10R10A2_SSCALED]             = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_SSCALED, R32G32B32A32_FLOAT>::Load;
+    table[B10G10R10A2_UINT]                = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_UINT, R32G32B32A32_FLOAT>::Load;
+    table[B10G10R10A2_SINT]                = LoadMacroTile<TilingTraits<TTileMode, 32>, B10G10R10A2_SINT, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8_UINT]                     = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_UINT, R32G32B32A32_FLOAT>::Load;
+    table[R8G8B8_SINT]                     = LoadMacroTile<TilingTraits<TTileMode, 24>, R8G8B8_SINT, R32G32B32A32_FLOAT>::Load;
+    table[RAW]                             = LoadMacroTile<TilingTraits<TTileMode, 8>, RAW, R32G32B32A32_FLOAT>::Load;
 }
 
 //////////////////////////////////////////////////////////////////////////
@@ -261,7 +330,8 @@ static INLINE void InitLoadTileDepthTable(PFN_LOAD_TILES(&table)[NUM_SWR_FORMATS
 {
     memset(table, 0, sizeof(table));
 
-    table[R16_UNORM]                = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_UNORM, R32_FLOAT>::Load; \
-    table[R32_FLOAT]                = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_FLOAT, R32_FLOAT>::Load; \
-    table[R24_UNORM_X8_TYPELESS]    = LoadMacroTile<TilingTraits<TTileMode, 32>, R24_UNORM_X8_TYPELESS, R32_FLOAT>::Load;
+   table[R32_FLOAT]                       = LoadMacroTile<TilingTraits<TTileMode, 32>, R32_FLOAT, R32_FLOAT>::Load;
+   table[R24_UNORM_X8_TYPELESS]           = LoadMacroTile<TilingTraits<TTileMode, 32>, R24_UNORM_X8_TYPELESS, R32_FLOAT>::Load;
+   table[R16_UNORM]                       = LoadMacroTile<TilingTraits<TTileMode, 16>, R16_UNORM, R32_FLOAT>::Load;
 }
+
index af3be09..95a1adb 100644 (file)
@@ -728,7 +728,7 @@ struct OptStoreRasterTile : StoreRasterTile<TTraits, SrcFormat, DstFormat>
 /// OptStoreRasterTile - SWR_TILE_MODE_NONE specialization for 8bpp
 //////////////////////////////////////////////////////////////////////////
 template<SWR_FORMAT SrcFormat, SWR_FORMAT DstFormat>
-struct OptStoreRasterTile< TilingTraits<SWR_TILE_NONE, 8>, SrcFormat, DstFormat >
+struct OptStoreRasterTile< TilingTraits<SWR_TILE_NONE, 8>, SrcFormat, DstFormat>
 {
     typedef StoreRasterTile<TilingTraits<SWR_TILE_NONE, 8>, SrcFormat, DstFormat> GenericStoreTile;
     static const size_t SRC_BYTES_PER_PIXEL = FormatTraits<SrcFormat>::bpp / 8;
@@ -781,7 +781,7 @@ struct OptStoreRasterTile< TilingTraits<SWR_TILE_NONE, 8>, SrcFormat, DstFormat
 /// OptStoreRasterTile - SWR_TILE_MODE_NONE specialization for 16bpp
 //////////////////////////////////////////////////////////////////////////
 template<SWR_FORMAT SrcFormat, SWR_FORMAT DstFormat>
-struct OptStoreRasterTile< TilingTraits<SWR_TILE_NONE, 16>, SrcFormat, DstFormat >
+struct OptStoreRasterTile< TilingTraits<SWR_TILE_NONE, 16>, SrcFormat, DstFormat>
 {
     typedef StoreRasterTile<TilingTraits<SWR_TILE_NONE, 16>, SrcFormat, DstFormat> GenericStoreTile;
     static const size_t SRC_BYTES_PER_PIXEL = FormatTraits<SrcFormat>::bpp / 8;
@@ -834,7 +834,7 @@ struct OptStoreRasterTile< TilingTraits<SWR_TILE_NONE, 16>, SrcFormat, DstFormat
 /// OptStoreRasterTile - SWR_TILE_MODE_NONE specialization for 32bpp
 //////////////////////////////////////////////////////////////////////////
 template<SWR_FORMAT SrcFormat, SWR_FORMAT DstFormat>
-struct OptStoreRasterTile< TilingTraits<SWR_TILE_NONE, 32>, SrcFormat, DstFormat >
+struct OptStoreRasterTile< TilingTraits<SWR_TILE_NONE, 32>, SrcFormat, DstFormat>
 {
     typedef StoreRasterTile<TilingTraits<SWR_TILE_NONE, 32>, SrcFormat, DstFormat> GenericStoreTile;
     static const size_t SRC_BYTES_PER_PIXEL = FormatTraits<SrcFormat>::bpp / 8;
@@ -1499,139 +1499,152 @@ struct StoreMacroTile
 
 //////////////////////////////////////////////////////////////////////////
 /// InitStoreTilesTable - Helper for setting up the tables.
-template <SWR_TILE_MODE TileModeT, size_t NumTileModesT, size_t ArraySizeT>
+template <SWR_TILE_MODE TTileMode, size_t NumTileModesT, size_t ArraySizeT>
 void InitStoreTilesTableColor_Half1(
     PFN_STORE_TILES (&table)[NumTileModesT][ArraySizeT])
 {
-    table[TileModeT][R32G32B32A32_FLOAT]        = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, R32G32B32A32_FLOAT>::Store;
-    table[TileModeT][R32G32B32A32_SINT]         = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, R32G32B32A32_SINT>::Store;
-    table[TileModeT][R32G32B32A32_UINT]         = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, R32G32B32A32_UINT>::Store;
-    table[TileModeT][R32G32B32X32_FLOAT]        = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, R32G32B32X32_FLOAT>::Store;
-    table[TileModeT][R32G32B32_FLOAT]           = StoreMacroTile<TilingTraits<TileModeT, 96>, R32G32B32A32_FLOAT, R32G32B32_FLOAT>::Store;
-    table[TileModeT][R32G32B32_SINT]            = StoreMacroTile<TilingTraits<TileModeT, 96>, R32G32B32A32_FLOAT, R32G32B32_SINT>::Store;
-    table[TileModeT][R32G32B32_UINT]            = StoreMacroTile<TilingTraits<TileModeT, 96>, R32G32B32A32_FLOAT, R32G32B32_UINT>::Store;
-    table[TileModeT][R16G16B16A16_UNORM]        = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R16G16B16A16_UNORM>::Store;
-    table[TileModeT][R16G16B16A16_SNORM]        = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R16G16B16A16_SNORM>::Store;
-    table[TileModeT][R16G16B16A16_SINT]         = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R16G16B16A16_SINT>::Store;
-    table[TileModeT][R16G16B16A16_UINT]         = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R16G16B16A16_UINT>::Store;
-    table[TileModeT][R16G16B16A16_FLOAT]        = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R16G16B16A16_FLOAT>::Store;
-    table[TileModeT][R32G32_FLOAT]              = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R32G32_FLOAT>::Store;
-    table[TileModeT][R32G32_SINT]               = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R32G32_SINT>::Store;
-    table[TileModeT][R32G32_UINT]               = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R32G32_UINT>::Store;
-    table[TileModeT][R16G16B16X16_UNORM]        = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R16G16B16X16_UNORM>::Store;
-    table[TileModeT][R16G16B16X16_FLOAT]        = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, R16G16B16X16_FLOAT>::Store;
-    table[TileModeT][B8G8R8A8_UNORM]            = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B8G8R8A8_UNORM>::Store;
-    table[TileModeT][B8G8R8A8_UNORM_SRGB]       = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B8G8R8A8_UNORM_SRGB>::Store;
-    
-    // 101010_2, 565, 555_1, and 444_4 formats force generic store tile for now
-    table[TileModeT][R10G10B10A2_UNORM]         = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R10G10B10A2_UNORM>::StoreGeneric;
-    table[TileModeT][R10G10B10A2_UNORM_SRGB]    = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R10G10B10A2_UNORM_SRGB>::StoreGeneric;
-    table[TileModeT][R10G10B10A2_UINT]          = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R10G10B10A2_UINT>::StoreGeneric;
-
-    table[TileModeT][R8G8B8A8_UNORM]            = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R8G8B8A8_UNORM>::Store;
-    table[TileModeT][R8G8B8A8_UNORM_SRGB]       = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R8G8B8A8_UNORM_SRGB>::Store;
-    table[TileModeT][R8G8B8A8_SNORM]            = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R8G8B8A8_SNORM>::Store;
-    table[TileModeT][R8G8B8A8_SINT]             = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R8G8B8A8_SINT>::Store;
-    table[TileModeT][R8G8B8A8_UINT]             = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R8G8B8A8_UINT>::Store;
-    table[TileModeT][R16G16_UNORM]              = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R16G16_UNORM>::Store;
-    table[TileModeT][R16G16_SNORM]              = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R16G16_SNORM>::Store;
-    table[TileModeT][R16G16_SINT]               = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R16G16_SINT>::Store;
-    table[TileModeT][R16G16_UINT]               = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R16G16_UINT>::Store;
-    table[TileModeT][R16G16_FLOAT]              = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R16G16_FLOAT>::Store;
-    
-    // 101010_2, 565, 555_1, and 444_4 formats force generic store tile for now
-    table[TileModeT][B10G10R10A2_UNORM]         = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B10G10R10A2_UNORM>::StoreGeneric;
-    table[TileModeT][B10G10R10A2_UNORM_SRGB]    = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B10G10R10A2_UNORM_SRGB>::StoreGeneric;
-    table[TileModeT][R11G11B10_FLOAT]           = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R11G11B10_FLOAT>::StoreGeneric;
-
-    table[TileModeT][R32_SINT]                  = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R32_SINT>::Store;
-    table[TileModeT][R32_UINT]                  = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R32_UINT>::Store;
-    table[TileModeT][R32_FLOAT]                 = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R32_FLOAT>::Store;
-    table[TileModeT][A32_FLOAT]                 = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, A32_FLOAT>::Store;
-    table[TileModeT][B8G8R8X8_UNORM]            = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B8G8R8X8_UNORM>::Store;
-    table[TileModeT][B8G8R8X8_UNORM_SRGB]       = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B8G8R8X8_UNORM_SRGB>::Store;
-    table[TileModeT][R8G8B8X8_UNORM]            = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R8G8B8X8_UNORM>::Store;
-    table[TileModeT][R8G8B8X8_UNORM_SRGB]       = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R8G8B8X8_UNORM_SRGB>::Store;
+    table[TTileMode][R32G32B32A32_FLOAT]            = StoreMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_FLOAT, R32G32B32A32_FLOAT>::Store;
+    table[TTileMode][R32G32B32A32_SINT]             = StoreMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_FLOAT, R32G32B32A32_SINT>::Store;
+    table[TTileMode][R32G32B32A32_UINT]             = StoreMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_FLOAT, R32G32B32A32_UINT>::Store;
+    table[TTileMode][R32G32B32X32_FLOAT]            = StoreMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_FLOAT, R32G32B32X32_FLOAT>::Store;
+    table[TTileMode][R32G32B32A32_SSCALED]          = StoreMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_FLOAT, R32G32B32A32_SSCALED>::Store;
+    table[TTileMode][R32G32B32A32_USCALED]          = StoreMacroTile<TilingTraits<TTileMode, 128>, R32G32B32A32_FLOAT, R32G32B32A32_USCALED>::Store;
+    table[TTileMode][R32G32B32_FLOAT]               = StoreMacroTile<TilingTraits<TTileMode, 96>, R32G32B32A32_FLOAT, R32G32B32_FLOAT>::Store;
+    table[TTileMode][R32G32B32_SINT]                = StoreMacroTile<TilingTraits<TTileMode, 96>, R32G32B32A32_FLOAT, R32G32B32_SINT>::Store;
+    table[TTileMode][R32G32B32_UINT]                = StoreMacroTile<TilingTraits<TTileMode, 96>, R32G32B32A32_FLOAT, R32G32B32_UINT>::Store;
+    table[TTileMode][R32G32B32_SSCALED]             = StoreMacroTile<TilingTraits<TTileMode, 96>, R32G32B32A32_FLOAT, R32G32B32_SSCALED>::Store;
+    table[TTileMode][R32G32B32_USCALED]             = StoreMacroTile<TilingTraits<TTileMode, 96>, R32G32B32A32_FLOAT, R32G32B32_USCALED>::Store;
+    table[TTileMode][R16G16B16A16_UNORM]            = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R16G16B16A16_UNORM>::Store;
+    table[TTileMode][R16G16B16A16_SNORM]            = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R16G16B16A16_SNORM>::Store;
+    table[TTileMode][R16G16B16A16_SINT]             = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R16G16B16A16_SINT>::Store;
+    table[TTileMode][R16G16B16A16_UINT]             = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R16G16B16A16_UINT>::Store;
+    table[TTileMode][R16G16B16A16_FLOAT]            = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R16G16B16A16_FLOAT>::Store;
+    table[TTileMode][R32G32_FLOAT]                  = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R32G32_FLOAT>::Store;
+    table[TTileMode][R32G32_SINT]                   = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R32G32_SINT>::Store;
+    table[TTileMode][R32G32_UINT]                   = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R32G32_UINT>::Store;
+    table[TTileMode][R32_FLOAT_X8X24_TYPELESS]      = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R32_FLOAT_X8X24_TYPELESS>::Store;
+    table[TTileMode][X32_TYPELESS_G8X24_UINT]       = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, X32_TYPELESS_G8X24_UINT>::Store;
+    table[TTileMode][R16G16B16X16_UNORM]            = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R16G16B16X16_UNORM>::Store;
+    table[TTileMode][R16G16B16X16_FLOAT]            = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R16G16B16X16_FLOAT>::Store;
+    table[TTileMode][R16G16B16A16_SSCALED]          = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R16G16B16A16_SSCALED>::Store;
+    table[TTileMode][R16G16B16A16_USCALED]          = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R16G16B16A16_USCALED>::Store;
+    table[TTileMode][R32G32_SSCALED]                = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R32G32_SSCALED>::Store;
+    table[TTileMode][R32G32_USCALED]                = StoreMacroTile<TilingTraits<TTileMode, 64>, R32G32B32A32_FLOAT, R32G32_USCALED>::Store;
+    table[TTileMode][B8G8R8A8_UNORM]                = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B8G8R8A8_UNORM>::Store;
+    table[TTileMode][B8G8R8A8_UNORM_SRGB]           = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B8G8R8A8_UNORM_SRGB>::Store;
+    table[TTileMode][R10G10B10A2_UNORM]             = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R10G10B10A2_UNORM>::StoreGeneric;
+    table[TTileMode][R10G10B10A2_UNORM_SRGB]        = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R10G10B10A2_UNORM_SRGB>::StoreGeneric;
+    table[TTileMode][R10G10B10A2_UINT]              = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R10G10B10A2_UINT>::StoreGeneric;
+    table[TTileMode][R8G8B8A8_UNORM]                = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R8G8B8A8_UNORM>::Store;
+    table[TTileMode][R8G8B8A8_UNORM_SRGB]           = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R8G8B8A8_UNORM_SRGB>::Store;
+    table[TTileMode][R8G8B8A8_SNORM]                = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R8G8B8A8_SNORM>::Store;
+    table[TTileMode][R8G8B8A8_SINT]                 = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R8G8B8A8_SINT>::Store;
+    table[TTileMode][R8G8B8A8_UINT]                 = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R8G8B8A8_UINT>::Store;
+    table[TTileMode][R16G16_UNORM]                  = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R16G16_UNORM>::Store;
+    table[TTileMode][R16G16_SNORM]                  = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R16G16_SNORM>::Store;
+    table[TTileMode][R16G16_SINT]                   = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R16G16_SINT>::Store;
+    table[TTileMode][R16G16_UINT]                   = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R16G16_UINT>::Store;
+    table[TTileMode][R16G16_FLOAT]                  = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R16G16_FLOAT>::Store;
+    table[TTileMode][B10G10R10A2_UNORM]             = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B10G10R10A2_UNORM>::StoreGeneric;
+    table[TTileMode][B10G10R10A2_UNORM_SRGB]        = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B10G10R10A2_UNORM_SRGB>::StoreGeneric;
+    table[TTileMode][R11G11B10_FLOAT]               = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R11G11B10_FLOAT>::StoreGeneric;
+    table[TTileMode][R10G10B10_FLOAT_A2_UNORM]      = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R10G10B10_FLOAT_A2_UNORM>::StoreGeneric;
+    table[TTileMode][R32_SINT]                      = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R32_SINT>::Store;
+    table[TTileMode][R32_UINT]                      = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R32_UINT>::Store;
+    table[TTileMode][R32_FLOAT]                     = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R32_FLOAT>::Store;
+    table[TTileMode][R24_UNORM_X8_TYPELESS]         = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R24_UNORM_X8_TYPELESS>::StoreGeneric;
+    table[TTileMode][X24_TYPELESS_G8_UINT]          = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, X24_TYPELESS_G8_UINT>::StoreGeneric;
+    table[TTileMode][A32_FLOAT]                     = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, A32_FLOAT>::Store;
+    table[TTileMode][B8G8R8X8_UNORM]                = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B8G8R8X8_UNORM>::Store;
+    table[TTileMode][B8G8R8X8_UNORM_SRGB]           = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B8G8R8X8_UNORM_SRGB>::Store;
+    table[TTileMode][R8G8B8X8_UNORM]                = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R8G8B8X8_UNORM>::Store;
+    table[TTileMode][R8G8B8X8_UNORM_SRGB]           = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R8G8B8X8_UNORM_SRGB>::Store;
 }
 
-template <SWR_TILE_MODE TileModeT, size_t NumTileModesT, size_t ArraySizeT>
+template <SWR_TILE_MODE TTileMode, size_t NumTileModesT, size_t ArraySizeT>
 void InitStoreTilesTableColor_Half2(
     PFN_STORE_TILES(&table)[NumTileModesT][ArraySizeT])
 {
-    // 101010_2, 565, 555_1, and 444_4 formats force generic store tile for now
-    table[TileModeT][B10G10R10X2_UNORM]         = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B10G10R10X2_UNORM>::StoreGeneric;
-    table[TileModeT][B5G6R5_UNORM]              = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, B5G6R5_UNORM>::Store;
-    table[TileModeT][B5G6R5_UNORM_SRGB]         = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, B5G6R5_UNORM_SRGB>::StoreGeneric;
-    table[TileModeT][B5G5R5A1_UNORM]            = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, B5G5R5A1_UNORM>::StoreGeneric;
-    table[TileModeT][B5G5R5A1_UNORM_SRGB]       = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, B5G5R5A1_UNORM_SRGB>::StoreGeneric;
-    table[TileModeT][B4G4R4A4_UNORM]            = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, B4G4R4A4_UNORM>::StoreGeneric;
-    table[TileModeT][B4G4R4A4_UNORM_SRGB]       = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, B4G4R4A4_UNORM_SRGB>::StoreGeneric;
-
-    table[TileModeT][R8G8_UNORM]                = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, R8G8_UNORM>::Store;
-    table[TileModeT][R8G8_SNORM]                = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, R8G8_SNORM>::Store;
-    table[TileModeT][R8G8_SINT]                 = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, R8G8_SINT>::Store;
-    table[TileModeT][R8G8_UINT]                 = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, R8G8_UINT>::Store;
-    table[TileModeT][R16_UNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, R16_UNORM>::Store;
-    table[TileModeT][R16_SNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, R16_SNORM>::Store;
-    table[TileModeT][R16_SINT]                  = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, R16_SINT>::Store;
-    table[TileModeT][R16_UINT]                  = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, R16_UINT>::Store;
-    table[TileModeT][R16_FLOAT]                 = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, R16_FLOAT>::Store;
-    table[TileModeT][A16_UNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, A16_UNORM>::Store;
-    table[TileModeT][A16_FLOAT]                 = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, A16_FLOAT>::Store;
-    
-    // 101010_2, 565, 555_1, and 444_4 formats force generic store tile for now
-    table[TileModeT][B5G5R5X1_UNORM]            = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, B5G5R5X1_UNORM>::StoreGeneric;
-    table[TileModeT][B5G5R5X1_UNORM_SRGB]       = StoreMacroTile<TilingTraits<TileModeT, 16>, R32G32B32A32_FLOAT, B5G5R5X1_UNORM_SRGB>::StoreGeneric;
-
-    table[TileModeT][R8_UNORM]                  = StoreMacroTile<TilingTraits<TileModeT, 8>, R32G32B32A32_FLOAT, R8_UNORM>::Store;
-    table[TileModeT][R8_SNORM]                  = StoreMacroTile<TilingTraits<TileModeT, 8>, R32G32B32A32_FLOAT, R8_SNORM>::Store;
-    table[TileModeT][R8_SINT]                   = StoreMacroTile<TilingTraits<TileModeT, 8>, R32G32B32A32_FLOAT, R8_SINT>::Store;
-    table[TileModeT][R8_UINT]                   = StoreMacroTile<TilingTraits<TileModeT, 8>, R32G32B32A32_FLOAT, R8_UINT>::Store;
-    table[TileModeT][A8_UNORM]                  = StoreMacroTile<TilingTraits<TileModeT, 8>, R32G32B32A32_FLOAT, A8_UNORM>::Store;
-    table[TileModeT][BC1_UNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, BC1_UNORM>::Store;
-    table[TileModeT][BC2_UNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, BC2_UNORM>::Store;
-    table[TileModeT][BC3_UNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, BC3_UNORM>::Store;
-    table[TileModeT][BC4_UNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, BC4_UNORM>::Store;
-    table[TileModeT][BC5_UNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, BC5_UNORM>::Store;
-    table[TileModeT][BC1_UNORM_SRGB]            = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, BC1_UNORM_SRGB>::Store;
-    table[TileModeT][BC2_UNORM_SRGB]            = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, BC2_UNORM_SRGB>::Store;
-    table[TileModeT][BC3_UNORM_SRGB]            = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, BC3_UNORM_SRGB>::Store;
-    table[TileModeT][R8G8B8_UNORM]              = StoreMacroTile<TilingTraits<TileModeT, 24>, R32G32B32A32_FLOAT, R8G8B8_UNORM>::Store;
-    table[TileModeT][R8G8B8_SNORM]              = StoreMacroTile<TilingTraits<TileModeT, 24>, R32G32B32A32_FLOAT, R8G8B8_SNORM>::Store;
-    table[TileModeT][BC4_SNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 64>, R32G32B32A32_FLOAT, BC4_SNORM>::Store;
-    table[TileModeT][BC5_SNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 128>, R32G32B32A32_FLOAT, BC5_SNORM>::Store;
-    table[TileModeT][R16G16B16_FLOAT]           = StoreMacroTile<TilingTraits<TileModeT, 48>, R32G32B32A32_FLOAT, R16G16B16_FLOAT>::Store;
-    table[TileModeT][R16G16B16_UNORM]           = StoreMacroTile<TilingTraits<TileModeT, 48>, R32G32B32A32_FLOAT, R16G16B16_UNORM>::Store;
-    table[TileModeT][R16G16B16_SNORM]           = StoreMacroTile<TilingTraits<TileModeT, 48>, R32G32B32A32_FLOAT, R16G16B16_SNORM>::Store;
-    table[TileModeT][R8G8B8_UNORM_SRGB]         = StoreMacroTile<TilingTraits<TileModeT, 24>, R32G32B32A32_FLOAT, R8G8B8_UNORM_SRGB>::Store;
-    table[TileModeT][R16G16B16_UINT]            = StoreMacroTile<TilingTraits<TileModeT, 48>, R32G32B32A32_FLOAT, R16G16B16_UINT>::Store;
-    table[TileModeT][R16G16B16_SINT]            = StoreMacroTile<TilingTraits<TileModeT, 48>, R32G32B32A32_FLOAT, R16G16B16_SINT>::Store;
-
-    // 101010_2, 565, 555_1, and 444_4 formats force generic store tile for now
-    table[TileModeT][R10G10B10A2_SNORM]         = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R10G10B10A2_SNORM>::StoreGeneric;
-    table[TileModeT][R10G10B10A2_SINT]          = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, R10G10B10A2_SINT>::StoreGeneric;
-    table[TileModeT][B10G10R10A2_SNORM]         = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B10G10R10A2_SNORM>::StoreGeneric;
-    table[TileModeT][B10G10R10A2_UINT]          = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B10G10R10A2_UINT>::StoreGeneric;
-    table[TileModeT][B10G10R10A2_SINT]          = StoreMacroTile<TilingTraits<TileModeT, 32>, R32G32B32A32_FLOAT, B10G10R10A2_SINT>::StoreGeneric;
-
-    table[TileModeT][R8G8B8_UINT]               = StoreMacroTile<TilingTraits<TileModeT, 24>, R32G32B32A32_FLOAT, R8G8B8_UINT>::Store;
-    table[TileModeT][R8G8B8_SINT]               = StoreMacroTile<TilingTraits<TileModeT, 24>, R32G32B32A32_FLOAT, R8G8B8_SINT>::Store;
+    table[TTileMode][R9G9B9E5_SHAREDEXP]            = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R9G9B9E5_SHAREDEXP>::StoreGeneric;
+    table[TTileMode][B10G10R10X2_UNORM]             = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B10G10R10X2_UNORM>::StoreGeneric;
+    table[TTileMode][R10G10B10X2_USCALED]           = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R10G10B10X2_USCALED>::StoreGeneric;
+    table[TTileMode][R8G8B8A8_SSCALED]              = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R8G8B8A8_SSCALED>::Store;
+    table[TTileMode][R8G8B8A8_USCALED]              = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R8G8B8A8_USCALED>::Store;
+    table[TTileMode][R16G16_SSCALED]                = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R16G16_SSCALED>::Store;
+    table[TTileMode][R16G16_USCALED]                = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R16G16_USCALED>::Store;
+    table[TTileMode][R32_SSCALED]                   = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R32_SSCALED>::Store;
+    table[TTileMode][R32_USCALED]                   = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R32_USCALED>::Store;
+    table[TTileMode][B5G6R5_UNORM]                  = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, B5G6R5_UNORM>::Store;
+    table[TTileMode][B5G6R5_UNORM_SRGB]             = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, B5G6R5_UNORM_SRGB>::StoreGeneric;
+    table[TTileMode][B5G5R5A1_UNORM]                = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, B5G5R5A1_UNORM>::StoreGeneric;
+    table[TTileMode][B5G5R5A1_UNORM_SRGB]           = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, B5G5R5A1_UNORM_SRGB>::StoreGeneric;
+    table[TTileMode][B4G4R4A4_UNORM]                = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, B4G4R4A4_UNORM>::StoreGeneric;
+    table[TTileMode][B4G4R4A4_UNORM_SRGB]           = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, B4G4R4A4_UNORM_SRGB>::StoreGeneric;
+    table[TTileMode][R8G8_UNORM]                    = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R8G8_UNORM>::Store;
+    table[TTileMode][R8G8_SNORM]                    = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R8G8_SNORM>::Store;
+    table[TTileMode][R8G8_SINT]                     = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R8G8_SINT>::Store;
+    table[TTileMode][R8G8_UINT]                     = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R8G8_UINT>::Store;
+    table[TTileMode][R16_UNORM]                     = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R16_UNORM>::Store;
+    table[TTileMode][R16_SNORM]                     = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R16_SNORM>::Store;
+    table[TTileMode][R16_SINT]                      = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R16_SINT>::Store;
+    table[TTileMode][R16_UINT]                      = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R16_UINT>::Store;
+    table[TTileMode][R16_FLOAT]                     = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R16_FLOAT>::Store;
+    table[TTileMode][A16_UNORM]                     = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, A16_UNORM>::Store;
+    table[TTileMode][A16_FLOAT]                     = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, A16_FLOAT>::Store;
+    table[TTileMode][B5G5R5X1_UNORM]                = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, B5G5R5X1_UNORM>::StoreGeneric;
+    table[TTileMode][B5G5R5X1_UNORM_SRGB]           = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, B5G5R5X1_UNORM_SRGB>::StoreGeneric;
+    table[TTileMode][R8G8_SSCALED]                  = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R8G8_SSCALED>::Store;
+    table[TTileMode][R8G8_USCALED]                  = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R8G8_USCALED>::Store;
+    table[TTileMode][R16_SSCALED]                   = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R16_SSCALED>::Store;
+    table[TTileMode][R16_USCALED]                   = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, R16_USCALED>::Store;
+    table[TTileMode][A1B5G5R5_UNORM]                = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, A1B5G5R5_UNORM>::StoreGeneric;
+    table[TTileMode][A4B4G4R4_UNORM]                = StoreMacroTile<TilingTraits<TTileMode, 16>, R32G32B32A32_FLOAT, A4B4G4R4_UNORM>::StoreGeneric;
+    table[TTileMode][R8_UNORM]                      = StoreMacroTile<TilingTraits<TTileMode, 8>, R32G32B32A32_FLOAT, R8_UNORM>::Store;
+    table[TTileMode][R8_SNORM]                      = StoreMacroTile<TilingTraits<TTileMode, 8>, R32G32B32A32_FLOAT, R8_SNORM>::Store;
+    table[TTileMode][R8_SINT]                       = StoreMacroTile<TilingTraits<TTileMode, 8>, R32G32B32A32_FLOAT, R8_SINT>::Store;
+    table[TTileMode][R8_UINT]                       = StoreMacroTile<TilingTraits<TTileMode, 8>, R32G32B32A32_FLOAT, R8_UINT>::Store;
+    table[TTileMode][A8_UNORM]                      = StoreMacroTile<TilingTraits<TTileMode, 8>, R32G32B32A32_FLOAT, A8_UNORM>::Store;
+    table[TTileMode][R8_SSCALED]                    = StoreMacroTile<TilingTraits<TTileMode, 8>, R32G32B32A32_FLOAT, R8_SSCALED>::Store;
+    table[TTileMode][R8_USCALED]                    = StoreMacroTile<TilingTraits<TTileMode, 8>, R32G32B32A32_FLOAT, R8_USCALED>::Store;
+    table[TTileMode][R8G8B8_UNORM]                  = StoreMacroTile<TilingTraits<TTileMode, 24>, R32G32B32A32_FLOAT, R8G8B8_UNORM>::Store;
+    table[TTileMode][R8G8B8_SNORM]                  = StoreMacroTile<TilingTraits<TTileMode, 24>, R32G32B32A32_FLOAT, R8G8B8_SNORM>::Store;
+    table[TTileMode][R8G8B8_SSCALED]                = StoreMacroTile<TilingTraits<TTileMode, 24>, R32G32B32A32_FLOAT, R8G8B8_SSCALED>::Store;
+    table[TTileMode][R8G8B8_USCALED]                = StoreMacroTile<TilingTraits<TTileMode, 24>, R32G32B32A32_FLOAT, R8G8B8_USCALED>::Store;
+    table[TTileMode][R16G16B16_FLOAT]               = StoreMacroTile<TilingTraits<TTileMode, 48>, R32G32B32A32_FLOAT, R16G16B16_FLOAT>::Store;
+    table[TTileMode][R16G16B16_UNORM]               = StoreMacroTile<TilingTraits<TTileMode, 48>, R32G32B32A32_FLOAT, R16G16B16_UNORM>::Store;
+    table[TTileMode][R16G16B16_SNORM]               = StoreMacroTile<TilingTraits<TTileMode, 48>, R32G32B32A32_FLOAT, R16G16B16_SNORM>::Store;
+    table[TTileMode][R16G16B16_SSCALED]             = StoreMacroTile<TilingTraits<TTileMode, 48>, R32G32B32A32_FLOAT, R16G16B16_SSCALED>::Store;
+    table[TTileMode][R16G16B16_USCALED]             = StoreMacroTile<TilingTraits<TTileMode, 48>, R32G32B32A32_FLOAT, R16G16B16_USCALED>::Store;
+    table[TTileMode][R8G8B8_UNORM_SRGB]             = StoreMacroTile<TilingTraits<TTileMode, 24>, R32G32B32A32_FLOAT, R8G8B8_UNORM_SRGB>::Store;
+    table[TTileMode][R16G16B16_UINT]                = StoreMacroTile<TilingTraits<TTileMode, 48>, R32G32B32A32_FLOAT, R16G16B16_UINT>::Store;
+    table[TTileMode][R16G16B16_SINT]                = StoreMacroTile<TilingTraits<TTileMode, 48>, R32G32B32A32_FLOAT, R16G16B16_SINT>::Store;
+    table[TTileMode][R10G10B10A2_SNORM]             = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R10G10B10A2_SNORM>::StoreGeneric;
+    table[TTileMode][R10G10B10A2_USCALED]           = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R10G10B10A2_USCALED>::StoreGeneric;
+    table[TTileMode][R10G10B10A2_SSCALED]           = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R10G10B10A2_SSCALED>::StoreGeneric;
+    table[TTileMode][R10G10B10A2_SINT]              = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, R10G10B10A2_SINT>::StoreGeneric;
+    table[TTileMode][B10G10R10A2_SNORM]             = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B10G10R10A2_SNORM>::StoreGeneric;
+    table[TTileMode][B10G10R10A2_USCALED]           = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B10G10R10A2_USCALED>::StoreGeneric;
+    table[TTileMode][B10G10R10A2_SSCALED]           = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B10G10R10A2_SSCALED>::StoreGeneric;
+    table[TTileMode][B10G10R10A2_UINT]              = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B10G10R10A2_UINT>::StoreGeneric;
+    table[TTileMode][B10G10R10A2_SINT]              = StoreMacroTile<TilingTraits<TTileMode, 32>, R32G32B32A32_FLOAT, B10G10R10A2_SINT>::StoreGeneric;
+    table[TTileMode][R8G8B8_UINT]                   = StoreMacroTile<TilingTraits<TTileMode, 24>, R32G32B32A32_FLOAT, R8G8B8_UINT>::Store;
+    table[TTileMode][R8G8B8_SINT]                   = StoreMacroTile<TilingTraits<TTileMode, 24>, R32G32B32A32_FLOAT, R8G8B8_SINT>::Store;
 }
 
 //////////////////////////////////////////////////////////////////////////
 /// INIT_STORE_TILES_TABLE - Helper macro for setting up the tables.
-template <SWR_TILE_MODE TileModeT, size_t NumTileModes, size_t ArraySizeT>
+template <SWR_TILE_MODE TTileMode, size_t NumTileModes, size_t ArraySizeT>
 void InitStoreTilesTableDepth(
     PFN_STORE_TILES(&table)[NumTileModes][ArraySizeT])
 {
-    table[TileModeT][R32_FLOAT]                 = StoreMacroTile<TilingTraits<TileModeT, 32>, R32_FLOAT, R32_FLOAT>::Store;
-    table[TileModeT][R24_UNORM_X8_TYPELESS]     = StoreMacroTile<TilingTraits<TileModeT, 32>, R32_FLOAT, R24_UNORM_X8_TYPELESS>::Store;
-    table[TileModeT][R16_UNORM]                 = StoreMacroTile<TilingTraits<TileModeT, 16>, R32_FLOAT, R16_UNORM>::Store;
+   table[TTileMode][R32_FLOAT]                      = StoreMacroTile<TilingTraits<TTileMode, 32>, R32_FLOAT, R32_FLOAT>::Store;
+   table[TTileMode][R24_UNORM_X8_TYPELESS]          = StoreMacroTile<TilingTraits<TTileMode, 32>, R32_FLOAT, R24_UNORM_X8_TYPELESS>::Store;
+   table[TTileMode][R16_UNORM]                      = StoreMacroTile<TilingTraits<TTileMode, 16>, R32_FLOAT, R16_UNORM>::Store;
 }
 
-template <SWR_TILE_MODE TileModeT, size_t NumTileModes, size_t ArraySizeT>
+template <SWR_TILE_MODE TTileMode, size_t NumTileModes, size_t ArraySizeT>
 void InitStoreTilesTableStencil(
     PFN_STORE_TILES(&table)[NumTileModes][ArraySizeT])
 {
-    table[TileModeT][R8_UINT]                   = StoreMacroTile<TilingTraits<TileModeT, 8>, R8_UINT, R8_UINT>::Store;
+    table[TTileMode][R8_UINT]                       = StoreMacroTile<TilingTraits<TTileMode, 8>, R8_UINT, R8_UINT>::Store;
 }