From 2fb575693d99a87f110f127263f72be13a43faaa Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 20 Jun 2018 10:36:00 +0100 Subject: [PATCH] Allow equal EIDs for fake markers generated in core code --- renderdoc/replay/replay_driver.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/renderdoc/replay/replay_driver.cpp b/renderdoc/replay/replay_driver.cpp index e136772af..986020782 100644 --- a/renderdoc/replay/replay_driver.cpp +++ b/renderdoc/replay/replay_driver.cpp @@ -83,7 +83,10 @@ DrawcallDescription *SetupDrawcallPointers(vector &drawca // Some markers like Present should have previous/next, but API Calls we also skip { - RDCASSERT(drawcallTable.empty() || draw->eventId > drawcallTable.back()->eventId); + // we also allow equal EIDs for fake markers that don't have their own EIDs + RDCASSERT(drawcallTable.empty() || draw->eventId > drawcallTable.back()->eventId || + (draw->eventId == drawcallTable.back()->eventId && + (drawcallTable.back()->flags & DrawFlags::PushMarker))); drawcallTable.resize(RDCMAX(drawcallTable.size(), size_t(draw->eventId + 1))); drawcallTable[draw->eventId] = draw; }