diff options
-rw-r--r-- | src/compiler/nir/nir.h | 2 | ||||
-rw-r--r-- | src/compiler/nir/nir_lower_vars_to_ssa.c | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 1f918af725d..910352dba07 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -2391,7 +2391,7 @@ bool nir_is_per_vertex_io(nir_variable *var, gl_shader_stage stage); void nir_lower_io_types(nir_shader *shader); void nir_lower_regs_to_ssa_impl(nir_function_impl *impl); void nir_lower_regs_to_ssa(nir_shader *shader); -void nir_lower_vars_to_ssa(nir_shader *shader); +bool nir_lower_vars_to_ssa(nir_shader *shader); bool nir_remove_dead_variables(nir_shader *shader, nir_variable_mode modes); bool nir_lower_constant_initializers(nir_shader *shader, diff --git a/src/compiler/nir/nir_lower_vars_to_ssa.c b/src/compiler/nir/nir_lower_vars_to_ssa.c index 37a786cbacd..e5a12eb9713 100644 --- a/src/compiler/nir/nir_lower_vars_to_ssa.c +++ b/src/compiler/nir/nir_lower_vars_to_ssa.c @@ -737,11 +737,15 @@ nir_lower_vars_to_ssa_impl(nir_function_impl *impl) return progress; } -void +bool nir_lower_vars_to_ssa(nir_shader *shader) { + bool progress = false; + nir_foreach_function(function, shader) { if (function->impl) - nir_lower_vars_to_ssa_impl(function->impl); + progress |= nir_lower_vars_to_ssa_impl(function->impl); } + + return progress; } |