Only real SetMarker calls should be flagged as SetMarker

* If we treat 'virtual' events like command buffer begin and end as SetMarker
  type markers, the event selection will replay more than we want it to.
This commit is contained in:
baldurk
2020-01-08 19:10:51 +00:00
parent 6ba58f153d
commit 0798a9cb1d
3 changed files with 4 additions and 5 deletions
@@ -4243,8 +4243,6 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ExecuteIndirect(
if(MaxCommandCount > 1 || comSig->sig.numDraws > 1)
draw.flags |= DrawFlags::PushMarker;
else
draw.flags |= DrawFlags::SetMarker;
m_Cmd->AddDrawcall(draw, true);
@@ -4763,7 +4763,7 @@ bool WrappedOpenGL::Serialise_glFlush(SerialiserType &ser)
DrawcallDescription draw;
draw.name = ToStr(gl_CurChunk) + "()";
draw.flags |= DrawFlags::SetMarker;
draw.flags |= DrawFlags::PassBoundary | DrawFlags::EndPass;
AddDrawcall(draw, true);
}
@@ -4803,7 +4803,7 @@ bool WrappedOpenGL::Serialise_glFinish(SerialiserType &ser)
DrawcallDescription draw;
draw.name = ToStr(gl_CurChunk) + "()";
draw.flags |= DrawFlags::SetMarker;
draw.flags |= DrawFlags::PassBoundary | DrawFlags::EndPass;
AddDrawcall(draw, true);
}
@@ -278,7 +278,7 @@ bool WrappedVulkan::Serialise_vkQueueSubmit(SerialiserType &ser, VkQueue queue,
// add a fake marker
DrawcallDescription draw;
draw.name = name;
draw.flags |= DrawFlags::SetMarker;
draw.flags |= DrawFlags::PassBoundary | DrawFlags::BeginPass;
AddEvent();
m_RootEvents.back().chunkIndex = cmdBufInfo.beginChunk;
@@ -321,6 +321,7 @@ bool WrappedVulkan::Serialise_vkQueueSubmit(SerialiserType &ser, VkQueue queue,
name = StringFormat::Fmt("=> %s[%u]: vkEndCommandBuffer(%s)", basename.c_str(), c,
ToStr(cmd).c_str());
draw.name = name;
draw.flags = DrawFlags::PassBoundary | DrawFlags::EndPass;
AddEvent();
m_RootEvents.back().chunkIndex = cmdBufInfo.endChunk;