From a46e86f1910ca45be917ba4fff380b98cb1ef4f2 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 17 Jul 2020 15:52:20 +0100 Subject: [PATCH] Ensure indirect buffer is properly cleared on first run --- util/test/demos/vk/vk_indirect.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/util/test/demos/vk/vk_indirect.cpp b/util/test/demos/vk/vk_indirect.cpp index f3697c5c7..9fc7c909e 100644 --- a/util/test/demos/vk/vk_indirect.cpp +++ b/util/test/demos/vk/vk_indirect.cpp @@ -265,6 +265,17 @@ void main() vkh::ClearColorValue(0.2f, 0.2f, 0.2f, 1.0f), 1, vkh::ImageSubresourceRange()); + vkh::cmdPipelineBarrier( + primary, {}, {vkh::BufferMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, + VK_ACCESS_TRANSFER_WRITE_BIT, ssbo.buffer)}); + + // clear the buffer so that we can't read any of the data back from outside the command buffer + vkCmdFillBuffer(primary, ssbo.buffer, 0, ssbo_size, 0); + + vkh::cmdPipelineBarrier( + primary, {}, {vkh::BufferMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, + VK_ACCESS_TRANSFER_WRITE_BIT, ssbo.buffer)}); + { VkCommandBuffer cmd = primary;