aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2017-02-24 15:22:54 -0800
committerMatt Turner <[email protected]>2017-03-23 14:34:43 -0700
commitc597f87739bae7d0d386381417a0aba6bbc39fe2 (patch)
treec4316c9f82ae0c10fee22cfd52a1b9dbd254f1c5
parent7d41bf8d7b4a094bdfa725d68053ab21a1365ad5 (diff)
nir: Return progress from nir_lower_vars_to_ssa().
Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r--src/compiler/nir/nir.h2
-rw-r--r--src/compiler/nir/nir_lower_vars_to_ssa.c8
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;
}