From 685daffd221876fb31f6d60cacfa72a64fd1a8b0 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 5 Aug 2020 13:00:11 +0100 Subject: [PATCH] Add missing barrier after filling discard pattern buffer --- renderdoc/driver/vulkan/vk_debug.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_debug.cpp b/renderdoc/driver/vulkan/vk_debug.cpp index 4363442b2..7d183a1de 100644 --- a/renderdoc/driver/vulkan/vk_debug.cpp +++ b/renderdoc/driver/vulkan/vk_debug.cpp @@ -2084,6 +2084,20 @@ void VulkanDebugManager::FillWithDiscardPattern(VkCommandBuffer cmd, DiscardType vt->CmdUpdateBuffer(Unwrap(cmd), Unwrap(buf), 0, pattern.size(), pattern.data()); m_DiscardPatterns[key] = buf; + + VkBufferMemoryBarrier bufBarrier = { + VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER, + NULL, + VK_ACCESS_TRANSFER_WRITE_BIT, + VK_ACCESS_TRANSFER_READ_BIT, + VK_QUEUE_FAMILY_IGNORED, + VK_QUEUE_FAMILY_IGNORED, + Unwrap(buf), + 0, + VK_WHOLE_SIZE, + }; + + DoPipelineBarrier(cmd, 1, &bufBarrier); } VkImageAspectFlags aspectFlags = discardRange.aspectMask & FormatImageAspects(imInfo.format);