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;