diff --git a/renderdoc/driver/d3d12/d3d12_commands.cpp b/renderdoc/driver/d3d12/d3d12_commands.cpp index df89a415e..e7a88e648 100644 --- a/renderdoc/driver/d3d12/d3d12_commands.cpp +++ b/renderdoc/driver/d3d12/d3d12_commands.cpp @@ -1529,10 +1529,15 @@ void D3D12CommandData::AddDrawcall(const DrawcallDescription &d, bool hasEvents, m_BakedCmdListInfo[m_LastCmdListID].state.GetDSVID()); } - if(m_LastCmdListID != ResourceId()) - m_BakedCmdListInfo[m_LastCmdListID].drawCount++; - else - m_RootDrawcallID++; + // markers don't increment drawcall ID + DrawFlags MarkerMask = DrawFlags::SetMarker | DrawFlags::PushMarker | DrawFlags::PassBoundary; + if(!(draw.flags & MarkerMask)) + { + if(m_LastCmdListID != ResourceId()) + m_BakedCmdListInfo[m_LastCmdListID].drawCount++; + else + m_RootDrawcallID++; + } if(hasEvents) { diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index 0d43b89f5..5d1162866 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -3338,10 +3338,15 @@ void WrappedVulkan::AddDrawcall(const DrawcallDescription &d, bool hasEvents) } } - if(m_LastCmdBufferID != ResourceId()) - m_BakedCmdBufferInfo[m_LastCmdBufferID].drawCount++; - else - m_RootDrawcallID++; + // markers don't increment drawcall ID + DrawFlags MarkerMask = DrawFlags::SetMarker | DrawFlags::PushMarker | DrawFlags::PassBoundary; + if(!(draw.flags & MarkerMask)) + { + if(m_LastCmdBufferID != ResourceId()) + m_BakedCmdBufferInfo[m_LastCmdBufferID].drawCount++; + else + m_RootDrawcallID++; + } if(hasEvents) {