From 7eec1f19e7bd43371e0814d59dfdacd4f2bfeb0d Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 24 Feb 2022 13:36:26 +0000 Subject: [PATCH] Fix depth/stencil barrier aspects for discard patterns --- renderdoc/driver/vulkan/vk_debug.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_debug.cpp b/renderdoc/driver/vulkan/vk_debug.cpp index 854ccd8ed..647973667 100644 --- a/renderdoc/driver/vulkan/vk_debug.cpp +++ b/renderdoc/driver/vulkan/vk_debug.cpp @@ -1900,6 +1900,11 @@ void VulkanDebugManager::FillWithDiscardPattern(VkCommandBuffer cmd, DiscardType VkMarkerRegion marker( cmd, StringFormat::Fmt("FillWithDiscardPattern %s", ToStr(GetResID(image)).c_str())); + VkImageAspectFlags imAspects = FormatImageAspects(imInfo.format); + + VkImageSubresourceRange barrierDiscardRange = discardRange; + barrierDiscardRange.aspectMask = imAspects; + if(imInfo.samples > 1) { WrappedVulkan *driver = m_pDriver; @@ -1908,8 +1913,6 @@ void VulkanDebugManager::FillWithDiscardPattern(VkCommandBuffer cmd, DiscardType if(IsDepthOrStencilFormat(imInfo.format)) depth = true; - VkImageAspectFlags imAspects = FormatImageAspects(imInfo.format); - rdcpair key = {imInfo.format, imInfo.samples}; DiscardPassData &passdata = m_DiscardPipes[key]; @@ -2083,9 +2086,6 @@ void VulkanDebugManager::FillWithDiscardPattern(VkCommandBuffer cmd, DiscardType uint32_t pass = 0; - VkImageSubresourceRange barrierDiscardRange = discardRange; - barrierDiscardRange.aspectMask = imAspects; - VkImageMemoryBarrier dstimBarrier = { VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, NULL, VK_ACCESS_ALL_READ_BITS | VK_ACCESS_ALL_WRITE_BITS, @@ -2343,7 +2343,7 @@ void VulkanDebugManager::FillWithDiscardPattern(VkCommandBuffer cmd, DiscardType VK_QUEUE_FAMILY_IGNORED, VK_QUEUE_FAMILY_IGNORED, Unwrap(image), - discardRange, + barrierDiscardRange, }; DoPipelineBarrier(cmd, 1, &dstimBarrier);