From f9e419b2613d0be395b149688dfeb187d76cef92 Mon Sep 17 00:00:00 2001 From: Kacper Zielinski Date: Fri, 13 Dec 2024 11:02:37 +0100 Subject: [PATCH] Fix first `vkCmdPipelineBarrier` in `buildTlas`'s command buffer Argument `srcStageMask` in `vkCmdPipelineBarrier` should be set to `VK_PIPELINE_STAGE_TRANSFER_BIT` in order to guarantee synchronization of `vkCmdCopyBuffer`. Signed-off-by: Kacper Zielinski --- nvvk/raytraceKHR_vk.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nvvk/raytraceKHR_vk.hpp b/nvvk/raytraceKHR_vk.hpp index cecc4653..cd1ae48a 100644 --- a/nvvk/raytraceKHR_vk.hpp +++ b/nvvk/raytraceKHR_vk.hpp @@ -157,7 +157,7 @@ class RaytracingBuilderKHR VkMemoryBarrier barrier{VK_STRUCTURE_TYPE_MEMORY_BARRIER}; barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; barrier.dstAccessMask = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR; - vkCmdPipelineBarrier(cmd, VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, + vkCmdPipelineBarrier(cmd, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 0, 1, &barrier, 0, nullptr, 0, nullptr); // Creating the TLAS