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; }