From 73e41e532b699e95352fdf580b84356030570e20 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 f159de10f..9eaf82287 100644 --- a/renderdoc/driver/gl/gl_manager.cpp +++ b/renderdoc/driver/gl/gl_manager.cpp @@ -1181,7 +1181,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(res.Namespace, ProgramRes(m_GL->GetCtx(), initProg), 0, NULL));