From 1286f4b27260ce4b778e47cb2f5e3e7914ab1862 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 14 Sep 2020 13:01:14 +0100 Subject: [PATCH] Fix issues identified by synchronisation layer --- util/test/demos/vk/vk_indirect.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/util/test/demos/vk/vk_indirect.cpp b/util/test/demos/vk/vk_indirect.cpp index 9fc7c909e..eb78650bd 100644 --- a/util/test/demos/vk/vk_indirect.cpp +++ b/util/test/demos/vk/vk_indirect.cpp @@ -282,8 +282,10 @@ void main() pushMarker(cmd, "Primary: Dispatches"); vkh::cmdPipelineBarrier( - cmd, {}, {vkh::BufferMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, - VK_ACCESS_INDIRECT_COMMAND_READ_BIT, ssbo.buffer)}); + cmd, {}, + {vkh::BufferMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, + VK_ACCESS_INDIRECT_COMMAND_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT, ssbo.buffer)}); vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_COMPUTE, comppipe); vkh::cmdBindDescriptorSets(cmd, VK_PIPELINE_BIND_POINT_COMPUTE, complayout, 0, {descset}, {}); @@ -301,8 +303,10 @@ void main() vkCmdDispatch(cmd, 1, 1, 1); vkh::cmdPipelineBarrier( - cmd, {}, {vkh::BufferMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, - VK_ACCESS_INDIRECT_COMMAND_READ_BIT, ssbo.buffer)}); + cmd, {}, + {vkh::BufferMemoryBarrier( + VK_ACCESS_SHADER_WRITE_BIT, + VK_ACCESS_INDIRECT_COMMAND_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT, ssbo.buffer)}); mode = 2; vkCmdPushConstants(cmd, complayout, VK_SHADER_STAGE_COMPUTE_BIT, 0, 4, &mode); @@ -478,7 +482,7 @@ void main() vkCmdDispatch(cmd, 1, 1, 1); vkh::cmdPipelineBarrier( - cmd, {}, {vkh::BufferMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, + cmd, {}, {vkh::BufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_INDIRECT_COMMAND_READ_BIT, ssbo.buffer)}); mode = 2;