aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-11-21 13:40:00 -0500
committerAlyssa Rosenzweig <[email protected]>2019-11-22 08:38:57 -0500
commit4c43b354c3aabe308302405a79bc0be5a8cde91f (patch)
treee8218a63a64640a743ced2f662dd3008c0018ea4 /src
parent47c7c4263ced956378321be389899ed805e0ae2d (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.c13
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: