Module: Mesa Branch: master Commit: b94b827add3bd840b407f190099deff7c8c7e26f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b94b827add3bd840b407f190099deff7c8c7e26f
Author: Jesse Natalie <[email protected]> Date: Tue Jun 2 08:30:35 2020 -0700 panfrost/util: Move nir_undef_to_zero into core nir and add 'lower' Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7565> --- src/compiler/Makefile.sources | 1 + src/compiler/nir/meson.build | 1 + src/compiler/nir/nir.h | 2 ++ .../nir_undef_to_zero.c => compiler/nir/nir_lower_undef_to_zero.c} | 7 ++----- src/panfrost/Makefile.sources | 1 - src/panfrost/bifrost/bifrost_compile.c | 2 +- src/panfrost/midgard/midgard_compile.c | 2 +- src/panfrost/util/meson.build | 1 - src/panfrost/util/pan_ir.h | 3 --- 9 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/compiler/Makefile.sources b/src/compiler/Makefile.sources index af0b97d5c85..4822b0ee952 100644 --- a/src/compiler/Makefile.sources +++ b/src/compiler/Makefile.sources @@ -300,6 +300,7 @@ NIR_FILES = \ nir/nir_lower_two_sided_color.c \ nir/nir_lower_ubo_vec4.c \ nir/nir_lower_uniforms_to_ubo.c \ + nir/nir_lower_undef_to_zero.c \ nir/nir_lower_vars_to_ssa.c \ nir/nir_lower_var_copies.c \ nir/nir_lower_vec_to_movs.c \ diff --git a/src/compiler/nir/meson.build b/src/compiler/nir/meson.build index 9297c7e1ea0..32ef91294ca 100644 --- a/src/compiler/nir/meson.build +++ b/src/compiler/nir/meson.build @@ -178,6 +178,7 @@ files_libnir = files( 'nir_lower_tex.c', 'nir_lower_to_source_mods.c', 'nir_lower_two_sided_color.c', + 'nir_lower_undef_to_zero.c', 'nir_lower_vars_to_ssa.c', 'nir_lower_var_copies.c', 'nir_lower_vec_to_movs.c', diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 24253b55645..a69f5598255 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -5124,6 +5124,8 @@ bool nir_opt_trivial_continues(nir_shader *shader); bool nir_opt_undef(nir_shader *shader); +bool nir_lower_undef_to_zero(nir_shader *shader); + bool nir_opt_uniform_atomics(nir_shader *shader); typedef bool (*nir_opt_vectorize_cb)(const nir_instr *a, const nir_instr *b, diff --git a/src/panfrost/util/nir_undef_to_zero.c b/src/compiler/nir/nir_lower_undef_to_zero.c similarity index 95% rename from src/panfrost/util/nir_undef_to_zero.c rename to src/compiler/nir/nir_lower_undef_to_zero.c index ed0bb5402ce..e75086b5097 100644 --- a/src/panfrost/util/nir_undef_to_zero.c +++ b/src/compiler/nir/nir_lower_undef_to_zero.c @@ -38,13 +38,10 @@ * able to kick in to reduce stuff consuming the zero. */ -#include "compiler/nir/nir.h" -#include "compiler/nir/nir_builder.h" - -bool nir_undef_to_zero(nir_shader *shader); +#include "nir_builder.h" bool -nir_undef_to_zero(nir_shader *shader) +nir_lower_undef_to_zero(nir_shader *shader) { bool progress = false; diff --git a/src/panfrost/Makefile.sources b/src/panfrost/Makefile.sources index 4dec2629602..05a51d2cb63 100644 --- a/src/panfrost/Makefile.sources +++ b/src/panfrost/Makefile.sources @@ -94,7 +94,6 @@ util_FILES := \ util/lcra.c \ util/lcra.h \ util/nir_mod_helpers.c \ - util/nir_undef_to_zero.c \ util/pan_ir.c \ util/pan_ir.h \ util/pan_liveness.c \ diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index cec7c36303f..2e25bec482b 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -2406,7 +2406,7 @@ bi_optimize_nir(nir_shader *nir) } NIR_PASS(progress, nir, nir_opt_undef); - NIR_PASS(progress, nir, nir_undef_to_zero); + NIR_PASS(progress, nir, nir_lower_undef_to_zero); NIR_PASS(progress, nir, nir_opt_loop_unroll, nir_var_shader_in | diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index bb0b0b52172..b08d9127bd4 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -300,7 +300,7 @@ optimise_nir(nir_shader *nir, unsigned quirks, bool is_blend) } NIR_PASS(progress, nir, nir_opt_undef); - NIR_PASS(progress, nir, nir_undef_to_zero); + NIR_PASS(progress, nir, nir_lower_undef_to_zero); NIR_PASS(progress, nir, nir_opt_loop_unroll, nir_var_shader_in | diff --git a/src/panfrost/util/meson.build b/src/panfrost/util/meson.build index 8ac6ee99e43..eecdd640c17 100644 --- a/src/panfrost/util/meson.build +++ b/src/panfrost/util/meson.build @@ -23,7 +23,6 @@ libpanfrost_util_files = files( 'lcra.c', 'lcra.h', 'nir_mod_helpers.c', - 'nir_undef_to_zero.c', 'pan_ir.c', 'pan_ir.h', 'pan_liveness.c', diff --git a/src/panfrost/util/pan_ir.h b/src/panfrost/util/pan_ir.h index d0a5208d388..fd91263e6e4 100644 --- a/src/panfrost/util/pan_ir.h +++ b/src/panfrost/util/pan_ir.h @@ -81,9 +81,6 @@ panfrost_nir_assign_sysvals(struct panfrost_sysvals *ctx, void *memctx, nir_shad int panfrost_sysval_for_instr(nir_instr *instr, nir_dest *dest); -bool -nir_undef_to_zero(nir_shader *shader); - typedef struct { int work_register_count; int uniform_cutoff; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
