From faba2915e758212c82cc581a396d6ff6d0d807db Mon Sep 17 00:00:00 2001 From: Cam Mannett Date: Wed, 12 Feb 2025 10:50:36 +0000 Subject: [PATCH] Add action callback support to AS creation commands --- .../driver/vulkan/wrappers/vk_cmd_funcs.cpp | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp index e1b57c417..c9793f5be 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp @@ -7920,9 +7920,20 @@ bool WrappedVulkan::Serialise_vkCmdBuildAccelerationStructuresKHR( if(InRerecordRange(m_LastCmdBufferID)) { commandBuffer = RerecordCmdBuf(m_LastCmdBufferID); + + uint32_t eventId = HandlePreCallback(commandBuffer, ActionFlags::BuildAccStruct); + ObjDisp(commandBuffer) ->CmdBuildAccelerationStructuresKHR(Unwrap(commandBuffer), infoCount, unwrappedInfos, tmpBuildRangeInfos.data()); + + if(eventId && m_ActionCallback->PostMisc(eventId, ActionFlags::BuildAccStruct, commandBuffer)) + { + ObjDisp(commandBuffer) + ->CmdBuildAccelerationStructuresKHR(Unwrap(commandBuffer), infoCount, unwrappedInfos, + tmpBuildRangeInfos.data()); + m_ActionCallback->PostRemisc(eventId, ActionFlags::BuildAccStruct, commandBuffer); + } } } else @@ -8023,7 +8034,17 @@ bool WrappedVulkan::Serialise_vkCmdCopyAccelerationStructureKHR( if(InRerecordRange(m_LastCmdBufferID)) { commandBuffer = RerecordCmdBuf(m_LastCmdBufferID); + + uint32_t eventId = HandlePreCallback(commandBuffer, ActionFlags::BuildAccStruct); + ObjDisp(commandBuffer)->CmdCopyAccelerationStructureKHR(Unwrap(commandBuffer), &unwrappedInfo); + + if(eventId && m_ActionCallback->PostMisc(eventId, ActionFlags::BuildAccStruct, commandBuffer)) + { + ObjDisp(commandBuffer)->CmdCopyAccelerationStructureKHR(Unwrap(commandBuffer), &unwrappedInfo); + + m_ActionCallback->PostRemisc(eventId, ActionFlags::BuildAccStruct, commandBuffer); + } } } else