Mesa (master): nir/lower_io: change nir_io_add_const_offset_to_base to use bitfield modes

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Sep 29 09:56:48 UTC 2020


Module: Mesa
Branch: master
Commit: a0e35c7562e1927cd92d4bf82ade8843aeac5dff
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0e35c7562e1927cd92d4bf82ade8843aeac5dff

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Sep 28 13:13:49 2020 +0200

nir/lower_io: change nir_io_add_const_offset_to_base to use bitfield modes

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6890>

---

 src/compiler/nir/nir.h          |  2 +-
 src/compiler/nir/nir_lower_io.c | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index fddd8060d44..0af5caef49d 100644
--- a/src/compiler/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -4178,7 +4178,7 @@ bool nir_lower_io(nir_shader *shader,
                   int (*type_size)(const struct glsl_type *, bool),
                   nir_lower_io_options);
 
-bool nir_io_add_const_offset_to_base(nir_shader *nir, nir_variable_mode mode);
+bool nir_io_add_const_offset_to_base(nir_shader *nir, nir_variable_mode modes);
 
 bool
 nir_lower_vars_to_explicit_types(nir_shader *shader,
diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c
index bc27114ded0..29d03f98a76 100644
--- a/src/compiler/nir/nir_lower_io.c
+++ b/src/compiler/nir/nir_lower_io.c
@@ -2246,7 +2246,7 @@ static bool is_dual_slot(nir_intrinsic_instr *intrin)
 
 static bool
 add_const_offset_to_base_block(nir_block *block, nir_builder *b,
-                               nir_variable_mode mode)
+                               nir_variable_mode modes)
 {
    bool progress = false;
    nir_foreach_instr_safe(instr, block) {
@@ -2255,8 +2255,8 @@ add_const_offset_to_base_block(nir_block *block, nir_builder *b,
 
       nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
 
-      if ((mode == nir_var_shader_in && is_input(intrin)) ||
-          (mode == nir_var_shader_out && is_output(intrin))) {
+      if (((modes & nir_var_shader_in) && is_input(intrin)) ||
+          ((modes & nir_var_shader_out) && is_output(intrin))) {
          nir_src *offset = nir_get_io_offset_src(intrin);
 
          if (nir_src_is_const(*offset)) {
@@ -2282,7 +2282,7 @@ add_const_offset_to_base_block(nir_block *block, nir_builder *b,
 }
 
 bool
-nir_io_add_const_offset_to_base(nir_shader *nir, nir_variable_mode mode)
+nir_io_add_const_offset_to_base(nir_shader *nir, nir_variable_mode modes)
 {
    bool progress = false;
 
@@ -2291,7 +2291,7 @@ nir_io_add_const_offset_to_base(nir_shader *nir, nir_variable_mode mode)
          nir_builder b;
          nir_builder_init(&b, f->impl);
          nir_foreach_block(block, f->impl) {
-            progress |= add_const_offset_to_base_block(block, &b, mode);
+            progress |= add_const_offset_to_base_block(block, &b, modes);
          }
       }
    }



More information about the mesa-commit mailing list