diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/common/formats.cpp | 2890 | ||||
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/common/formats.h | 367 | ||||
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/core/format_traits.h | 480 | ||||
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/core/utils.h | 12 | ||||
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/memory/Convert.h | 37 | ||||
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/memory/LoadTile.h | 262 | ||||
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/memory/StoreTile.h | 249 |
7 files changed, 2592 insertions, 1705 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/common/formats.cpp b/src/gallium/drivers/swr/rasterizer/common/formats.cpp index 2d2bf21f36e..b3a95f2bf03 100644 --- a/src/gallium/drivers/swr/rasterizer/common/formats.cpp +++ b/src/gallium/drivers/swr/rasterizer/common/formats.cpp @@ -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"), @@ -20,39 +19,56 @@ * 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 - } + }, }; + diff --git a/src/gallium/drivers/swr/rasterizer/common/formats.h b/src/gallium/drivers/swr/rasterizer/common/formats.h index 1f5fe190ff5..539e37afb34 100644 --- a/src/gallium/drivers/swr/rasterizer/common/formats.h +++ b/src/gallium/drivers/swr/rasterizer/common/formats.h @@ -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]; + diff --git a/src/gallium/drivers/swr/rasterizer/core/format_traits.h b/src/gallium/drivers/swr/rasterizer/core/format_traits.h index ba36498b952..d55ee1fab6d 100644 --- a/src/gallium/drivers/swr/rasterizer/core/format_traits.h +++ b/src/gallium/drivers/swr/rasterizer/core/format_traits.h @@ -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"), @@ -20,21 +19,19 @@ * 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; +}; diff --git a/src/gallium/drivers/swr/rasterizer/core/utils.h b/src/gallium/drivers/swr/rasterizer/core/utils.h index 00878925359..96f061a78af 100644 --- a/src/gallium/drivers/swr/rasterizer/core/utils.h +++ b/src/gallium/drivers/swr/rasterizer/core/utils.h @@ -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 diff --git a/src/gallium/drivers/swr/rasterizer/memory/Convert.h b/src/gallium/drivers/swr/rasterizer/memory/Convert.h index b790d35e49d..c31459c12f5 100644 --- a/src/gallium/drivers/swr/rasterizer/memory/Convert.h +++ b/src/gallium/drivers/swr/rasterizer/memory/Convert.h @@ -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; } } - - diff --git a/src/gallium/drivers/swr/rasterizer/memory/LoadTile.h b/src/gallium/drivers/swr/rasterizer/memory/LoadTile.h index 3807f4dedeb..a0ac3fec07e 100644 --- a/src/gallium/drivers/swr/rasterizer/memory/LoadTile.h +++ b/src/gallium/drivers/swr/rasterizer/memory/LoadTile.h @@ -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; } + diff --git a/src/gallium/drivers/swr/rasterizer/memory/StoreTile.h b/src/gallium/drivers/swr/rasterizer/memory/StoreTile.h index af3be09585f..95a1adbc8db 100644 --- a/src/gallium/drivers/swr/rasterizer/memory/StoreTile.h +++ b/src/gallium/drivers/swr/rasterizer/memory/StoreTile.h @@ -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; } |