[Mesa-dev] [PATCH v4 098/129] nir: Remove deref chain support from lower_drawpixels

Jason Ekstrand jason at jlekstrand.net
Fri Jun 1 05:04:28 UTC 2018


---
 src/compiler/nir/nir_lower_drawpixels.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/src/compiler/nir/nir_lower_drawpixels.c b/src/compiler/nir/nir_lower_drawpixels.c
index 05131af..f8feceb 100644
--- a/src/compiler/nir/nir_lower_drawpixels.c
+++ b/src/compiler/nir/nir_lower_drawpixels.c
@@ -225,19 +225,6 @@ lower_drawpixels_block(lower_drawpixels_state *state, nir_block *block)
                assert(deref->deref_type == nir_deref_type_var);
                lower_texcoord(state, intr);
             }
-         } else if (intr->intrinsic == nir_intrinsic_load_var) {
-            nir_deref_var *dvar = intr->variables[0];
-            nir_variable *var = dvar->var;
-
-            if (var->data.location == VARYING_SLOT_COL0) {
-               /* gl_Color should not have array/struct derefs: */
-               assert(dvar->deref.child == NULL);
-               lower_color(state, intr);
-            } else if (var->data.location == VARYING_SLOT_TEX0) {
-               /* gl_TexCoord should not have array/struct derefs: */
-               assert(dvar->deref.child == NULL);
-               lower_texcoord(state, intr);
-            }
          }
       }
    }
@@ -266,6 +253,11 @@ nir_lower_drawpixels(nir_shader *shader,
       .shader = shader,
    };
 
+   /* note that this pass already assumes texture/sampler derefs are already
+    * lowered to index
+    */
+   nir_assert_unlowered_derefs(shader, nir_lower_load_store_derefs);
+
    assert(shader->info.stage == MESA_SHADER_FRAGMENT);
 
    nir_foreach_function(function, shader) {
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list