Be careful not to overlap multidraws in GL when replaying event-to-event

This commit is contained in:
baldurk
2018-02-21 18:33:15 +00:00
parent cc16a81d2c
commit f52de8d216
2 changed files with 5 additions and 4 deletions
+3 -3
View File
@@ -767,7 +767,7 @@ ResourceId GLReplay::RenderOverlay(ResourceId texid, CompType typeHint, DebugOve
m_pDriver->ReplayLog(events[i], events[i], eReplay_OnlyDraw);
if(overlay == DebugOverlay::ClearBeforePass && i + 1 < events.size())
m_pDriver->ReplayLog(events[i], events[i + 1], eReplay_WithoutDraw);
m_pDriver->ReplayLog(events[i] + 1, events[i + 1], eReplay_WithoutDraw);
}
}
}
@@ -1139,7 +1139,7 @@ ResourceId GLReplay::RenderOverlay(ResourceId texid, CompType typeHint, DebugOve
m_pDriver->ReplayLog(0, events[i], eReplay_OnlyDraw);
if(i + 1 < events.size())
m_pDriver->ReplayLog(events[i], events[i + 1], eReplay_WithoutDraw);
m_pDriver->ReplayLog(events[i] + 1, events[i + 1], eReplay_WithoutDraw);
}
}
@@ -1336,7 +1336,7 @@ ResourceId GLReplay::RenderOverlay(ResourceId texid, CompType typeHint, DebugOve
m_pDriver->ReplayLog(0, events[i], eReplay_OnlyDraw);
if(i + 1 < events.size())
m_pDriver->ReplayLog(events[i], events[i + 1], eReplay_WithoutDraw);
m_pDriver->ReplayLog(events[i] + 1, events[i + 1], eReplay_WithoutDraw);
}
}
+2 -1
View File
@@ -1386,7 +1386,8 @@ void GLReplay::InitPostVSBuffers(const vector<uint32_t> &passEvents)
{
if(prev != passEvents[i])
{
m_pDriver->ReplayLog(prev, passEvents[i], eReplay_WithoutDraw);
m_pDriver->ReplayLog(prev, prev, eReplay_OnlyDraw);
m_pDriver->ReplayLog(prev + 1, passEvents[i], eReplay_WithoutDraw);
prev = passEvents[i];
}