mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-11-15 10:20:07 +00:00
Fix incorrect EID skipping for single Vullkan Indirect Draws
m_RootEventID needs to be incremented to keep in sync with skipping the fake indirect subcommand event
This commit is contained in:
1 parent
e665bc0a12
commit
83d996b369
1 file changed
+9
-6
@@ -370,8 +370,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirect(SerialiserType &ser, VkCommandBu
|
||||
// for single draws, it's pretty simple
|
||||
|
||||
// account for the fake indirect subcommand before checking if we're in re-record range
|
||||
if(count > 0)
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID++;
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID += count;
|
||||
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
@@ -389,6 +388,8 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirect(SerialiserType &ser, VkCommandBu
|
||||
m_ActionCallback->PostRedraw(eventId, ActionFlags::Drawcall, commandBuffer);
|
||||
}
|
||||
}
|
||||
if(m_FirstEventID > 1)
|
||||
m_RootEventID += count;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -779,8 +780,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirect(SerialiserType &ser,
|
||||
// for single draws, it's pretty simple
|
||||
|
||||
// account for the fake indirect subcommand before checking if we're in re-record range
|
||||
if(count > 0)
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID++;
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID += count;
|
||||
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
@@ -799,6 +799,8 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirect(SerialiserType &ser,
|
||||
m_ActionCallback->PostRedraw(eventId, ActionFlags::Drawcall, commandBuffer);
|
||||
}
|
||||
}
|
||||
if(m_FirstEventID > 1)
|
||||
m_RootEventID += count;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4469,8 +4471,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawMeshTasksIndirectEXT(SerialiserType &ser,
|
||||
// for single draws, it's pretty simple
|
||||
|
||||
// account for the fake indirect subcommand before checking if we're in re-record range
|
||||
if(drawCount > 0)
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID++;
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID += drawCount;
|
||||
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
@@ -4490,6 +4491,8 @@ bool WrappedVulkan::Serialise_vkCmdDrawMeshTasksIndirectEXT(SerialiserType &ser,
|
||||
m_ActionCallback->PostRedraw(eventId, ActionFlags::MeshDispatch, commandBuffer);
|
||||
}
|
||||
}
|
||||
if(m_FirstEventID > 1)
|
||||
m_RootEventID += drawCount;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user