From 2833ea4a84a8840288facf0fb34f47ba22ab70fa Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 13 Jul 2022 12:10:40 +0100 Subject: [PATCH] Handle state changes on first event in a command buffer. Closes #2648 * When selecting the first event in a command buffer the render state wouldn't properly be updated. This is particularly bad if the state that changed is being in/out of a renderpass. --- renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp index 1cb87e58c..01f70a775 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp @@ -1090,7 +1090,8 @@ bool WrappedVulkan::Serialise_vkBeginCommandBuffer(SerialiserType &ser, VkComman for(auto it = submissions.begin(); it != submissions.end(); ++it) { - if(it->baseEvent <= m_LastEventID && m_LastEventID < (it->baseEvent + length)) + if(RDCMAX(1U, it->baseEvent) - 1 <= m_LastEventID && + m_LastEventID < (it->baseEvent + length)) { #if ENABLED(VERBOSE_PARTIAL_REPLAY) RDCDEBUG("vkBegin - partial detected %u < %u < %u, %s -> %s", it->baseEvent,