[Mesa-dev] [PATCH] nir: use common deref has indirect code in scratch lowering.

Dave Airlie airlied at gmail.com
Wed Jul 31 05:36:47 UTC 2019


From: Dave Airlie <airlied at redhat.com>

This doesn't seem to need it's own copy here.
---
 src/compiler/nir/nir_lower_scratch.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/src/compiler/nir/nir_lower_scratch.c b/src/compiler/nir/nir_lower_scratch.c
index df0d3f43124..aacc2ddca08 100644
--- a/src/compiler/nir/nir_lower_scratch.c
+++ b/src/compiler/nir/nir_lower_scratch.c
@@ -34,20 +34,6 @@
 #include "nir_builder.h"
 #include "nir_deref.h"
 
-static bool
-deref_has_indirect(nir_deref_instr *deref)
-{
-   while (deref->deref_type != nir_deref_type_var) {
-      if (deref->deref_type == nir_deref_type_array &&
-          nir_src_as_const_value(deref->arr.index) == NULL)
-         return true;
-
-      deref = nir_deref_instr_parent(deref);
-   }
-
-   return false;
-}
-
 static void
 lower_load_store(nir_builder *b,
                  nir_intrinsic_instr *intrin,
@@ -128,7 +114,7 @@ nir_lower_vars_to_scratch(nir_shader *shader,
             if (!(deref->mode & modes))
                continue;
 
-            if (!deref_has_indirect(nir_src_as_deref(intrin->src[0])))
+            if (!nir_deref_instr_has_indirect(nir_src_as_deref(intrin->src[0])))
                continue;
 
             nir_variable *var = nir_deref_instr_get_variable(deref);
-- 
2.21.0



More information about the mesa-dev mailing list