diff --git a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp index 93ece219e..11218e47f 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp @@ -1494,22 +1494,30 @@ bool WrappedVulkan::Serialise_vkQueueSubmit(SerialiserType &ser, VkQueue queue, } if(submitCount == 0) { - AddEvent(); + if(IsLoading(m_State)) + { + AddEvent(); - // we're adding multiple events, need to increment ourselves - m_RootEventID++; + // we're adding multiple events, need to increment ourselves + m_RootEventID++; - ObjDisp(queue)->QueueSubmit(Unwrap(queue), 0, NULL, VK_NULL_HANDLE); + ObjDisp(queue)->QueueSubmit(Unwrap(queue), 0, NULL, VK_NULL_HANDLE); - ActionDescription action; - action.customName = "=> vkQueueSubmit(): No Submit"; - action.flags |= ActionFlags::CommandBufferBoundary | ActionFlags::PassBoundary; - AddEvent(); + ActionDescription action; + action.customName = "=> vkQueueSubmit(): No Submit"; + action.flags |= ActionFlags::CommandBufferBoundary | ActionFlags::PassBoundary; + AddEvent(); - m_RootEvents.back().chunkIndex = APIEvent::NoChunk; - m_Events.back().chunkIndex = APIEvent::NoChunk; + m_RootEvents.back().chunkIndex = APIEvent::NoChunk; + m_Events.back().chunkIndex = APIEvent::NoChunk; - AddAction(action); + AddAction(action); + } + else + { + // account for the queue submit event + m_RootEventID++; + } } else { @@ -1687,22 +1695,30 @@ bool WrappedVulkan::Serialise_vkQueueSubmit2(SerialiserType &ser, VkQueue queue, } if(submitCount == 0) { - AddEvent(); + if(IsLoading(m_State)) + { + AddEvent(); - // we're adding multiple events, need to increment ourselves - m_RootEventID++; + // we're adding multiple events, need to increment ourselves + m_RootEventID++; - ObjDisp(queue)->QueueSubmit2(Unwrap(queue), 0, NULL, VK_NULL_HANDLE); + ObjDisp(queue)->QueueSubmit2(Unwrap(queue), 0, NULL, VK_NULL_HANDLE); - ActionDescription action; - action.customName = "=> vkQueueSubmit2(): No Submit"; - action.flags |= ActionFlags::CommandBufferBoundary | ActionFlags::PassBoundary; - AddEvent(); + ActionDescription action; + action.customName = "=> vkQueueSubmit2(): No Submit"; + action.flags |= ActionFlags::CommandBufferBoundary | ActionFlags::PassBoundary; + AddEvent(); - m_RootEvents.back().chunkIndex = APIEvent::NoChunk; - m_Events.back().chunkIndex = APIEvent::NoChunk; + m_RootEvents.back().chunkIndex = APIEvent::NoChunk; + m_Events.back().chunkIndex = APIEvent::NoChunk; - AddAction(action); + AddAction(action); + } + else + { + // account for the queue submit event + m_RootEventID++; + } } else {