From ee68c633e942dad39ed3be51984e83946b6762b5 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Wed, 21 Jun 2023 13:09:51 +1000 Subject: [PATCH] glsl: set last_vert_prog in the nir linker MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Another step to removing the GLSL IR linker Reviewed-by: Marek Olšák Part-of: --- src/compiler/glsl/gl_nir_linker.c | 9 +++++++++ src/compiler/glsl/linker.cpp | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/compiler/glsl/gl_nir_linker.c b/src/compiler/glsl/gl_nir_linker.c index e874ff8..473456e 100644 --- a/src/compiler/glsl/gl_nir_linker.c +++ b/src/compiler/glsl/gl_nir_linker.c @@ -1302,6 +1302,15 @@ gl_nir_link_glsl(const struct gl_constants *consts, MESA_TRACE_FUNC(); + prog->last_vert_prog = NULL; + for (int i = MESA_SHADER_GEOMETRY; i >= MESA_SHADER_VERTEX; i--) { + if (prog->_LinkedShaders[i] == NULL) + continue; + + prog->last_vert_prog = prog->_LinkedShaders[i]->Program; + break; + } + if (prog->SeparateShader) disable_varying_optimizations_for_sso(prog); diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 514b1722..7164af4 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -3795,15 +3795,6 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) } } - prog->last_vert_prog = NULL; - for (int i = MESA_SHADER_GEOMETRY; i >= MESA_SHADER_VERTEX; i--) { - if (prog->_LinkedShaders[i] == NULL) - continue; - - prog->last_vert_prog = prog->_LinkedShaders[i]->Program; - break; - } - for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) { if (prog->_LinkedShaders[i] == NULL) continue; -- 2.7.4