From c256cd900e71a44490ed8a248ebc0c7f1abc38c5 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 21 Jul 2020 18:46:24 -0500 Subject: [PATCH] nir/lower_variable_initializers: Restrict the modes we lower This is not a functional change because these are the only modes we handle. All others get silently ignored. Reviewed-by: Dave Airlie Part-of: --- src/compiler/nir/nir_lower_variable_initializers.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/compiler/nir/nir_lower_variable_initializers.c b/src/compiler/nir/nir_lower_variable_initializers.c index 3a32bbd0533..7b90a196b2d 100644 --- a/src/compiler/nir/nir_lower_variable_initializers.c +++ b/src/compiler/nir/nir_lower_variable_initializers.c @@ -88,6 +88,16 @@ nir_lower_variable_initializers(nir_shader *shader, nir_variable_mode modes) { bool progress = false; + /* Only some variables have initializers that we want to lower. Others + * such as uniforms have initializers which are useful later during linking + * so we want to skip over those. Restrict to only variable types where + * initializers make sense so that callers can use nir_var_all. + */ + modes &= nir_var_shader_out | + nir_var_shader_temp | + nir_var_function_temp | + nir_var_system_value; + nir_foreach_function(function, shader) { if (!function->impl) continue; -- 2.30.2