From 78c402bb3422d9ac689f73796b273b1c15a4a54b Mon Sep 17 00:00:00 2001 From: michaelrgb Date: Tue, 3 Oct 2017 14:24:35 +0100 Subject: [PATCH] Create uniform translation table from live prog instead of initial prog. The table is used on the live program, and we have seen the driver choose different locations in the initial program due to the TF varyings. --- renderdoc/driver/gl/gl_manager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/gl/gl_manager.cpp b/renderdoc/driver/gl/gl_manager.cpp index 2e46e98db..5cbc550e6 100644 --- a/renderdoc/driver/gl/gl_manager.cpp +++ b/renderdoc/driver/gl/gl_manager.cpp @@ -1166,7 +1166,9 @@ bool GLResourceManager::Serialise_InitialState(ResourceId resid, GLResource res) gl.glLinkProgram(initProg); } - SerialiseProgramUniforms(gl, m_pSerialiser, initProg, &details.locationTranslate, false); + GLuint live = GetLiveResource(Id).name; + SerialiseProgramUniforms(gl, m_pSerialiser, live, &details.locationTranslate, false); + CopyProgramUniforms(gl, live, initProg); SetInitialContents(Id, InitialContentData(ProgramRes(m_GL->GetCtx(), initProg), 0, NULL)); }