From 29277b93a1f15bd90a9911322e2b8e8e9c324393 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 12 Jan 2021 17:16:17 +0000 Subject: [PATCH] Both PRIMITIVE_RESTART_FIXED_INDEX and PRIMITIVE_RESTART enable restart --- renderdoc/driver/gl/gl_postvs.cpp | 4 +++- renderdoc/driver/gl/gl_replay.cpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/gl/gl_postvs.cpp b/renderdoc/driver/gl/gl_postvs.cpp index 335b5635c..7ae5c4c2a 100644 --- a/renderdoc/driver/gl/gl_postvs.cpp +++ b/renderdoc/driver/gl/gl_postvs.cpp @@ -924,7 +924,9 @@ void GLReplay::InitPostVSBuffers(uint32_t eventId) uint32_t stripRestartValue32 = 0; - if(SupportsRestart(drawcall->topology) && rs.Enabled[GLRenderState::eEnabled_PrimitiveRestart]) + if(SupportsRestart(drawcall->topology) && + (rs.Enabled[GLRenderState::eEnabled_PrimitiveRestart] || + rs.Enabled[GLRenderState::eEnabled_PrimitiveRestartFixedIndex])) { stripRestartValue32 = rs.Enabled[GLRenderState::eEnabled_PrimitiveRestartFixedIndex] ? ~0U diff --git a/renderdoc/driver/gl/gl_replay.cpp b/renderdoc/driver/gl/gl_replay.cpp index 27ff1bae8..fb4520d3f 100644 --- a/renderdoc/driver/gl/gl_replay.cpp +++ b/renderdoc/driver/gl/gl_replay.cpp @@ -804,7 +804,8 @@ void GLReplay::SavePipelineState(uint32_t eventId) drv.glGetIntegerv(eGL_ELEMENT_ARRAY_BUFFER_BINDING, (GLint *)&ibuffer); pipe.vertexInput.indexBuffer = rm->GetOriginalID(rm->GetResID(BufferRes(ctx, ibuffer))); - pipe.vertexInput.primitiveRestart = rs.Enabled[GLRenderState::eEnabled_PrimitiveRestart]; + pipe.vertexInput.primitiveRestart = rs.Enabled[GLRenderState::eEnabled_PrimitiveRestart] || + rs.Enabled[GLRenderState::eEnabled_PrimitiveRestartFixedIndex]; pipe.vertexInput.restartIndex = rs.Enabled[GLRenderState::eEnabled_PrimitiveRestartFixedIndex] ? ~0U : rs.PrimitiveRestartIndex;