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);