diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-11-21 13:40:00 -0500 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-11-22 08:38:57 -0500 |
commit | 4c43b354c3aabe308302405a79bc0be5a8cde91f (patch) | |
tree | e8218a63a64640a743ced2f662dd3008c0018ea4 /src | |
parent | 47c7c4263ced956378321be389899ed805e0ae2d (diff) |
pan/midgard: Use lower_tex_without_implicit_lod
Just a bit of cleanup. lower_tex can do this lowering for us, which
should also eliminate some special cases (one less thing to fix if we
ever need texturing in tess/geom/etc, perhaps?)
Closes #2133
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Tomeu Vizoso <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/panfrost/midgard/midgard_compile.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index 91cba1c1d54..2d8145c2ec0 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -499,7 +499,9 @@ optimise_nir(nir_shader *nir, unsigned quirks) nir_lower_tex_options lower_tex_options = { .lower_txs_lod = true, - .lower_txp = ~0 + .lower_txp = ~0, + .lower_tex_without_implicit_lod = + (quirks & MIDGARD_EXPLICIT_LOD), }; NIR_PASS(progress, nir, nir_lower_tex, &lower_tex_options); @@ -1829,15 +1831,6 @@ emit_texop_native(compiler_context *ctx, nir_tex_instr *instr, static void emit_tex(compiler_context *ctx, nir_tex_instr *instr) { - /* Fixup op, since only textureLod is permitted in VS on later Midgard - * but NIR can give generic tex in some cases (which confuses the - * hardware). Interestingly, early Midgard lines up with NIR */ - - bool is_vertex = ctx->stage == MESA_SHADER_VERTEX; - - if (is_vertex && instr->op == nir_texop_tex && ctx->quirks & MIDGARD_EXPLICIT_LOD) - instr->op = nir_texop_txl; - switch (instr->op) { case nir_texop_tex: case nir_texop_txb: |