From 4d205eb818ed493fce880dda454573d6a80ba7cc Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 5 Feb 2020 19:46:24 +0000 Subject: [PATCH] Handle ASPECT_COLOR_BIT used with multi-plane formats. Closes #1708 * This is spec'd as a simple alias for all planes, useful for creating image views. --- renderdoc/driver/vulkan/vk_resources.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/vulkan/vk_resources.h b/renderdoc/driver/vulkan/vk_resources.h index d7d94cec8b..af40b27a0c 100644 --- a/renderdoc/driver/vulkan/vk_resources.h +++ b/renderdoc/driver/vulkan/vk_resources.h @@ -1252,7 +1252,12 @@ struct ImageSubresourceRange } void Sanitise(const ImageInfo &info) { - if(aspectMask & ~info.Aspects()) + // VK_IMAGE_ASPECT_COLOR_BIT is an alias for "all planes" in multi-planar formats + if(aspectMask == VK_IMAGE_ASPECT_COLOR_BIT && (info.Aspects() & VK_IMAGE_ASPECT_PLANE_0_BIT)) + { + aspectMask = info.Aspects(); + } + else if(aspectMask & ~info.Aspects()) { if(aspectMask != VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM) {