From 428968152b57d7671810ac6339fe5a2ed347d09d Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 9 Dec 2015 22:48:55 +0100 Subject: [PATCH] Update resource format functions (VkFormat <-> ResourceFormat) --- renderdoc/driver/vulkan/vk_common.cpp | 480 +++++++++++++------------- 1 file changed, 237 insertions(+), 243 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_common.cpp b/renderdoc/driver/vulkan/vk_common.cpp index af87ea501..6bd3f6454 100644 --- a/renderdoc/driver/vulkan/vk_common.cpp +++ b/renderdoc/driver/vulkan/vk_common.cpp @@ -48,24 +48,24 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) switch(fmt) { - case VK_FORMAT_B4G4R4A4_UNORM: + case VK_FORMAT_B4G4R4A4_UNORM_PACK16: 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: + case VK_FORMAT_A2B10G10R10_UNORM_PACK32: + case VK_FORMAT_A2B10G10R10_SNORM_PACK32: + case VK_FORMAT_A2B10G10R10_USCALED_PACK32: + case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: + case VK_FORMAT_A2B10G10R10_UINT_PACK32: + case VK_FORMAT_A2B10G10R10_SINT_PACK32: ret.special = true; ret.specialFormat = eSpecial_R10G10B10A2; break; - case VK_FORMAT_R11G11B10_UFLOAT: + case VK_FORMAT_B10G11R11_UFLOAT_PACK32: ret.special = true; ret.specialFormat = eSpecial_R11G11B10; break; - case VK_FORMAT_R9G9B9E5_UFLOAT: + case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: ret.special = true; ret.specialFormat = eSpecial_R9G9B9E5; break; @@ -81,87 +81,87 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) 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: + case VK_FORMAT_BC1_RGB_UNORM_BLOCK: + case VK_FORMAT_BC1_RGB_SRGB_BLOCK: + case VK_FORMAT_BC1_RGBA_UNORM_BLOCK: + case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: ret.special = true; ret.specialFormat = eSpecial_BC1; break; - case VK_FORMAT_BC2_UNORM: - case VK_FORMAT_BC2_SRGB: + case VK_FORMAT_BC2_UNORM_BLOCK: + case VK_FORMAT_BC2_SRGB_BLOCK: ret.special = true; ret.specialFormat = eSpecial_BC2; break; - case VK_FORMAT_BC3_UNORM: - case VK_FORMAT_BC3_SRGB: + case VK_FORMAT_BC3_UNORM_BLOCK: + case VK_FORMAT_BC3_SRGB_BLOCK: ret.special = true; ret.specialFormat = eSpecial_BC3; break; - case VK_FORMAT_BC4_UNORM: - case VK_FORMAT_BC4_SNORM: + case VK_FORMAT_BC4_UNORM_BLOCK: + case VK_FORMAT_BC4_SNORM_BLOCK: ret.special = true; ret.specialFormat = eSpecial_BC4; break; - case VK_FORMAT_BC5_UNORM: - case VK_FORMAT_BC5_SNORM: + case VK_FORMAT_BC5_UNORM_BLOCK: + case VK_FORMAT_BC5_SNORM_BLOCK: ret.special = true; ret.specialFormat = eSpecial_BC5; break; - case VK_FORMAT_BC6H_UFLOAT: - case VK_FORMAT_BC6H_SFLOAT: + case VK_FORMAT_BC6H_UFLOAT_BLOCK: + case VK_FORMAT_BC6H_SFLOAT_BLOCK: ret.special = true; ret.specialFormat = eSpecial_BC6; break; - case VK_FORMAT_BC7_UNORM: - case VK_FORMAT_BC7_SRGB: + case VK_FORMAT_BC7_UNORM_BLOCK: + case VK_FORMAT_BC7_SRGB_BLOCK: 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: + case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: + case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: 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: + case VK_FORMAT_EAC_R11_UNORM_BLOCK: + case VK_FORMAT_EAC_R11_SNORM_BLOCK: + case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: + case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: 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: + case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: + case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: + case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: + case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: + case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: + case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: + case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_8x6_UNORM_BLOCK: + case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: + case VK_FORMAT_ASTC_8x8_UNORM_BLOCK: + case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x6_UNORM_BLOCK: + case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x8_UNORM_BLOCK: + case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x10_UNORM_BLOCK: + case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: + case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: + case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: + case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: + case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: ret.special = true; ret.specialFormat = eSpecial_ASTC; break; @@ -200,17 +200,16 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) case VK_FORMAT_R32_SFLOAT: case VK_FORMAT_R64_SFLOAT: case VK_FORMAT_D16_UNORM: - case VK_FORMAT_D24_UNORM_X8: + case VK_FORMAT_X8_D24_UNORM_PACK32: 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: + case VK_FORMAT_BC4_UNORM_BLOCK: + case VK_FORMAT_BC4_SNORM_BLOCK: + case VK_FORMAT_EAC_R11_UNORM_BLOCK: + case VK_FORMAT_EAC_R11_SNORM_BLOCK: ret.compCount = 1; break; - case VK_FORMAT_R4G4_UNORM: - case VK_FORMAT_R4G4_USCALED: + case VK_FORMAT_R4G4_UNORM_PACK8: case VK_FORMAT_R8G8_UNORM: case VK_FORMAT_R8G8_SNORM: case VK_FORMAT_R8G8_USCALED: @@ -232,14 +231,13 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) 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: + case VK_FORMAT_BC5_UNORM_BLOCK: + case VK_FORMAT_BC5_SNORM_BLOCK: + case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: + case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: ret.compCount = 2; break; - case VK_FORMAT_R5G6B5_UNORM: - case VK_FORMAT_R5G6B5_USCALED: + case VK_FORMAT_R5G6B5_UNORM_PACK16: case VK_FORMAT_R8G8B8_UNORM: case VK_FORMAT_R8G8B8_SNORM: case VK_FORMAT_R8G8B8_USCALED: @@ -258,16 +256,15 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) case VK_FORMAT_R32G32B32_SINT: case VK_FORMAT_R32G32B32_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_B10G11R11_UFLOAT_PACK32: + case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: + case VK_FORMAT_BC1_RGB_UNORM_BLOCK: + case VK_FORMAT_BC1_RGB_SRGB_BLOCK: + case VK_FORMAT_BC6H_UFLOAT_BLOCK: + case VK_FORMAT_BC6H_SFLOAT_BLOCK: + case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: + case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: + case VK_FORMAT_B5G6R5_UNORM_PACK16: case VK_FORMAT_B8G8R8_UNORM: case VK_FORMAT_B8G8R8_SNORM: case VK_FORMAT_B8G8R8_USCALED: @@ -277,10 +274,8 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) 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_R4G4B4A4_UNORM_PACK16: + case VK_FORMAT_R5G5B5A1_UNORM_PACK16: case VK_FORMAT_R8G8B8A8_UNORM: case VK_FORMAT_R8G8B8A8_SNORM: case VK_FORMAT_R8G8B8A8_USCALED: @@ -288,12 +283,12 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) case VK_FORMAT_R8G8B8A8_UINT: case VK_FORMAT_R8G8B8A8_SINT: case VK_FORMAT_R8G8B8A8_SRGB: - 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_A2R10G10B10_UNORM_PACK32: + case VK_FORMAT_A2R10G10B10_SNORM_PACK32: + case VK_FORMAT_A2R10G10B10_USCALED_PACK32: + case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: + case VK_FORMAT_A2R10G10B10_UINT_PACK32: + case VK_FORMAT_A2R10G10B10_SINT_PACK32: case VK_FORMAT_R16G16B16A16_UNORM: case VK_FORMAT_R16G16B16A16_SNORM: case VK_FORMAT_R16G16B16A16_USCALED: @@ -305,20 +300,20 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) 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_BC1_RGBA_UNORM_BLOCK: + case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: + case VK_FORMAT_BC2_UNORM_BLOCK: + case VK_FORMAT_BC2_SRGB_BLOCK: + case VK_FORMAT_BC3_UNORM_BLOCK: + case VK_FORMAT_BC3_SRGB_BLOCK: + case VK_FORMAT_BC7_UNORM_BLOCK: + case VK_FORMAT_BC7_SRGB_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: + case VK_FORMAT_B4G4R4A4_UNORM_PACK16: + case VK_FORMAT_B5G5R5A1_UNORM_PACK16: case VK_FORMAT_B8G8R8A8_UNORM: case VK_FORMAT_B8G8R8A8_SNORM: case VK_FORMAT_B8G8R8A8_USCALED: @@ -326,12 +321,12 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) 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: + case VK_FORMAT_A2B10G10R10_UNORM_PACK32: + case VK_FORMAT_A2B10G10R10_SNORM_PACK32: + case VK_FORMAT_A2B10G10R10_USCALED_PACK32: + case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: + case VK_FORMAT_A2B10G10R10_UINT_PACK32: + case VK_FORMAT_A2B10G10R10_SINT_PACK32: ret.compCount = 4; break; default: @@ -344,28 +339,28 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) 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_BC1_RGB_SRGB_BLOCK: + case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: + case VK_FORMAT_BC2_SRGB_BLOCK: + case VK_FORMAT_BC3_SRGB_BLOCK: + case VK_FORMAT_BC7_SRGB_BLOCK: + case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: + case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: + case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: + case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: + case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: + case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: + case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: + case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: case VK_FORMAT_B8G8R8_SRGB: case VK_FORMAT_B8G8R8A8_SRGB: ret.srgbCorrected = true; @@ -376,10 +371,10 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) 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_R4G4_UNORM_PACK8: + case VK_FORMAT_R4G4B4A4_UNORM_PACK16: + case VK_FORMAT_R5G6B5_UNORM_PACK16: + case VK_FORMAT_R5G5B5A1_UNORM_PACK16: case VK_FORMAT_R8_UNORM: case VK_FORMAT_R8_SRGB: case VK_FORMAT_R8G8_UNORM: @@ -388,93 +383,90 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) case VK_FORMAT_R8G8B8_SRGB: case VK_FORMAT_R8G8B8A8_UNORM: case VK_FORMAT_R8G8B8A8_SRGB: - case VK_FORMAT_R10G10B10A2_UNORM: + case VK_FORMAT_A2R10G10B10_UNORM_PACK32: 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_BC1_RGB_UNORM_BLOCK: + case VK_FORMAT_BC1_RGB_SRGB_BLOCK: + case VK_FORMAT_BC1_RGBA_UNORM_BLOCK: + case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: + case VK_FORMAT_BC2_UNORM_BLOCK: + case VK_FORMAT_BC2_SRGB_BLOCK: + case VK_FORMAT_BC3_UNORM_BLOCK: + case VK_FORMAT_BC3_SRGB_BLOCK: + case VK_FORMAT_BC4_UNORM_BLOCK: + case VK_FORMAT_BC5_UNORM_BLOCK: + case VK_FORMAT_BC7_UNORM_BLOCK: + case VK_FORMAT_BC7_SRGB_BLOCK: + case VK_FORMAT_BC6H_UFLOAT_BLOCK: + case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: + case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: + case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: + case VK_FORMAT_EAC_R11_UNORM_BLOCK: + case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: + case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: + case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: + case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: + case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: + case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: + case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: + case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_8x6_UNORM_BLOCK: + case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: + case VK_FORMAT_ASTC_8x8_UNORM_BLOCK: + case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x6_UNORM_BLOCK: + case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x8_UNORM_BLOCK: + case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: + case VK_FORMAT_ASTC_10x10_UNORM_BLOCK: + case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: + case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: + case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: + case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: + case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: + case VK_FORMAT_B4G4R4A4_UNORM_PACK16: + case VK_FORMAT_B5G5R5A1_UNORM_PACK16: + case VK_FORMAT_B5G6R5_UNORM_PACK16: 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: + case VK_FORMAT_A2B10G10R10_UNORM_PACK32: 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_A2R10G10B10_SNORM_PACK32: 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_BC4_SNORM_BLOCK: + case VK_FORMAT_BC5_SNORM_BLOCK: + case VK_FORMAT_BC6H_SFLOAT_BLOCK: + case VK_FORMAT_EAC_R11_SNORM_BLOCK: + case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: case VK_FORMAT_B8G8R8_SNORM: case VK_FORMAT_B8G8R8A8_SNORM: - case VK_FORMAT_B10G10R10A2_SNORM: + case VK_FORMAT_A8B8G8R8_SNORM_PACK32: + case VK_FORMAT_A2B10G10R10_SNORM_PACK32: 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: @@ -483,25 +475,25 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) 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_A2R10G10B10_USCALED_PACK32: case VK_FORMAT_B8G8R8_USCALED: case VK_FORMAT_B8G8R8A8_USCALED: - case VK_FORMAT_B10G10R10A2_USCALED: + case VK_FORMAT_A2B10G10R10_USCALED_PACK32: 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_A8B8G8R8_SSCALED_PACK32: + case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: 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: + case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: ret.compType = eCompType_SScaled; break; case VK_FORMAT_R8_UINT: @@ -509,7 +501,8 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) case VK_FORMAT_R8G8B8_UINT: case VK_FORMAT_R8G8B8A8_UINT: case VK_FORMAT_R8G8B8A8_SINT: - case VK_FORMAT_R10G10B10A2_UINT: + case VK_FORMAT_A8B8G8R8_UINT_PACK32: + case VK_FORMAT_A2R10G10B10_UINT_PACK32: case VK_FORMAT_R16_UINT: case VK_FORMAT_R16G16_UINT: case VK_FORMAT_R16G16B16_UINT: @@ -522,13 +515,14 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) case VK_FORMAT_S8_UINT: case VK_FORMAT_B8G8R8_UINT: case VK_FORMAT_B8G8R8A8_UINT: - case VK_FORMAT_B10G10R10A2_UINT: + case VK_FORMAT_A2B10G10R10_UINT_PACK32: 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_A8B8G8R8_SINT_PACK32: + case VK_FORMAT_A2R10G10B10_SINT_PACK32: case VK_FORMAT_R16_SINT: case VK_FORMAT_R16G16_SINT: case VK_FORMAT_R16G16B16_SINT: @@ -539,7 +533,7 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) case VK_FORMAT_R32G32B32A32_SINT: case VK_FORMAT_B8G8R8_SINT: case VK_FORMAT_B8G8R8A8_SINT: - case VK_FORMAT_B10G10R10A2_SINT: + case VK_FORMAT_A2B10G10R10_SINT_PACK32: ret.compType = eCompType_SInt; break; case VK_FORMAT_R16_SFLOAT: @@ -550,8 +544,8 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) 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: + case VK_FORMAT_B10G11R11_UFLOAT_PACK32: + case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: ret.compType = eCompType_Float; break; case VK_FORMAT_R64_SFLOAT: @@ -561,7 +555,7 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) ret.compType = eCompType_Double; break; case VK_FORMAT_D16_UNORM: - case VK_FORMAT_D24_UNORM_X8: + case VK_FORMAT_X8_D24_UNORM_PACK32: case VK_FORMAT_D32_SFLOAT: ret.compType = eCompType_Depth; break; @@ -647,7 +641,7 @@ ResourceFormat MakeResourceFormat(VkFormat fmt) case VK_FORMAT_D16_UNORM: ret.compByteWidth = 2; break; - case VK_FORMAT_D24_UNORM_X8: + case VK_FORMAT_X8_D24_UNORM_PACK32: ret.compByteWidth = 3; break; case VK_FORMAT_R32_UINT: @@ -689,70 +683,70 @@ VkFormat MakeVkFormat(ResourceFormat fmt) case eSpecial_BC1: { if(fmt.compCount == 3) - ret = fmt.srgbCorrected ? VK_FORMAT_BC1_RGB_SRGB : VK_FORMAT_BC1_RGB_UNORM; + ret = fmt.srgbCorrected ? VK_FORMAT_BC1_RGB_SRGB_BLOCK : VK_FORMAT_BC1_RGB_UNORM_BLOCK; else - ret = fmt.srgbCorrected ? VK_FORMAT_BC1_RGBA_SRGB : VK_FORMAT_BC1_RGBA_UNORM; + ret = fmt.srgbCorrected ? VK_FORMAT_BC1_RGBA_SRGB_BLOCK : VK_FORMAT_BC1_RGBA_UNORM_BLOCK; break; } case eSpecial_BC2: - ret = fmt.srgbCorrected ? VK_FORMAT_BC2_SRGB : VK_FORMAT_BC2_UNORM; + ret = fmt.srgbCorrected ? VK_FORMAT_BC2_SRGB_BLOCK : VK_FORMAT_BC2_UNORM_BLOCK; break; case eSpecial_BC3: - ret = fmt.srgbCorrected ? VK_FORMAT_BC3_SRGB : VK_FORMAT_BC3_UNORM; + ret = fmt.srgbCorrected ? VK_FORMAT_BC3_SRGB_BLOCK : VK_FORMAT_BC3_UNORM_BLOCK; break; case eSpecial_BC4: - ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_BC4_SNORM : VK_FORMAT_BC4_UNORM; + ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_BC4_SNORM_BLOCK : VK_FORMAT_BC4_UNORM_BLOCK; break; case eSpecial_BC5: - ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_BC5_SNORM : VK_FORMAT_BC5_UNORM; + ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_BC5_SNORM_BLOCK : VK_FORMAT_BC5_UNORM_BLOCK; break; case eSpecial_BC6: - ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_BC6H_SFLOAT : VK_FORMAT_BC6H_UFLOAT; + ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_BC6H_SFLOAT_BLOCK : VK_FORMAT_BC6H_UFLOAT_BLOCK; break; case eSpecial_BC7: - ret = fmt.srgbCorrected ? VK_FORMAT_BC7_SRGB : VK_FORMAT_BC7_UNORM; + ret = fmt.srgbCorrected ? VK_FORMAT_BC7_SRGB_BLOCK : VK_FORMAT_BC7_UNORM_BLOCK; break; case eSpecial_ETC2: { if(fmt.compCount == 3) - ret = fmt.srgbCorrected ? VK_FORMAT_ETC2_R8G8B8_SRGB : VK_FORMAT_ETC2_R8G8B8_UNORM; + ret = fmt.srgbCorrected ? VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK : VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK; else - ret = fmt.srgbCorrected ? VK_FORMAT_ETC2_R8G8B8A8_SRGB : VK_FORMAT_ETC2_R8G8B8A8_UNORM; + ret = fmt.srgbCorrected ? VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK : VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK; break; } case eSpecial_EAC: { if(fmt.compCount == 1) - ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_EAC_R11_SNORM : VK_FORMAT_EAC_R11_UNORM; + ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_EAC_R11_SNORM_BLOCK : VK_FORMAT_EAC_R11_UNORM_BLOCK; else if(fmt.compCount == 2) - ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_EAC_R11G11_SNORM : VK_FORMAT_EAC_R11G11_UNORM; + ret = fmt.compType == eCompType_SNorm ? VK_FORMAT_EAC_R11G11_SNORM_BLOCK : VK_FORMAT_EAC_R11G11_UNORM_BLOCK; break; } case eSpecial_R10G10B10A2: if(fmt.compType == eCompType_UNorm) - ret = VK_FORMAT_R10G10B10A2_UNORM; + ret = VK_FORMAT_A2R10G10B10_UNORM_PACK32; else if(fmt.compType == eCompType_UInt) - ret = VK_FORMAT_R10G10B10A2_UINT; + ret = VK_FORMAT_A2R10G10B10_UINT_PACK32; else if(fmt.compType == eCompType_UScaled) - ret = VK_FORMAT_R10G10B10A2_USCALED; + ret = VK_FORMAT_A2R10G10B10_USCALED_PACK32; else if(fmt.compType == eCompType_SNorm) - ret = VK_FORMAT_R10G10B10A2_SNORM; + ret = VK_FORMAT_A2R10G10B10_SNORM_PACK32; else if(fmt.compType == eCompType_SInt) - ret = VK_FORMAT_R10G10B10A2_SINT; + ret = VK_FORMAT_A2R10G10B10_SINT_PACK32; else if(fmt.compType == eCompType_SScaled) - ret = VK_FORMAT_R10G10B10A2_SSCALED; + ret = VK_FORMAT_A2R10G10B10_SSCALED_PACK32; break; case eSpecial_R11G11B10: - ret = VK_FORMAT_R11G11B10_UFLOAT; + ret = VK_FORMAT_B10G11R11_UFLOAT_PACK32; break; case eSpecial_B5G6R5: - ret = fmt.compType == eCompType_UNorm ? VK_FORMAT_B5G6R5_UNORM : VK_FORMAT_B5G6R5_USCALED; + ret = VK_FORMAT_B5G6R5_UNORM_PACK16; break; case eSpecial_B5G5R5A1: - ret = VK_FORMAT_B5G5R5A1_UNORM; + ret = VK_FORMAT_B5G5R5A1_UNORM_PACK16; break; case eSpecial_R9G9B9E5: - ret = VK_FORMAT_R9G9B9E5_UFLOAT; + ret = VK_FORMAT_E5B9G9R9_UFLOAT_PACK32; break; case eSpecial_B8G8R8A8: if(fmt.srgbCorrected) @@ -771,7 +765,7 @@ VkFormat MakeVkFormat(ResourceFormat fmt) ret = VK_FORMAT_B8G8R8A8_SSCALED; break; case eSpecial_B4G4R4A4: - ret = VK_FORMAT_B4G4R4A4_UNORM; + ret = VK_FORMAT_B4G4R4A4_UNORM_PACK16; break; case eSpecial_D24S8: ret = VK_FORMAT_D24_UNORM_S8_UINT;