port from perforce

This commit is contained in:
2026-04-18 22:31:51 +02:00
commit 8d0ab5b7cc
8409 changed files with 3972376 additions and 0 deletions

View File

@@ -0,0 +1,506 @@
#pragma once
struct DataFormatByteSize
{
enum Enumeration
{
Unknown = 0,
R32G32B32A32_Typeless = 16,
R32G32B32A32_Float = 16,
R32G32B32A32_UnsignedInteger = 16,
R32G32B32A32_SignedInteger = 16,
R32G32B32_Typeless = 12,
R32G32B32_Float = 12,
R32G32B32_UnsignedInteger = 12,
R32G32B32_SignedInteger = 12,
R16G16B16A16_Typeless = 8,
R16G16B16A16_Float = 8,
R16G16B16A16_UnsignedNormalized = 8,
R16G16B16A16_UnsignedInteger = 8,
R16G16B16A16_SignedNormalized = 8,
R16G16B16A16_SignedInteger = 8,
R32G32_Typeless = 8,
R32G32_Float = 8,
R32G32_UnsignedInteger = 8,
R32G32_SignedInteger = 8,
R32G8X24_Typeless = 8,
D32_Float_S8X24_UnsignedInteger = 8,
R32_Float_X8X24_Typeless = 8,
X32_Typeless_G8X24_UnsignedInteger = 8,
R10G10B10A2_Typeless = 4,
R10G10B10A2_UnsignedNormalized = 4,
R10G10B10A2_UnsignedInteger = 4,
R11G11B10_Float = 4,
R8G8B8A8_Typeless = 4,
R8G8B8A8_UnsignedNormalized = 4,
R8G8B8A8_UnsignedNormalized_SRGB = 4,
R8G8B8A8_UnsignedInteger = 4,
R8G8B8A8_SignedNormalized = 4,
R8G8B8A8_SignedInteger = 4,
R16G16_Typeless = 4,
R16G16_Float = 4,
R16G16_UnsignedNormalized = 4,
R16G16_UnsignedInteger = 4,
R16G16_SignedNormalized = 4,
R16G16_SignedInteger = 4,
R32_Typeless = 4,
D32_Float = 4,
R32_Float = 4,
R32_UnsignedInteger = 4,
R32_SignedInteger = 4,
R24G8_Typeless = 4,
D24_UnsignedNormalized_S8_UnsignedInteger = 4,
R24_UnsignedNormalized_X8_Typeless = 4,
X24_Typeless_G8_UnsignedInteger = 4,
R8G8_Typeless = 2,
R8G8_UnsignedNormalized = 2,
R8G8_UnsignedInteger = 2,
R8G8_SignedNormalized = 2,
R8G8_SignedInteger = 2,
R16_Typeless = 2,
R16_Float = 2,
D16_UnsignedNormalized = 2,
R16_UnsignedNormalized = 2,
R16_UnsignedInteger = 2,
R16_SignedNormalized = 2,
R16_SignedInteger = 2,
R8_Typeless = 1,
R8_UnsignedNormalized = 1,
R8_UnsignedInteger = 1,
R8_SignedNormalized = 1,
R8_SignedInteger = 1,
A8_UnsignedNormalized = 1,
R1_UnsignedNormalized = 1,
R9G9B9E5_SHAREDEXP = 4,
R8G8_B8G8_UnsignedNormalized = 4,
G8R8_G8B8_UnsignedNormalized = 4,
BC1_Typeless = 2,
BC1_UnsignedNormalized = 2,
BC1_UnsignedNormalized_SRGB = 2,
BC2_Typeless = 3,
BC2_UnsignedNormalized = 3,
BC2_UnsignedNormalized_SRGB = 3,
BC3_Typeless = 4,
BC3_UnsignedNormalized = 4,
BC3_UnsignedNormalized_SRGB = 4,
BC4_Typeless = 1,
BC4_UnsignedNormalized = 1,
BC4_SignedNormalized = 1,
BC5_Typeless = 2,
BC5_UnsignedNormalized = 2,
BC5_SignedNormalized = 2,
B5G6R5_UnsignedNormalized = 2,
B5G5R5A1_UnsignedNormalized = 2,
B8G8R8A8_UnsignedNormalized = 4,
B8G8R8X8_UnsignedNormalized = 4
};
};
struct DataFormat
{
enum Enumeration
{
Unknown = 0,
R32G32B32A32_Typeless = 1,
R32G32B32A32_Float = 2,
R32G32B32A32_UnsignedInteger = 3,
R32G32B32A32_SignedInteger = 4,
R32G32B32_Typeless = 5,
R32G32B32_Float = 6,
R32G32B32_UnsignedInteger = 7,
R32G32B32_SignedInteger = 8,
R16G16B16A16_Typeless = 9,
R16G16B16A16_Float = 10,
R16G16B16A16_UnsignedNormalized = 11,
R16G16B16A16_UnsignedInteger = 12,
R16G16B16A16_SignedNormalized = 13,
R16G16B16A16_SignedInteger = 14,
R32G32_Typeless = 15,
R32G32_Float = 16,
R32G32_UnsignedInteger = 17,
R32G32_SignedInteger = 18,
R32G8X24_Typeless = 19,
D32_Float_S8X24_UnsignedInteger = 20,
R32_Float_X8X24_Typeless = 21,
X32_Typeless_G8X24_UnsignedInteger = 22,
R10G10B10A2_Typeless = 23,
R10G10B10A2_UnsignedNormalized = 24,
R10G10B10A2_UnsignedInteger = 25,
R11G11B10_Float = 26,
R8G8B8A8_Typeless = 27,
R8G8B8A8_UnsignedNormalized = 28,
R8G8B8A8_UnsignedNormalized_SRGB = 29,
R8G8B8A8_UnsignedInteger = 30,
R8G8B8A8_SignedNormalized = 31,
R8G8B8A8_SignedInteger = 32,
R16G16_Typeless = 33,
R16G16_Float = 34,
R16G16_UnsignedNormalized = 35,
R16G16_UnsignedInteger = 36,
R16G16_SignedNormalized = 37,
R16G16_SignedInteger = 38,
R32_Typeless = 39,
D32_Float = 40,
R32_Float = 41,
R32_UnsignedInteger = 42,
R32_SignedInteger = 43,
R24G8_Typeless = 44,
D24_UnsignedNormalized_S8_UnsignedInteger = 45,
R24_UnsignedNormalized_X8_Typeless = 46,
X24_Typeless_G8_UnsignedInteger = 47,
R8G8_Typeless = 48,
R8G8_UnsignedNormalized = 49,
R8G8_UnsignedInteger = 50,
R8G8_SignedNormalized = 51,
R8G8_SignedInteger = 52,
R16_Typeless = 53,
R16_Float = 54,
D16_UnsignedNormalized = 55,
R16_UnsignedNormalized = 56,
R16_UnsignedInteger = 57,
R16_SignedNormalized = 58,
R16_SignedInteger = 59,
R8_Typeless = 60,
R8_UnsignedNormalized = 61,
R8_UnsignedInteger = 62,
R8_SignedNormalized = 63,
R8_SignedInteger = 64,
A8_UnsignedNormalized = 65,
R1_UnsignedNormalized = 66,
R9G9B9E5_SHAREDEXP = 67,
R8G8_B8G8_UnsignedNormalized = 68,
G8R8_G8B8_UnsignedNormalized = 69,
BC1_Typeless = 70,
BC1_UnsignedNormalized = 71,
BC1_UnsignedNormalized_SRGB = 72,
BC2_Typeless = 73,
BC2_UnsignedNormalized = 74,
BC2_UnsignedNormalized_SRGB = 75,
BC3_Typeless = 76,
BC3_UnsignedNormalized = 77,
BC3_UnsignedNormalized_SRGB = 78,
BC4_Typeless = 79,
BC4_UnsignedNormalized = 80,
BC4_SignedNormalized = 81,
BC5_Typeless = 82,
BC5_UnsignedNormalized = 83,
BC5_SignedNormalized = 84,
B5G6R5_UnsignedNormalized = 85,
B5G5R5A1_UnsignedNormalized = 86,
B8G8R8A8_UnsignedNormalized = 87,
B8G8R8X8_UnsignedNormalized = 88
};
static DataFormatByteSize::Enumeration GetDataFormatByteSize(Enumeration argValue)
{
switch (argValue)
{
case Unknown: return DataFormatByteSize::Unknown;
case R32G32B32A32_Typeless: return DataFormatByteSize::R32G32B32A32_Typeless;
case R32G32B32A32_Float: return DataFormatByteSize::R32G32B32A32_Float;
case R32G32B32A32_UnsignedInteger: return DataFormatByteSize::R32G32B32A32_UnsignedInteger;
case R32G32B32A32_SignedInteger: return DataFormatByteSize::R32G32B32A32_SignedInteger;
case R32G32B32_Typeless: return DataFormatByteSize::R32G32B32_Typeless;
case R32G32B32_Float: return DataFormatByteSize::R32G32B32_Float;
case R32G32B32_UnsignedInteger: return DataFormatByteSize::R32G32B32_UnsignedInteger;
case R32G32B32_SignedInteger: return DataFormatByteSize::R32G32B32_SignedInteger;
case R16G16B16A16_Typeless: return DataFormatByteSize::R16G16B16A16_Typeless;
case R16G16B16A16_Float: return DataFormatByteSize::R16G16B16A16_Float;
case R16G16B16A16_UnsignedNormalized: return DataFormatByteSize::R16G16B16A16_UnsignedNormalized;
case R16G16B16A16_UnsignedInteger: return DataFormatByteSize::R16G16B16A16_UnsignedInteger;
case R16G16B16A16_SignedNormalized: return DataFormatByteSize::R16G16B16A16_SignedNormalized;
case R16G16B16A16_SignedInteger: return DataFormatByteSize::R16G16B16A16_SignedInteger;
case R32G32_Typeless: return DataFormatByteSize::R32G32_Typeless;
case R32G32_Float: return DataFormatByteSize::R32G32_Float;
case R32G32_UnsignedInteger: return DataFormatByteSize::R32G32_UnsignedInteger;
case R32G32_SignedInteger: return DataFormatByteSize::R32G32_SignedInteger;
case R32G8X24_Typeless: return DataFormatByteSize::R32G8X24_Typeless;
case D32_Float_S8X24_UnsignedInteger: return DataFormatByteSize::D32_Float_S8X24_UnsignedInteger;
case R32_Float_X8X24_Typeless: return DataFormatByteSize::R32_Float_X8X24_Typeless;
case X32_Typeless_G8X24_UnsignedInteger: return DataFormatByteSize::X32_Typeless_G8X24_UnsignedInteger;
case R10G10B10A2_Typeless: return DataFormatByteSize::R10G10B10A2_Typeless;
case R10G10B10A2_UnsignedNormalized: return DataFormatByteSize::R10G10B10A2_UnsignedNormalized;
case R10G10B10A2_UnsignedInteger: return DataFormatByteSize::R10G10B10A2_UnsignedInteger;
case R11G11B10_Float: return DataFormatByteSize::R11G11B10_Float;
case R8G8B8A8_Typeless: return DataFormatByteSize::R8G8B8A8_Typeless;
case R8G8B8A8_UnsignedNormalized: return DataFormatByteSize::R8G8B8A8_UnsignedNormalized;
case R8G8B8A8_UnsignedNormalized_SRGB: return DataFormatByteSize::R8G8B8A8_UnsignedNormalized_SRGB;
case R8G8B8A8_UnsignedInteger: return DataFormatByteSize::R8G8B8A8_UnsignedInteger;
case R8G8B8A8_SignedNormalized: return DataFormatByteSize::R8G8B8A8_SignedNormalized;
case R8G8B8A8_SignedInteger: return DataFormatByteSize::R8G8B8A8_SignedInteger;
case R16G16_Typeless: return DataFormatByteSize::R16G16_Typeless;
case R16G16_Float: return DataFormatByteSize::R16G16_Float;
case R16G16_UnsignedNormalized: return DataFormatByteSize::R16G16_UnsignedNormalized;
case R16G16_UnsignedInteger: return DataFormatByteSize::R16G16_UnsignedInteger;
case R16G16_SignedNormalized: return DataFormatByteSize::R16G16_SignedNormalized;
case R16G16_SignedInteger: return DataFormatByteSize::R16G16_SignedInteger;
case R32_Typeless: return DataFormatByteSize::R32_Typeless;
case D32_Float: return DataFormatByteSize::D32_Float;
case R32_Float: return DataFormatByteSize::R32_Float;
case R32_UnsignedInteger: return DataFormatByteSize::R32_UnsignedInteger;
case R32_SignedInteger: return DataFormatByteSize::R32_SignedInteger;
case R24G8_Typeless: return DataFormatByteSize::R24G8_Typeless;
case D24_UnsignedNormalized_S8_UnsignedInteger: return DataFormatByteSize::D24_UnsignedNormalized_S8_UnsignedInteger;
case R24_UnsignedNormalized_X8_Typeless: return DataFormatByteSize::R24_UnsignedNormalized_X8_Typeless;
case X24_Typeless_G8_UnsignedInteger: return DataFormatByteSize::X24_Typeless_G8_UnsignedInteger;
case R8G8_Typeless: return DataFormatByteSize::R8G8_Typeless;
case R8G8_UnsignedNormalized: return DataFormatByteSize::R8G8_UnsignedNormalized;
case R8G8_UnsignedInteger: return DataFormatByteSize::R8G8_UnsignedInteger;
case R8G8_SignedNormalized: return DataFormatByteSize::R8G8_SignedNormalized;
case R8G8_SignedInteger: return DataFormatByteSize::R8G8_SignedInteger;
case R16_Typeless: return DataFormatByteSize::R16_Typeless;
case R16_Float: return DataFormatByteSize::R16_Float;
case D16_UnsignedNormalized: return DataFormatByteSize::D16_UnsignedNormalized;
case R16_UnsignedNormalized: return DataFormatByteSize::R16_UnsignedNormalized;
case R16_UnsignedInteger: return DataFormatByteSize::R16_UnsignedInteger;
case R16_SignedNormalized: return DataFormatByteSize::R16_SignedNormalized;
case R16_SignedInteger: return DataFormatByteSize::R16_SignedInteger;
case R8_Typeless: return DataFormatByteSize::R8_Typeless;
case R8_UnsignedNormalized: return DataFormatByteSize::R8_UnsignedNormalized;
case R8_UnsignedInteger: return DataFormatByteSize::R8_UnsignedInteger;
case R8_SignedNormalized: return DataFormatByteSize::R8_SignedNormalized;
case R8_SignedInteger: return DataFormatByteSize::R8_SignedInteger;
case A8_UnsignedNormalized: return DataFormatByteSize::A8_UnsignedNormalized;
case R1_UnsignedNormalized: return DataFormatByteSize::R1_UnsignedNormalized;
case R9G9B9E5_SHAREDEXP: return DataFormatByteSize::R9G9B9E5_SHAREDEXP;
case R8G8_B8G8_UnsignedNormalized: return DataFormatByteSize::R8G8_B8G8_UnsignedNormalized;
case G8R8_G8B8_UnsignedNormalized: return DataFormatByteSize::G8R8_G8B8_UnsignedNormalized;
case BC1_Typeless: return DataFormatByteSize::BC1_Typeless;
case BC1_UnsignedNormalized: return DataFormatByteSize::BC1_UnsignedNormalized;
case BC1_UnsignedNormalized_SRGB: return DataFormatByteSize::BC1_UnsignedNormalized_SRGB;
case BC2_Typeless: return DataFormatByteSize::BC2_Typeless;
case BC2_UnsignedNormalized: return DataFormatByteSize::BC2_UnsignedNormalized;
case BC2_UnsignedNormalized_SRGB: return DataFormatByteSize::BC2_UnsignedNormalized_SRGB;
case BC3_Typeless: return DataFormatByteSize::BC3_Typeless;
case BC3_UnsignedNormalized: return DataFormatByteSize::BC3_UnsignedNormalized;
case BC3_UnsignedNormalized_SRGB: return DataFormatByteSize::BC3_UnsignedNormalized_SRGB;
case BC4_Typeless: return DataFormatByteSize::BC4_Typeless;
case BC4_UnsignedNormalized: return DataFormatByteSize::BC4_UnsignedNormalized;
case BC4_SignedNormalized: return DataFormatByteSize::BC4_SignedNormalized;
case BC5_Typeless: return DataFormatByteSize::BC5_Typeless;
case BC5_UnsignedNormalized: return DataFormatByteSize::BC5_UnsignedNormalized;
case BC5_SignedNormalized: return DataFormatByteSize::BC5_SignedNormalized;
case B5G6R5_UnsignedNormalized: return DataFormatByteSize::B5G6R5_UnsignedNormalized;
case B5G5R5A1_UnsignedNormalized: return DataFormatByteSize::B5G5R5A1_UnsignedNormalized;
case B8G8R8A8_UnsignedNormalized: return DataFormatByteSize::B8G8R8A8_UnsignedNormalized;
case B8G8R8X8_UnsignedNormalized: return DataFormatByteSize::B8G8R8X8_UnsignedNormalized;
default: return DataFormatByteSize::Unknown;
}
}
static Enumeration Parse(string8 argValue)
{
if (argValue == "R32G32B32A32_Typeless") return R32G32B32A32_Typeless;
else if (argValue == "R32G32B32A32_Float") return R32G32B32A32_Float;
else if (argValue == "R32G32B32A32_UnsignedInteger") return R32G32B32A32_UnsignedInteger;
else if (argValue == "R32G32B32A32_SignedInteger") return R32G32B32A32_SignedInteger;
else if (argValue == "R32G32B32_Typeless") return R32G32B32_Typeless;
else if (argValue == "R32G32B32_Float") return R32G32B32_Float;
else if (argValue == "R32G32B32_UnsignedInteger") return R32G32B32_UnsignedInteger;
else if (argValue == "R32G32B32_SignedInteger") return R32G32B32_SignedInteger;
else if (argValue == "R16G16B16A16_Typeless") return R16G16B16A16_Typeless;
else if (argValue == "R16G16B16A16_Float") return R16G16B16A16_Float;
else if (argValue == "R16G16B16A16_UnsignedNormalized") return R16G16B16A16_UnsignedNormalized;
else if (argValue == "R16G16B16A16_UnsignedInteger") return R16G16B16A16_UnsignedInteger;
else if (argValue == "R16G16B16A16_SignedNormalized") return R16G16B16A16_SignedNormalized;
else if (argValue == "R16G16B16A16_SignedInteger") return R16G16B16A16_SignedInteger;
else if (argValue == "R32G32_Typeless") return R32G32_Typeless;
else if (argValue == "R32G32_Float") return R32G32_Float;
else if (argValue == "R32G32_UnsignedInteger") return R32G32_UnsignedInteger;
else if (argValue == "R32G32_SignedInteger") return R32G32_SignedInteger;
else if (argValue == "R32G8X24_Typeless") return R32G8X24_Typeless;
else if (argValue == "D32_Float_S8X24_UnsignedInteger") return D32_Float_S8X24_UnsignedInteger;
else if (argValue == "R32_Float_X8X24_Typeless") return R32_Float_X8X24_Typeless;
else if (argValue == "X32_Typeless_G8X24_UnsignedInteger") return X32_Typeless_G8X24_UnsignedInteger;
else if (argValue == "R10G10B10A2_Typeless") return R10G10B10A2_Typeless;
else if (argValue == "R10G10B10A2_UnsignedNormalized") return R10G10B10A2_UnsignedNormalized;
else if (argValue == "R10G10B10A2_UnsignedInteger") return R10G10B10A2_UnsignedInteger;
else if (argValue == "R11G11B10_Float") return R11G11B10_Float;
else if (argValue == "R8G8B8A8_Typeless") return R8G8B8A8_Typeless;
else if (argValue == "R8G8B8A8_UnsignedNormalized") return R8G8B8A8_UnsignedNormalized;
else if (argValue == "R8G8B8A8_UnsignedNormalized_SRGB") return R8G8B8A8_UnsignedNormalized_SRGB;
else if (argValue == "R8G8B8A8_UnsignedInteger") return R8G8B8A8_UnsignedInteger;
else if (argValue == "R8G8B8A8_SignedNormalized") return R8G8B8A8_SignedNormalized;
else if (argValue == "R8G8B8A8_SignedInteger") return R8G8B8A8_SignedInteger;
else if (argValue == "R16G16_Typeless") return R16G16_Typeless;
else if (argValue == "R16G16_Float") return R16G16_Float;
else if (argValue == "R16G16_UnsignedNormalized") return R16G16_UnsignedNormalized;
else if (argValue == "R16G16_UnsignedInteger") return R16G16_UnsignedInteger;
else if (argValue == "R16G16_SignedNormalized") return R16G16_SignedNormalized;
else if (argValue == "R16G16_SignedInteger") return R16G16_SignedInteger;
else if (argValue == "R32_Typeless") return R32_Typeless;
else if (argValue == "D32_Float") return D32_Float;
else if (argValue == "R32_Float") return R32_Float;
else if (argValue == "R32_UnsignedInteger") return R32_UnsignedInteger;
else if (argValue == "R32_SignedInteger") return R32_SignedInteger;
else if (argValue == "R24G8_Typeless") return R24G8_Typeless;
else if (argValue == "D24_UnsignedNormalized_S8_UnsignedInteger") return D24_UnsignedNormalized_S8_UnsignedInteger;
else if (argValue == "R24_UnsignedNormalized_X8_Typeless") return R24_UnsignedNormalized_X8_Typeless;
else if (argValue == "X24_Typeless_G8_UnsignedInteger") return X24_Typeless_G8_UnsignedInteger;
else if (argValue == "R8G8_Typeless") return R8G8_Typeless;
else if (argValue == "R8G8_UnsignedNormalized") return R8G8_UnsignedNormalized;
else if (argValue == "R8G8_UnsignedInteger") return R8G8_UnsignedInteger;
else if (argValue == "R8G8_SignedNormalized") return R8G8_SignedNormalized;
else if (argValue == "R8G8_SignedInteger") return R8G8_SignedInteger;
else if (argValue == "R16_Typeless") return R16_Typeless;
else if (argValue == "R16_Float") return R16_Float;
else if (argValue == "D16_UnsignedNormalized") return D16_UnsignedNormalized;
else if (argValue == "R16_UnsignedNormalized") return R16_UnsignedNormalized;
else if (argValue == "R16_UnsignedInteger") return R16_UnsignedInteger;
else if (argValue == "R16_SignedNormalized") return R16_SignedNormalized;
else if (argValue == "R16_SignedInteger") return R16_SignedInteger;
else if (argValue == "R8_Typeless") return R8_Typeless;
else if (argValue == "R8_UnsignedNormalized") return R8_UnsignedNormalized;
else if (argValue == "R8_UnsignedInteger") return R8_UnsignedInteger;
else if (argValue == "R8_SignedNormalized") return R8_SignedNormalized;
else if (argValue == "R8_SignedInteger") return R8_SignedInteger;
else if (argValue == "A8_UnsignedNormalized") return A8_UnsignedNormalized;
else if (argValue == "R1_UnsignedNormalized") return R1_UnsignedNormalized;
else if (argValue == "R9G9B9E5_SHAREDEXP") return R9G9B9E5_SHAREDEXP;
else if (argValue == "R8G8_B8G8_UnsignedNormalized") return R8G8_B8G8_UnsignedNormalized;
else if (argValue == "G8R8_G8B8_UnsignedNormalized") return G8R8_G8B8_UnsignedNormalized;
else if (argValue == "BC1_Typeless") return BC1_Typeless;
else if (argValue == "BC1_UnsignedNormalized") return BC1_UnsignedNormalized;
else if (argValue == "BC1_UnsignedNormalized_SRGB") return BC1_UnsignedNormalized_SRGB;
else if (argValue == "BC2_Typeless") return BC2_Typeless;
else if (argValue == "BC2_UnsignedNormalized") return BC2_UnsignedNormalized;
else if (argValue == "BC2_UnsignedNormalized_SRGB") return BC2_UnsignedNormalized_SRGB;
else if (argValue == "BC3_Typeless") return BC3_Typeless;
else if (argValue == "BC3_UnsignedNormalized") return BC3_UnsignedNormalized;
else if (argValue == "BC3_UnsignedNormalized_SRGB") return BC3_UnsignedNormalized_SRGB;
else if (argValue == "BC4_Typeless") return BC4_Typeless;
else if (argValue == "BC4_UnsignedNormalized") return BC4_UnsignedNormalized;
else if (argValue == "BC4_SignedNormalized") return BC4_SignedNormalized;
else if (argValue == "BC5_Typeless") return BC5_Typeless;
else if (argValue == "BC5_UnsignedNormalized") return BC5_UnsignedNormalized;
else if (argValue == "BC5_SignedNormalized") return BC5_SignedNormalized;
else if (argValue == "B5G6R5_UnsignedNormalized") return B5G6R5_UnsignedNormalized;
else if (argValue == "B5G5R5A1_UnsignedNormalized") return B5G5R5A1_UnsignedNormalized;
else if (argValue == "B8G8R8A8_UnsignedNormalized") return B8G8R8A8_UnsignedNormalized;
else if (argValue == "B8G8R8X8_UnsignedNormalized") return B8G8R8X8_UnsignedNormalized;
else return Unknown;
}
// {^.*case}:b{<.*}:b[=].*
// \1 \2: return "\2";
static string8 ToString(Enumeration argValue)
{
switch (argValue)
{
case Unknown: return "Unknown";
case R32G32B32A32_Typeless: return "R32G32B32A32_Typeless";
case R32G32B32A32_Float: return "R32G32B32A32_Float";
case R32G32B32A32_UnsignedInteger: return "R32G32B32A32_UnsignedInteger";
case R32G32B32A32_SignedInteger: return "R32G32B32A32_SignedInteger";
case R32G32B32_Typeless: return "R32G32B32_Typeless";
case R32G32B32_Float: return "R32G32B32_Float";
case R32G32B32_UnsignedInteger: return "R32G32B32_UnsignedInteger";
case R32G32B32_SignedInteger: return "R32G32B32_SignedInteger";
case R16G16B16A16_Typeless: return "R16G16B16A16_Typeless";
case R16G16B16A16_Float: return "R16G16B16A16_Float";
case R16G16B16A16_UnsignedNormalized: return "R16G16B16A16_UnsignedNormalized";
case R16G16B16A16_UnsignedInteger: return "R16G16B16A16_UnsignedInteger";
case R16G16B16A16_SignedNormalized: return "R16G16B16A16_SignedNormalized";
case R16G16B16A16_SignedInteger: return "R16G16B16A16_SignedInteger";
case R32G32_Typeless: return "R32G32_Typeless";
case R32G32_Float: return "R32G32_Float";
case R32G32_UnsignedInteger: return "R32G32_UnsignedInteger";
case R32G32_SignedInteger: return "R32G32_SignedInteger";
case R32G8X24_Typeless: return "R32G8X24_Typeless";
case D32_Float_S8X24_UnsignedInteger: return "D32_Float_S8X24_UnsignedInteger";
case R32_Float_X8X24_Typeless: return "R32_Float_X8X24_Typeless";
case X32_Typeless_G8X24_UnsignedInteger: return "X32_Typeless_G8X24_UnsignedInteger";
case R10G10B10A2_Typeless: return "R10G10B10A2_Typeless";
case R10G10B10A2_UnsignedNormalized: return "R10G10B10A2_UnsignedNormalized";
case R10G10B10A2_UnsignedInteger: return "R10G10B10A2_UnsignedInteger";
case R11G11B10_Float: return "R11G11B10_Float";
case R8G8B8A8_Typeless: return "R8G8B8A8_Typeless";
case R8G8B8A8_UnsignedNormalized: return "R8G8B8A8_UnsignedNormalized";
case R8G8B8A8_UnsignedNormalized_SRGB: return "R8G8B8A8_UnsignedNormalized_SRGB";
case R8G8B8A8_UnsignedInteger: return "R8G8B8A8_UnsignedInteger";
case R8G8B8A8_SignedNormalized: return "R8G8B8A8_SignedNormalized";
case R8G8B8A8_SignedInteger: return "R8G8B8A8_SignedInteger";
case R16G16_Typeless: return "R16G16_Typeless";
case R16G16_Float: return "R16G16_Float";
case R16G16_UnsignedNormalized: return "R16G16_UnsignedNormalized";
case R16G16_UnsignedInteger: return "R16G16_UnsignedInteger";
case R16G16_SignedNormalized: return "R16G16_SignedNormalized";
case R16G16_SignedInteger: return "R16G16_SignedInteger";
case R32_Typeless: return "R32_Typeless";
case D32_Float: return "D32_Float";
case R32_Float: return "R32_Float";
case R32_UnsignedInteger: return "R32_UnsignedInteger";
case R32_SignedInteger: return "R32_SignedInteger";
case R24G8_Typeless: return "R24G8_Typeless";
case D24_UnsignedNormalized_S8_UnsignedInteger: return "D24_UnsignedNormalized_S8_UnsignedInteger";
case R24_UnsignedNormalized_X8_Typeless: return "R24_UnsignedNormalized_X8_Typeless";
case X24_Typeless_G8_UnsignedInteger: return "X24_Typeless_G8_UnsignedInteger";
case R8G8_Typeless: return "R8G8_Typeless";
case R8G8_UnsignedNormalized: return "R8G8_UnsignedNormalized";
case R8G8_UnsignedInteger: return "R8G8_UnsignedInteger";
case R8G8_SignedNormalized: return "R8G8_SignedNormalized";
case R8G8_SignedInteger: return "R8G8_SignedInteger";
case R16_Typeless: return "R16_Typeless";
case R16_Float: return "R16_Float";
case D16_UnsignedNormalized: return "D16_UnsignedNormalized";
case R16_UnsignedNormalized: return "R16_UnsignedNormalized";
case R16_UnsignedInteger: return "R16_UnsignedInteger";
case R16_SignedNormalized: return "R16_SignedNormalized";
case R16_SignedInteger: return "R16_SignedInteger";
case R8_Typeless: return "R8_Typeless";
case R8_UnsignedNormalized: return "R8_UnsignedNormalized";
case R8_UnsignedInteger: return "R8_UnsignedInteger";
case R8_SignedNormalized: return "R8_SignedNormalized";
case R8_SignedInteger: return "R8_SignedInteger";
case A8_UnsignedNormalized: return "A8_UnsignedNormalized";
case R1_UnsignedNormalized: return "R1_UnsignedNormalized";
case R9G9B9E5_SHAREDEXP: return "R9G9B9E5_SHAREDEXP";
case R8G8_B8G8_UnsignedNormalized: return "R8G8_B8G8_UnsignedNormalized";
case G8R8_G8B8_UnsignedNormalized: return "G8R8_G8B8_UnsignedNormalized";
case BC1_Typeless: return "BC1_Typeless";
case BC1_UnsignedNormalized: return "BC1_UnsignedNormalized";
case BC1_UnsignedNormalized_SRGB: return "BC1_UnsignedNormalized_SRGB";
case BC2_Typeless: return "BC2_Typeless";
case BC2_UnsignedNormalized: return "BC2_UnsignedNormalized";
case BC2_UnsignedNormalized_SRGB: return "BC2_UnsignedNormalized_SRGB";
case BC3_Typeless: return "BC3_Typeless";
case BC3_UnsignedNormalized: return "BC3_UnsignedNormalized";
case BC3_UnsignedNormalized_SRGB: return "BC3_UnsignedNormalized_SRGB";
case BC4_Typeless: return "BC4_Typeless";
case BC4_UnsignedNormalized: return "BC4_UnsignedNormalized";
case BC4_SignedNormalized: return "BC4_SignedNormalized";
case BC5_Typeless: return "BC5_Typeless";
case BC5_UnsignedNormalized: return "BC5_UnsignedNormalized";
case BC5_SignedNormalized: return "BC5_SignedNormalized";
case B5G6R5_UnsignedNormalized: return "B5G6R5_UnsignedNormalized";
case B5G5R5A1_UnsignedNormalized: return "B5G5R5A1_UnsignedNormalized";
case B8G8R8A8_UnsignedNormalized: return "B8G8R8A8_UnsignedNormalized";
case B8G8R8X8_UnsignedNormalized: return "B8G8R8X8_UnsignedNormalized";
default: return "Unknown";
}
}
};
struct DataAccessMode
{
enum Enumeration
{
Read = 1,
Write = 2,
ReadAndWrite = 3,
WriteAndDiscard = 4
};
};
struct DataAccessType
{
enum Enumeration
{
Static, // no CPU access
CpuReadOnly, // Resource is only readable and cannot be used by the GPU for rendering purposes
Dynamic // Resource may change every frame
};
};