mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 17:40:39 +00:00
Add MakeResourceFormat for VkFormat
This commit is contained in:
@@ -42,6 +42,8 @@ enum FormatComponentType
|
||||
eCompType_SNorm,
|
||||
eCompType_UInt,
|
||||
eCompType_SInt,
|
||||
eCompType_UScaled,
|
||||
eCompType_SScaled,
|
||||
eCompType_Depth,
|
||||
eCompType_Double,
|
||||
};
|
||||
|
||||
@@ -118,11 +118,635 @@ ResourceFormat MakeResourceFormat(VkFormat fmt)
|
||||
ret.specialFormat = eSpecial_Unknown;
|
||||
ret.strname = ToStr::Get(fmt).substr(10); // 3 == strlen("VK_FORMAT_")
|
||||
|
||||
|
||||
// VKTODOHIGH generate resource format
|
||||
ret.compByteWidth = 1;
|
||||
ret.compCount = 4;
|
||||
ret.compType = eCompType_UNorm;
|
||||
ret.srgbCorrected = false;
|
||||
if(fmt == VK_FORMAT_UNDEFINED)
|
||||
{
|
||||
ret.compCount = 0;
|
||||
ret.compByteWidth = 0;
|
||||
ret.compType = eCompType_None;
|
||||
ret.srgbCorrected = false;
|
||||
return ret;
|
||||
}
|
||||
|
||||
// VKTODOMED R4G4, R4G4B4A4, and refactor BGRA formats
|
||||
|
||||
switch(fmt)
|
||||
{
|
||||
case VK_FORMAT_B4G4R4A4_UNORM:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_B4G4R4A4;
|
||||
break;
|
||||
case VK_FORMAT_R10G10B10A2_UNORM:
|
||||
case VK_FORMAT_R10G10B10A2_SNORM:
|
||||
case VK_FORMAT_R10G10B10A2_USCALED:
|
||||
case VK_FORMAT_R10G10B10A2_SSCALED:
|
||||
case VK_FORMAT_R10G10B10A2_UINT:
|
||||
case VK_FORMAT_R10G10B10A2_SINT:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_R10G10B10A2;
|
||||
break;
|
||||
case VK_FORMAT_R11G11B10_UFLOAT:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_R11G11B10;
|
||||
break;
|
||||
case VK_FORMAT_R9G9B9E5_UFLOAT:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_R9G9B9E5;
|
||||
break;
|
||||
case VK_FORMAT_D16_UNORM_S8_UINT:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_D16S8;
|
||||
break;
|
||||
case VK_FORMAT_D24_UNORM_S8_UINT:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_D24S8;
|
||||
break;
|
||||
case VK_FORMAT_D32_SFLOAT_S8_UINT:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_D32S8;
|
||||
break;
|
||||
case VK_FORMAT_BC1_RGB_UNORM:
|
||||
case VK_FORMAT_BC1_RGB_SRGB:
|
||||
case VK_FORMAT_BC1_RGBA_UNORM:
|
||||
case VK_FORMAT_BC1_RGBA_SRGB:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_BC1;
|
||||
break;
|
||||
case VK_FORMAT_BC2_UNORM:
|
||||
case VK_FORMAT_BC2_SRGB:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_BC2;
|
||||
break;
|
||||
case VK_FORMAT_BC3_UNORM:
|
||||
case VK_FORMAT_BC3_SRGB:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_BC3;
|
||||
break;
|
||||
case VK_FORMAT_BC4_UNORM:
|
||||
case VK_FORMAT_BC4_SNORM:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_BC4;
|
||||
break;
|
||||
case VK_FORMAT_BC5_UNORM:
|
||||
case VK_FORMAT_BC5_SNORM:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_BC5;
|
||||
break;
|
||||
case VK_FORMAT_BC6H_UFLOAT:
|
||||
case VK_FORMAT_BC6H_SFLOAT:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_BC6;
|
||||
break;
|
||||
case VK_FORMAT_BC7_UNORM:
|
||||
case VK_FORMAT_BC7_SRGB:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_BC7;
|
||||
break;
|
||||
case VK_FORMAT_ETC2_R8G8B8_UNORM:
|
||||
case VK_FORMAT_ETC2_R8G8B8_SRGB:
|
||||
case VK_FORMAT_ETC2_R8G8B8A1_UNORM:
|
||||
case VK_FORMAT_ETC2_R8G8B8A1_SRGB:
|
||||
case VK_FORMAT_ETC2_R8G8B8A8_UNORM:
|
||||
case VK_FORMAT_ETC2_R8G8B8A8_SRGB:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_ETC2;
|
||||
break;
|
||||
case VK_FORMAT_EAC_R11_UNORM:
|
||||
case VK_FORMAT_EAC_R11_SNORM:
|
||||
case VK_FORMAT_EAC_R11G11_UNORM:
|
||||
case VK_FORMAT_EAC_R11G11_SNORM:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_EAC;
|
||||
break;
|
||||
case VK_FORMAT_ASTC_4x4_UNORM:
|
||||
case VK_FORMAT_ASTC_4x4_SRGB:
|
||||
case VK_FORMAT_ASTC_5x4_UNORM:
|
||||
case VK_FORMAT_ASTC_5x4_SRGB:
|
||||
case VK_FORMAT_ASTC_5x5_UNORM:
|
||||
case VK_FORMAT_ASTC_5x5_SRGB:
|
||||
case VK_FORMAT_ASTC_6x5_UNORM:
|
||||
case VK_FORMAT_ASTC_6x5_SRGB:
|
||||
case VK_FORMAT_ASTC_6x6_UNORM:
|
||||
case VK_FORMAT_ASTC_6x6_SRGB:
|
||||
case VK_FORMAT_ASTC_8x5_UNORM:
|
||||
case VK_FORMAT_ASTC_8x5_SRGB:
|
||||
case VK_FORMAT_ASTC_8x6_UNORM:
|
||||
case VK_FORMAT_ASTC_8x6_SRGB:
|
||||
case VK_FORMAT_ASTC_8x8_UNORM:
|
||||
case VK_FORMAT_ASTC_8x8_SRGB:
|
||||
case VK_FORMAT_ASTC_10x5_UNORM:
|
||||
case VK_FORMAT_ASTC_10x5_SRGB:
|
||||
case VK_FORMAT_ASTC_10x6_UNORM:
|
||||
case VK_FORMAT_ASTC_10x6_SRGB:
|
||||
case VK_FORMAT_ASTC_10x8_UNORM:
|
||||
case VK_FORMAT_ASTC_10x8_SRGB:
|
||||
case VK_FORMAT_ASTC_10x10_UNORM:
|
||||
case VK_FORMAT_ASTC_10x10_SRGB:
|
||||
case VK_FORMAT_ASTC_12x10_UNORM:
|
||||
case VK_FORMAT_ASTC_12x10_SRGB:
|
||||
case VK_FORMAT_ASTC_12x12_UNORM:
|
||||
case VK_FORMAT_ASTC_12x12_SRGB:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_ASTC;
|
||||
break;
|
||||
case VK_FORMAT_B8G8R8A8_UNORM:
|
||||
case VK_FORMAT_B8G8R8A8_SNORM:
|
||||
case VK_FORMAT_B8G8R8A8_USCALED:
|
||||
case VK_FORMAT_B8G8R8A8_SSCALED:
|
||||
case VK_FORMAT_B8G8R8A8_UINT:
|
||||
case VK_FORMAT_B8G8R8A8_SINT:
|
||||
case VK_FORMAT_B8G8R8A8_SRGB:
|
||||
ret.special = true;
|
||||
ret.specialFormat = eSpecial_B8G8R8A8;
|
||||
break;
|
||||
}
|
||||
|
||||
switch(fmt)
|
||||
{
|
||||
case VK_FORMAT_R8_UNORM:
|
||||
case VK_FORMAT_R8_SNORM:
|
||||
case VK_FORMAT_R8_USCALED:
|
||||
case VK_FORMAT_R8_SSCALED:
|
||||
case VK_FORMAT_R8_UINT:
|
||||
case VK_FORMAT_R8_SINT:
|
||||
case VK_FORMAT_R8_SRGB:
|
||||
case VK_FORMAT_R16_UNORM:
|
||||
case VK_FORMAT_R16_SNORM:
|
||||
case VK_FORMAT_R16_USCALED:
|
||||
case VK_FORMAT_R16_SSCALED:
|
||||
case VK_FORMAT_R16_UINT:
|
||||
case VK_FORMAT_R16_SINT:
|
||||
case VK_FORMAT_R16_SFLOAT:
|
||||
case VK_FORMAT_R32_UINT:
|
||||
case VK_FORMAT_R32_SINT:
|
||||
case VK_FORMAT_R32_SFLOAT:
|
||||
case VK_FORMAT_R64_SFLOAT:
|
||||
case VK_FORMAT_D16_UNORM:
|
||||
case VK_FORMAT_D24_UNORM:
|
||||
case VK_FORMAT_D32_SFLOAT:
|
||||
case VK_FORMAT_S8_UINT:
|
||||
case VK_FORMAT_BC4_UNORM:
|
||||
case VK_FORMAT_BC4_SNORM:
|
||||
case VK_FORMAT_EAC_R11_UNORM:
|
||||
case VK_FORMAT_EAC_R11_SNORM:
|
||||
ret.compCount = 1;
|
||||
break;
|
||||
case VK_FORMAT_R4G4_UNORM:
|
||||
case VK_FORMAT_R4G4_USCALED:
|
||||
case VK_FORMAT_R8G8_UNORM:
|
||||
case VK_FORMAT_R8G8_SNORM:
|
||||
case VK_FORMAT_R8G8_USCALED:
|
||||
case VK_FORMAT_R8G8_SSCALED:
|
||||
case VK_FORMAT_R8G8_UINT:
|
||||
case VK_FORMAT_R8G8_SINT:
|
||||
case VK_FORMAT_R8G8_SRGB:
|
||||
case VK_FORMAT_R16G16_UNORM:
|
||||
case VK_FORMAT_R16G16_SNORM:
|
||||
case VK_FORMAT_R16G16_USCALED:
|
||||
case VK_FORMAT_R16G16_SSCALED:
|
||||
case VK_FORMAT_R16G16_UINT:
|
||||
case VK_FORMAT_R16G16_SINT:
|
||||
case VK_FORMAT_R16G16_SFLOAT:
|
||||
case VK_FORMAT_R32G32_UINT:
|
||||
case VK_FORMAT_R32G32_SINT:
|
||||
case VK_FORMAT_R32G32_SFLOAT:
|
||||
case VK_FORMAT_R64G64_SFLOAT:
|
||||
case VK_FORMAT_D16_UNORM_S8_UINT:
|
||||
case VK_FORMAT_D24_UNORM_S8_UINT:
|
||||
case VK_FORMAT_D32_SFLOAT_S8_UINT:
|
||||
case VK_FORMAT_BC5_UNORM:
|
||||
case VK_FORMAT_BC5_SNORM:
|
||||
case VK_FORMAT_EAC_R11G11_UNORM:
|
||||
case VK_FORMAT_EAC_R11G11_SNORM:
|
||||
ret.compCount = 2;
|
||||
break;
|
||||
case VK_FORMAT_R5G6B5_UNORM:
|
||||
case VK_FORMAT_R5G6B5_USCALED:
|
||||
case VK_FORMAT_R8G8B8_UNORM:
|
||||
case VK_FORMAT_R8G8B8_SNORM:
|
||||
case VK_FORMAT_R8G8B8_USCALED:
|
||||
case VK_FORMAT_R8G8B8_SSCALED:
|
||||
case VK_FORMAT_R8G8B8_UINT:
|
||||
case VK_FORMAT_R8G8B8_SINT:
|
||||
case VK_FORMAT_R8G8B8_SRGB:
|
||||
case VK_FORMAT_R16G16B16_UNORM:
|
||||
case VK_FORMAT_R16G16B16_SNORM:
|
||||
case VK_FORMAT_R16G16B16_USCALED:
|
||||
case VK_FORMAT_R16G16B16_SSCALED:
|
||||
case VK_FORMAT_R16G16B16_UINT:
|
||||
case VK_FORMAT_R16G16B16_SINT:
|
||||
case VK_FORMAT_R16G16B16_SFLOAT:
|
||||
case VK_FORMAT_R64G64B64_SFLOAT:
|
||||
case VK_FORMAT_R11G11B10_UFLOAT:
|
||||
case VK_FORMAT_R9G9B9E5_UFLOAT:
|
||||
case VK_FORMAT_BC1_RGB_UNORM:
|
||||
case VK_FORMAT_BC1_RGB_SRGB:
|
||||
case VK_FORMAT_BC6H_UFLOAT:
|
||||
case VK_FORMAT_BC6H_SFLOAT:
|
||||
case VK_FORMAT_ETC2_R8G8B8_UNORM:
|
||||
case VK_FORMAT_ETC2_R8G8B8_SRGB:
|
||||
case VK_FORMAT_B5G6R5_UNORM:
|
||||
case VK_FORMAT_B5G6R5_USCALED:
|
||||
case VK_FORMAT_B8G8R8_UNORM:
|
||||
case VK_FORMAT_B8G8R8_SNORM:
|
||||
case VK_FORMAT_B8G8R8_USCALED:
|
||||
case VK_FORMAT_B8G8R8_SSCALED:
|
||||
case VK_FORMAT_B8G8R8_UINT:
|
||||
case VK_FORMAT_B8G8R8_SINT:
|
||||
case VK_FORMAT_B8G8R8_SRGB:
|
||||
ret.compCount = 3;
|
||||
break;
|
||||
case VK_FORMAT_R4G4B4A4_UNORM:
|
||||
case VK_FORMAT_R4G4B4A4_USCALED:
|
||||
case VK_FORMAT_R5G5B5A1_UNORM:
|
||||
case VK_FORMAT_R5G5B5A1_USCALED:
|
||||
case VK_FORMAT_R8G8B8A8_UNORM:
|
||||
case VK_FORMAT_R8G8B8A8_SNORM:
|
||||
case VK_FORMAT_R8G8B8A8_USCALED:
|
||||
case VK_FORMAT_R8G8B8A8_SSCALED:
|
||||
case VK_FORMAT_R8G8B8A8_UINT:
|
||||
case VK_FORMAT_R8G8B8A8_SINT:
|
||||
case VK_FORMAT_R8G8B8A8_SRGB:
|
||||
case VK_FORMAT_R32G32B32_UINT:
|
||||
case VK_FORMAT_R32G32B32_SINT:
|
||||
case VK_FORMAT_R32G32B32_SFLOAT:
|
||||
case VK_FORMAT_R10G10B10A2_UNORM:
|
||||
case VK_FORMAT_R10G10B10A2_SNORM:
|
||||
case VK_FORMAT_R10G10B10A2_USCALED:
|
||||
case VK_FORMAT_R10G10B10A2_SSCALED:
|
||||
case VK_FORMAT_R10G10B10A2_UINT:
|
||||
case VK_FORMAT_R10G10B10A2_SINT:
|
||||
case VK_FORMAT_R16G16B16A16_UNORM:
|
||||
case VK_FORMAT_R16G16B16A16_SNORM:
|
||||
case VK_FORMAT_R16G16B16A16_USCALED:
|
||||
case VK_FORMAT_R16G16B16A16_SSCALED:
|
||||
case VK_FORMAT_R16G16B16A16_UINT:
|
||||
case VK_FORMAT_R16G16B16A16_SINT:
|
||||
case VK_FORMAT_R16G16B16A16_SFLOAT:
|
||||
case VK_FORMAT_R32G32B32A32_UINT:
|
||||
case VK_FORMAT_R32G32B32A32_SINT:
|
||||
case VK_FORMAT_R32G32B32A32_SFLOAT:
|
||||
case VK_FORMAT_R64G64B64A64_SFLOAT:
|
||||
case VK_FORMAT_BC1_RGBA_UNORM:
|
||||
case VK_FORMAT_BC1_RGBA_SRGB:
|
||||
case VK_FORMAT_BC2_UNORM:
|
||||
case VK_FORMAT_BC2_SRGB:
|
||||
case VK_FORMAT_BC3_UNORM:
|
||||
case VK_FORMAT_BC3_SRGB:
|
||||
case VK_FORMAT_BC7_UNORM:
|
||||
case VK_FORMAT_BC7_SRGB:
|
||||
case VK_FORMAT_ETC2_R8G8B8A1_UNORM:
|
||||
case VK_FORMAT_ETC2_R8G8B8A1_SRGB:
|
||||
case VK_FORMAT_ETC2_R8G8B8A8_UNORM:
|
||||
case VK_FORMAT_ETC2_R8G8B8A8_SRGB:
|
||||
case VK_FORMAT_B4G4R4A4_UNORM:
|
||||
case VK_FORMAT_B5G5R5A1_UNORM:
|
||||
case VK_FORMAT_B8G8R8A8_UNORM:
|
||||
case VK_FORMAT_B8G8R8A8_SNORM:
|
||||
case VK_FORMAT_B8G8R8A8_USCALED:
|
||||
case VK_FORMAT_B8G8R8A8_SSCALED:
|
||||
case VK_FORMAT_B8G8R8A8_UINT:
|
||||
case VK_FORMAT_B8G8R8A8_SINT:
|
||||
case VK_FORMAT_B8G8R8A8_SRGB:
|
||||
case VK_FORMAT_B10G10R10A2_UNORM:
|
||||
case VK_FORMAT_B10G10R10A2_SNORM:
|
||||
case VK_FORMAT_B10G10R10A2_USCALED:
|
||||
case VK_FORMAT_B10G10R10A2_SSCALED:
|
||||
case VK_FORMAT_B10G10R10A2_UINT:
|
||||
case VK_FORMAT_B10G10R10A2_SINT:
|
||||
ret.compCount = 4;
|
||||
break;
|
||||
}
|
||||
|
||||
switch(fmt)
|
||||
{
|
||||
case VK_FORMAT_R8_SRGB:
|
||||
case VK_FORMAT_R8G8_SRGB:
|
||||
case VK_FORMAT_R8G8B8_SRGB:
|
||||
case VK_FORMAT_R8G8B8A8_SRGB:
|
||||
case VK_FORMAT_BC1_RGB_SRGB:
|
||||
case VK_FORMAT_BC1_RGBA_SRGB:
|
||||
case VK_FORMAT_BC2_SRGB:
|
||||
case VK_FORMAT_BC3_SRGB:
|
||||
case VK_FORMAT_BC7_SRGB:
|
||||
case VK_FORMAT_ETC2_R8G8B8_SRGB:
|
||||
case VK_FORMAT_ETC2_R8G8B8A1_SRGB:
|
||||
case VK_FORMAT_ETC2_R8G8B8A8_SRGB:
|
||||
case VK_FORMAT_ASTC_4x4_SRGB:
|
||||
case VK_FORMAT_ASTC_5x4_SRGB:
|
||||
case VK_FORMAT_ASTC_5x5_SRGB:
|
||||
case VK_FORMAT_ASTC_6x5_SRGB:
|
||||
case VK_FORMAT_ASTC_6x6_SRGB:
|
||||
case VK_FORMAT_ASTC_8x5_SRGB:
|
||||
case VK_FORMAT_ASTC_8x6_SRGB:
|
||||
case VK_FORMAT_ASTC_8x8_SRGB:
|
||||
case VK_FORMAT_ASTC_10x5_SRGB:
|
||||
case VK_FORMAT_ASTC_10x6_SRGB:
|
||||
case VK_FORMAT_ASTC_10x8_SRGB:
|
||||
case VK_FORMAT_ASTC_10x10_SRGB:
|
||||
case VK_FORMAT_ASTC_12x10_SRGB:
|
||||
case VK_FORMAT_ASTC_12x12_SRGB:
|
||||
case VK_FORMAT_B8G8R8_SRGB:
|
||||
case VK_FORMAT_B8G8R8A8_SRGB:
|
||||
ret.srgbCorrected = true;
|
||||
break;
|
||||
}
|
||||
|
||||
switch(fmt)
|
||||
{
|
||||
case VK_FORMAT_R4G4_UNORM:
|
||||
case VK_FORMAT_R4G4B4A4_UNORM:
|
||||
case VK_FORMAT_R5G6B5_UNORM:
|
||||
case VK_FORMAT_R5G5B5A1_UNORM:
|
||||
case VK_FORMAT_R8_UNORM:
|
||||
case VK_FORMAT_R8_SRGB:
|
||||
case VK_FORMAT_R8G8_UNORM:
|
||||
case VK_FORMAT_R8G8_SRGB:
|
||||
case VK_FORMAT_R8G8B8_UNORM:
|
||||
case VK_FORMAT_R8G8B8_SRGB:
|
||||
case VK_FORMAT_R8G8B8A8_UNORM:
|
||||
case VK_FORMAT_R8G8B8A8_SRGB:
|
||||
case VK_FORMAT_R10G10B10A2_UNORM:
|
||||
case VK_FORMAT_R16_UNORM:
|
||||
case VK_FORMAT_R16G16_UNORM:
|
||||
case VK_FORMAT_R16G16B16_UNORM:
|
||||
case VK_FORMAT_R16G16B16A16_UNORM:
|
||||
case VK_FORMAT_BC1_RGB_UNORM:
|
||||
case VK_FORMAT_BC1_RGB_SRGB:
|
||||
case VK_FORMAT_BC1_RGBA_UNORM:
|
||||
case VK_FORMAT_BC1_RGBA_SRGB:
|
||||
case VK_FORMAT_BC2_UNORM:
|
||||
case VK_FORMAT_BC2_SRGB:
|
||||
case VK_FORMAT_BC3_UNORM:
|
||||
case VK_FORMAT_BC3_SRGB:
|
||||
case VK_FORMAT_BC4_UNORM:
|
||||
case VK_FORMAT_BC5_UNORM:
|
||||
case VK_FORMAT_BC7_UNORM:
|
||||
case VK_FORMAT_BC7_SRGB:
|
||||
case VK_FORMAT_BC6H_UFLOAT:
|
||||
case VK_FORMAT_ETC2_R8G8B8_UNORM:
|
||||
case VK_FORMAT_ETC2_R8G8B8_SRGB:
|
||||
case VK_FORMAT_ETC2_R8G8B8A1_UNORM:
|
||||
case VK_FORMAT_ETC2_R8G8B8A1_SRGB:
|
||||
case VK_FORMAT_ETC2_R8G8B8A8_UNORM:
|
||||
case VK_FORMAT_ETC2_R8G8B8A8_SRGB:
|
||||
case VK_FORMAT_EAC_R11_UNORM:
|
||||
case VK_FORMAT_EAC_R11G11_UNORM:
|
||||
case VK_FORMAT_ASTC_4x4_UNORM:
|
||||
case VK_FORMAT_ASTC_4x4_SRGB:
|
||||
case VK_FORMAT_ASTC_5x4_UNORM:
|
||||
case VK_FORMAT_ASTC_5x4_SRGB:
|
||||
case VK_FORMAT_ASTC_5x5_UNORM:
|
||||
case VK_FORMAT_ASTC_5x5_SRGB:
|
||||
case VK_FORMAT_ASTC_6x5_UNORM:
|
||||
case VK_FORMAT_ASTC_6x5_SRGB:
|
||||
case VK_FORMAT_ASTC_6x6_UNORM:
|
||||
case VK_FORMAT_ASTC_6x6_SRGB:
|
||||
case VK_FORMAT_ASTC_8x5_UNORM:
|
||||
case VK_FORMAT_ASTC_8x5_SRGB:
|
||||
case VK_FORMAT_ASTC_8x6_UNORM:
|
||||
case VK_FORMAT_ASTC_8x6_SRGB:
|
||||
case VK_FORMAT_ASTC_8x8_UNORM:
|
||||
case VK_FORMAT_ASTC_8x8_SRGB:
|
||||
case VK_FORMAT_ASTC_10x5_UNORM:
|
||||
case VK_FORMAT_ASTC_10x5_SRGB:
|
||||
case VK_FORMAT_ASTC_10x6_UNORM:
|
||||
case VK_FORMAT_ASTC_10x6_SRGB:
|
||||
case VK_FORMAT_ASTC_10x8_UNORM:
|
||||
case VK_FORMAT_ASTC_10x8_SRGB:
|
||||
case VK_FORMAT_ASTC_10x10_UNORM:
|
||||
case VK_FORMAT_ASTC_10x10_SRGB:
|
||||
case VK_FORMAT_ASTC_12x10_UNORM:
|
||||
case VK_FORMAT_ASTC_12x10_SRGB:
|
||||
case VK_FORMAT_ASTC_12x12_UNORM:
|
||||
case VK_FORMAT_ASTC_12x12_SRGB:
|
||||
case VK_FORMAT_B4G4R4A4_UNORM:
|
||||
case VK_FORMAT_B5G5R5A1_UNORM:
|
||||
case VK_FORMAT_B5G6R5_UNORM:
|
||||
case VK_FORMAT_B8G8R8_UNORM:
|
||||
case VK_FORMAT_B8G8R8_SRGB:
|
||||
case VK_FORMAT_B8G8R8A8_UNORM:
|
||||
case VK_FORMAT_B8G8R8A8_SRGB:
|
||||
case VK_FORMAT_B10G10R10A2_UNORM:
|
||||
ret.compType = eCompType_UNorm;
|
||||
break;
|
||||
case VK_FORMAT_R8_SNORM:
|
||||
case VK_FORMAT_R8G8_SNORM:
|
||||
case VK_FORMAT_R8G8B8_SNORM:
|
||||
case VK_FORMAT_R8G8B8A8_SNORM:
|
||||
case VK_FORMAT_R10G10B10A2_SNORM:
|
||||
case VK_FORMAT_R16_SNORM:
|
||||
case VK_FORMAT_R16G16_SNORM:
|
||||
case VK_FORMAT_R16G16B16_SNORM:
|
||||
case VK_FORMAT_R16G16B16A16_SNORM:
|
||||
case VK_FORMAT_BC4_SNORM:
|
||||
case VK_FORMAT_BC5_SNORM:
|
||||
case VK_FORMAT_BC6H_SFLOAT:
|
||||
case VK_FORMAT_EAC_R11_SNORM:
|
||||
case VK_FORMAT_EAC_R11G11_SNORM:
|
||||
case VK_FORMAT_B8G8R8_SNORM:
|
||||
case VK_FORMAT_B8G8R8A8_SNORM:
|
||||
case VK_FORMAT_B10G10R10A2_SNORM:
|
||||
ret.compType = eCompType_SNorm;
|
||||
break;
|
||||
case VK_FORMAT_R4G4_USCALED:
|
||||
case VK_FORMAT_R4G4B4A4_USCALED:
|
||||
case VK_FORMAT_R5G6B5_USCALED:
|
||||
case VK_FORMAT_R5G5B5A1_USCALED:
|
||||
case VK_FORMAT_R8_USCALED:
|
||||
case VK_FORMAT_R8G8_USCALED:
|
||||
case VK_FORMAT_R8G8B8_USCALED:
|
||||
case VK_FORMAT_R8G8B8A8_USCALED:
|
||||
case VK_FORMAT_R16_USCALED:
|
||||
case VK_FORMAT_R16G16_USCALED:
|
||||
case VK_FORMAT_R16G16B16_USCALED:
|
||||
case VK_FORMAT_R16G16B16A16_USCALED:
|
||||
case VK_FORMAT_R10G10B10A2_USCALED:
|
||||
case VK_FORMAT_B5G6R5_USCALED:
|
||||
case VK_FORMAT_B8G8R8_USCALED:
|
||||
case VK_FORMAT_B8G8R8A8_USCALED:
|
||||
case VK_FORMAT_B10G10R10A2_USCALED:
|
||||
ret.compType = eCompType_UScaled;
|
||||
break;
|
||||
case VK_FORMAT_R8_SSCALED:
|
||||
case VK_FORMAT_R8G8_SSCALED:
|
||||
case VK_FORMAT_R8G8B8_SSCALED:
|
||||
case VK_FORMAT_R8G8B8A8_SSCALED:
|
||||
case VK_FORMAT_R10G10B10A2_SSCALED:
|
||||
case VK_FORMAT_R16_SSCALED:
|
||||
case VK_FORMAT_R16G16_SSCALED:
|
||||
case VK_FORMAT_R16G16B16_SSCALED:
|
||||
case VK_FORMAT_R16G16B16A16_SSCALED:
|
||||
case VK_FORMAT_B8G8R8_SSCALED:
|
||||
case VK_FORMAT_B8G8R8A8_SSCALED:
|
||||
case VK_FORMAT_B10G10R10A2_SSCALED:
|
||||
ret.compType = eCompType_SScaled;
|
||||
break;
|
||||
case VK_FORMAT_R8_UINT:
|
||||
case VK_FORMAT_R8G8_UINT:
|
||||
case VK_FORMAT_R8G8B8_UINT:
|
||||
case VK_FORMAT_R8G8B8A8_UINT:
|
||||
case VK_FORMAT_R8G8B8A8_SINT:
|
||||
case VK_FORMAT_R10G10B10A2_UINT:
|
||||
case VK_FORMAT_R16_UINT:
|
||||
case VK_FORMAT_R16G16_UINT:
|
||||
case VK_FORMAT_R16G16B16_UINT:
|
||||
case VK_FORMAT_R16G16B16A16_UINT:
|
||||
case VK_FORMAT_R32_UINT:
|
||||
case VK_FORMAT_R32G32_UINT:
|
||||
case VK_FORMAT_R32G32B32_UINT:
|
||||
case VK_FORMAT_R32G32B32A32_UINT:
|
||||
// Maybe S8 should be identified by something else?
|
||||
case VK_FORMAT_S8_UINT:
|
||||
case VK_FORMAT_B8G8R8_UINT:
|
||||
case VK_FORMAT_B8G8R8A8_UINT:
|
||||
case VK_FORMAT_B10G10R10A2_UINT:
|
||||
ret.compType = eCompType_UInt;
|
||||
break;
|
||||
case VK_FORMAT_R8_SINT:
|
||||
case VK_FORMAT_R8G8_SINT:
|
||||
case VK_FORMAT_R8G8B8_SINT:
|
||||
case VK_FORMAT_R10G10B10A2_SINT:
|
||||
case VK_FORMAT_R16_SINT:
|
||||
case VK_FORMAT_R16G16_SINT:
|
||||
case VK_FORMAT_R16G16B16_SINT:
|
||||
case VK_FORMAT_R16G16B16A16_SINT:
|
||||
case VK_FORMAT_R32_SINT:
|
||||
case VK_FORMAT_R32G32_SINT:
|
||||
case VK_FORMAT_R32G32B32_SINT:
|
||||
case VK_FORMAT_R32G32B32A32_SINT:
|
||||
case VK_FORMAT_B8G8R8_SINT:
|
||||
case VK_FORMAT_B8G8R8A8_SINT:
|
||||
case VK_FORMAT_B10G10R10A2_SINT:
|
||||
ret.compType = eCompType_SInt;
|
||||
break;
|
||||
case VK_FORMAT_R16_SFLOAT:
|
||||
case VK_FORMAT_R16G16_SFLOAT:
|
||||
case VK_FORMAT_R16G16B16_SFLOAT:
|
||||
case VK_FORMAT_R16G16B16A16_SFLOAT:
|
||||
case VK_FORMAT_R32_SFLOAT:
|
||||
case VK_FORMAT_R32G32_SFLOAT:
|
||||
case VK_FORMAT_R32G32B32_SFLOAT:
|
||||
case VK_FORMAT_R32G32B32A32_SFLOAT:
|
||||
case VK_FORMAT_R11G11B10_UFLOAT:
|
||||
case VK_FORMAT_R9G9B9E5_UFLOAT:
|
||||
ret.compType = eCompType_Float;
|
||||
break;
|
||||
case VK_FORMAT_R64_SFLOAT:
|
||||
case VK_FORMAT_R64G64_SFLOAT:
|
||||
case VK_FORMAT_R64G64B64_SFLOAT:
|
||||
case VK_FORMAT_R64G64B64A64_SFLOAT:
|
||||
ret.compType = eCompType_Double;
|
||||
break;
|
||||
case VK_FORMAT_D16_UNORM:
|
||||
case VK_FORMAT_D24_UNORM:
|
||||
case VK_FORMAT_D32_SFLOAT:
|
||||
ret.compType = eCompType_Depth;
|
||||
break;
|
||||
}
|
||||
|
||||
switch(fmt)
|
||||
{
|
||||
case VK_FORMAT_R8_UNORM:
|
||||
case VK_FORMAT_R8_SNORM:
|
||||
case VK_FORMAT_R8_USCALED:
|
||||
case VK_FORMAT_R8_SSCALED:
|
||||
case VK_FORMAT_R8_UINT:
|
||||
case VK_FORMAT_R8_SINT:
|
||||
case VK_FORMAT_R8_SRGB:
|
||||
case VK_FORMAT_R8G8_UNORM:
|
||||
case VK_FORMAT_R8G8_SNORM:
|
||||
case VK_FORMAT_R8G8_USCALED:
|
||||
case VK_FORMAT_R8G8_SSCALED:
|
||||
case VK_FORMAT_R8G8_UINT:
|
||||
case VK_FORMAT_R8G8_SINT:
|
||||
case VK_FORMAT_R8G8_SRGB:
|
||||
case VK_FORMAT_R8G8B8_UNORM:
|
||||
case VK_FORMAT_R8G8B8_SNORM:
|
||||
case VK_FORMAT_R8G8B8_USCALED:
|
||||
case VK_FORMAT_R8G8B8_SSCALED:
|
||||
case VK_FORMAT_R8G8B8_UINT:
|
||||
case VK_FORMAT_R8G8B8_SINT:
|
||||
case VK_FORMAT_R8G8B8_SRGB:
|
||||
case VK_FORMAT_R8G8B8A8_UNORM:
|
||||
case VK_FORMAT_R8G8B8A8_SNORM:
|
||||
case VK_FORMAT_R8G8B8A8_USCALED:
|
||||
case VK_FORMAT_R8G8B8A8_SSCALED:
|
||||
case VK_FORMAT_R8G8B8A8_UINT:
|
||||
case VK_FORMAT_R8G8B8A8_SINT:
|
||||
case VK_FORMAT_R8G8B8A8_SRGB:
|
||||
case VK_FORMAT_S8_UINT:
|
||||
case VK_FORMAT_B8G8R8_UNORM:
|
||||
case VK_FORMAT_B8G8R8_SNORM:
|
||||
case VK_FORMAT_B8G8R8_USCALED:
|
||||
case VK_FORMAT_B8G8R8_SSCALED:
|
||||
case VK_FORMAT_B8G8R8_UINT:
|
||||
case VK_FORMAT_B8G8R8_SINT:
|
||||
case VK_FORMAT_B8G8R8_SRGB:
|
||||
case VK_FORMAT_B8G8R8A8_UNORM:
|
||||
case VK_FORMAT_B8G8R8A8_SNORM:
|
||||
case VK_FORMAT_B8G8R8A8_USCALED:
|
||||
case VK_FORMAT_B8G8R8A8_SSCALED:
|
||||
case VK_FORMAT_B8G8R8A8_UINT:
|
||||
case VK_FORMAT_B8G8R8A8_SINT:
|
||||
case VK_FORMAT_B8G8R8A8_SRGB:
|
||||
ret.compByteWidth = 1;
|
||||
break;
|
||||
case VK_FORMAT_R16_UNORM:
|
||||
case VK_FORMAT_R16_SNORM:
|
||||
case VK_FORMAT_R16_USCALED:
|
||||
case VK_FORMAT_R16_SSCALED:
|
||||
case VK_FORMAT_R16_UINT:
|
||||
case VK_FORMAT_R16_SINT:
|
||||
case VK_FORMAT_R16_SFLOAT:
|
||||
case VK_FORMAT_R16G16_UNORM:
|
||||
case VK_FORMAT_R16G16_SNORM:
|
||||
case VK_FORMAT_R16G16_USCALED:
|
||||
case VK_FORMAT_R16G16_SSCALED:
|
||||
case VK_FORMAT_R16G16_UINT:
|
||||
case VK_FORMAT_R16G16_SINT:
|
||||
case VK_FORMAT_R16G16_SFLOAT:
|
||||
case VK_FORMAT_R16G16B16_UNORM:
|
||||
case VK_FORMAT_R16G16B16_SNORM:
|
||||
case VK_FORMAT_R16G16B16_USCALED:
|
||||
case VK_FORMAT_R16G16B16_SSCALED:
|
||||
case VK_FORMAT_R16G16B16_UINT:
|
||||
case VK_FORMAT_R16G16B16_SINT:
|
||||
case VK_FORMAT_R16G16B16_SFLOAT:
|
||||
case VK_FORMAT_R16G16B16A16_UNORM:
|
||||
case VK_FORMAT_R16G16B16A16_SNORM:
|
||||
case VK_FORMAT_R16G16B16A16_USCALED:
|
||||
case VK_FORMAT_R16G16B16A16_SSCALED:
|
||||
case VK_FORMAT_R16G16B16A16_UINT:
|
||||
case VK_FORMAT_R16G16B16A16_SINT:
|
||||
case VK_FORMAT_R16G16B16A16_SFLOAT:
|
||||
case VK_FORMAT_D16_UNORM:
|
||||
ret.compByteWidth = 2;
|
||||
break;
|
||||
case VK_FORMAT_D24_UNORM:
|
||||
ret.compByteWidth = 3;
|
||||
break;
|
||||
case VK_FORMAT_R32_UINT:
|
||||
case VK_FORMAT_R32_SINT:
|
||||
case VK_FORMAT_R32_SFLOAT:
|
||||
case VK_FORMAT_R32G32_UINT:
|
||||
case VK_FORMAT_R32G32_SINT:
|
||||
case VK_FORMAT_R32G32_SFLOAT:
|
||||
case VK_FORMAT_R32G32B32_UINT:
|
||||
case VK_FORMAT_R32G32B32_SINT:
|
||||
case VK_FORMAT_R32G32B32_SFLOAT:
|
||||
case VK_FORMAT_R32G32B32A32_UINT:
|
||||
case VK_FORMAT_R32G32B32A32_SINT:
|
||||
case VK_FORMAT_R32G32B32A32_SFLOAT:
|
||||
case VK_FORMAT_D32_SFLOAT:
|
||||
ret.compByteWidth = 4;
|
||||
break;
|
||||
case VK_FORMAT_R64_SFLOAT:
|
||||
case VK_FORMAT_R64G64_SFLOAT:
|
||||
case VK_FORMAT_R64G64B64_SFLOAT:
|
||||
case VK_FORMAT_R64G64B64A64_SFLOAT:
|
||||
ret.compByteWidth = 8;
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user