From 5fdc74d34b2f71c4ac8d20cd2c47fea91ee050df Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 13 Nov 2015 19:53:46 +0100 Subject: [PATCH] Fix for replaying Begin/EndRenderPass draws --- renderdoc/driver/vulkan/vk_core.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index 268e2ab79..7eacab656 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -1861,10 +1861,16 @@ void WrappedVulkan::ReplayLog(uint32_t frameID, uint32_t startEventID, uint32_t ObjDisp(cmd)->CmdBindVertexBuffers(Unwrap(cmd), (uint32_t)i, 1, UnwrapPtr(GetResourceManager()->GetCurrentHandle(s.vbuffers[i].buf)), &s.vbuffers[i].offs); } + bool rpWasActive = m_PartialReplayData.renderPassActive; + ContextReplayLog(EXECUTING, endEventID, endEventID, partial); if(m_PartialReplayData.renderPassActive) ObjDisp(cmd)->CmdEndRenderPass(Unwrap(cmd)); + + // we might have replayed a CmdBeginRenderPass or CmdEndRenderPass, + // but we want to keep the partial replay data state intact. + m_PartialReplayData.renderPassActive = rpWasActive; ObjDisp(cmd)->EndCommandBuffer(Unwrap(cmd));