From 45e7b64eb4bf271b412307d1a8a295b983aeb692 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 5 Jan 2017 11:37:30 +0000 Subject: [PATCH] Don't apply durations twice if there's a marker next to a drawcall --- renderdocui/Windows/EventBrowser.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/renderdocui/Windows/EventBrowser.cs b/renderdocui/Windows/EventBrowser.cs index f8655bf76..1b365a16f 100644 --- a/renderdocui/Windows/EventBrowser.cs +++ b/renderdocui/Windows/EventBrowser.cs @@ -313,7 +313,9 @@ namespace renderdocui.Windows if (i > 0 && drawNode.Nodes.Count >= 2 && (drawcall.children[i - 1].flags & DrawcallFlags.SetMarker) > 0) { - drawNode.Nodes[drawNode.Nodes.Count - 2].Tag = drawNode.Nodes.LastNode.Tag; + DeferredEvent markerTag = drawNode.Nodes[drawNode.Nodes.Count - 2].Tag as DeferredEvent; + DeferredEvent drawTag = drawNode.Nodes.LastNode.Tag as DeferredEvent; + markerTag.eventID = drawTag.eventID; } } @@ -364,7 +366,11 @@ namespace renderdocui.Windows { uint eid = GetNodeEventID(n); - if (times.ContainsKey(eid)) + DeferredEvent def = n.Tag as DeferredEvent; + + if (def != null && def.marker) + duration = -1.0; + else if (times.ContainsKey(eid)) duration = times[eid][0].value.d; else duration = -1.0;