From 6dfca8bc871b3fd3612c221ef119f40c5f002f96 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 11 May 2022 11:31:11 +0100 Subject: [PATCH] Ensure vkCmdSetEvent2 struct chain is properly unwrapped. Closes #2582 --- renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp index 54a8d11c0..72d40e865 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp @@ -1184,18 +1184,11 @@ void WrappedVulkan::vkCmdSetEvent2(VkCommandBuffer commandBuffer, VkEvent event, { SCOPED_DBG_SINK(); - VkDependencyInfo unwrappedInfo = *pDependencyInfo; - - byte *tempMem = GetTempMemory(GetNextPatchSize(&unwrappedInfo)); - - { - VkBaseInStructure dummy = {}; - dummy.pNext = (const VkBaseInStructure *)&unwrappedInfo; - UnwrapNextChain(m_State, "VkDependencyInfo", tempMem, &dummy); - } + byte *tempMem = GetTempMemory(GetNextPatchSize(pDependencyInfo)); + VkDependencyInfo *unwrappedInfo = UnwrapStructAndChain(m_State, tempMem, pDependencyInfo); SERIALISE_TIME_CALL( - ObjDisp(commandBuffer)->CmdSetEvent2(Unwrap(commandBuffer), Unwrap(event), &unwrappedInfo)); + ObjDisp(commandBuffer)->CmdSetEvent2(Unwrap(commandBuffer), Unwrap(event), unwrappedInfo)); if(IsCaptureMode(m_State)) {