Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> --- src/glsl/nir/nir.h | 2 +- src/glsl/nir/nir_lower_vars_to_ssa.c | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h index a8ed3f8..517b7f8 100644 --- a/src/glsl/nir/nir.h +++ b/src/glsl/nir/nir.h @@ -1601,6 +1601,7 @@ bool nir_function_impl_run_pass(nir_function_impl *impl, const nir_pass *pass, NIR_DECL_PASS(nir_lower_alu_to_scalar) NIR_DECL_PASS(nir_lower_phis_to_scalar) +NIR_DECL_PASS(nir_lower_vars_to_ssa) nir_shader *nir_shader_create(void *mem_ctx, gl_shader_stage stage, @@ -1939,7 +1940,6 @@ void nir_assign_var_locations(struct exec_list *var_list, void nir_lower_io(nir_shader *shader, nir_variable_mode mode, int (*type_size)(const struct glsl_type *)); -void nir_lower_vars_to_ssa(nir_shader *shader); bool nir_remove_dead_variables(nir_shader *shader); diff --git a/src/glsl/nir/nir_lower_vars_to_ssa.c b/src/glsl/nir/nir_lower_vars_to_ssa.c index 5971507..146be49 100644 --- a/src/glsl/nir/nir_lower_vars_to_ssa.c +++ b/src/glsl/nir/nir_lower_vars_to_ssa.c @@ -856,7 +856,7 @@ insert_phi_nodes(struct lower_variables_state *state) * with SSA definitions and SSA uses. */ static bool -nir_lower_vars_to_ssa_impl(nir_function_impl *impl) +nir_lower_vars_to_ssa_impl(nir_function_impl *impl, void *unused) { struct lower_variables_state state; @@ -935,19 +935,12 @@ nir_lower_vars_to_ssa_impl(nir_function_impl *impl) insert_phi_nodes(&state); rename_variables_block(nir_start_block(impl), &state); - nir_metadata_preserve(impl, nir_metadata_block_index | - nir_metadata_dominance); - ralloc_free(state.dead_ctx); return progress; } -void -nir_lower_vars_to_ssa(nir_shader *shader) -{ - nir_foreach_overload(shader, overload) { - if (overload->impl) - nir_lower_vars_to_ssa_impl(overload->impl); - } -} +const nir_pass nir_lower_vars_to_ssa_pass = { + .impl_pass_func = nir_lower_vars_to_ssa_impl, + .metadata_preserved = nir_metadata_block_index | nir_metadata_dominance, +}; -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev