From a8c485efee4f7fb50faff0c56b59dc3c9d66dd41 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Thu, 4 May 2023 12:13:44 +1000 Subject: [PATCH] glsl: remove unused system vars MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit System vars are added to the resource list as inputs so remove any dead ones before building the list. Reviewed-by: Emma Anholt Reviewed-by: Marek Olšák Part-of: --- src/compiler/glsl/gl_nir_linker.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/compiler/glsl/gl_nir_linker.c b/src/compiler/glsl/gl_nir_linker.c index b5958d6..f39223c 100644 --- a/src/compiler/glsl/gl_nir_linker.c +++ b/src/compiler/glsl/gl_nir_linker.c @@ -202,7 +202,7 @@ gl_nir_link_opts(nir_shader *producer, nir_shader *consumer) } static bool -can_remove_uniform(nir_variable *var, UNUSED void *data) +can_remove_var(nir_variable *var, UNUSED void *data) { /* Section 2.11.6 (Uniform Variables) of the OpenGL ES 3.0.3 spec * says: @@ -1092,7 +1092,7 @@ gl_nir_link_spirv(const struct gl_constants *consts, struct gl_linked_shader *shader = prog->_LinkedShaders[i]; if (shader) { const nir_remove_dead_variables_options opts = { - .can_remove_var = can_remove_uniform, + .can_remove_var = can_remove_var, }; nir_remove_dead_variables(shader->Program->nir, nir_var_uniform | nir_var_image, @@ -1295,11 +1295,12 @@ gl_nir_link_glsl(const struct gl_constants *consts, } const nir_remove_dead_variables_options opts = { - .can_remove_var = can_remove_uniform, + .can_remove_var = can_remove_var, }; nir_remove_dead_variables(shader->Program->nir, nir_var_uniform | nir_var_image | - nir_var_mem_ubo | nir_var_mem_ssbo, + nir_var_mem_ubo | nir_var_mem_ssbo | + nir_var_system_value, &opts); } } -- 2.7.4