#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 }; };