diff --git a/renderdoc/driver/gl/gl_renderstate.h b/renderdoc/driver/gl/gl_renderstate.h index 73b9a0122..99a581d77 100644 --- a/renderdoc/driver/gl/gl_renderstate.h +++ b/renderdoc/driver/gl/gl_renderstate.h @@ -39,6 +39,7 @@ struct GLRenderState void FetchState(); void ApplyState(); void Clear(); + void Serialise(LogState state, void *ctx, WrappedOpenGL *gl); enum { @@ -223,7 +224,6 @@ struct GLRenderState GLenum CullFace; // - void Serialise(LogState state, void *ctx, WrappedOpenGL *gl); private: Serialiser *m_pSerialiser; LogState m_State; diff --git a/renderdoc/driver/gl/gl_replay.cpp b/renderdoc/driver/gl/gl_replay.cpp index 2a2f32c0f..6492f5814 100644 --- a/renderdoc/driver/gl/gl_replay.cpp +++ b/renderdoc/driver/gl/gl_replay.cpp @@ -817,11 +817,11 @@ void GLReplay::SavePipelineState() WrappedOpenGL &gl = *m_pDriver; GLResourceManager *rm = m_pDriver->GetResourceManager(); + MakeCurrentReplayContext(&m_ReplayCtx); + GLRenderState rs(&gl.GetHookset(), NULL, READING); rs.FetchState(); - MakeCurrentReplayContext(&m_ReplayCtx); - // Index buffer pipe.m_VtxIn.ibuffer.Offset = m_pDriver->m_LastIndexOffset;