From: Alyssa Rosenzweig Date: Thu, 21 Nov 2019 18:40:00 +0000 (-0500) Subject: pan/midgard: Use lower_tex_without_implicit_lod X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4c43b354c3aabe308302405a79bc0be5a8cde91f;p=mesa.git 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 Reviewed-by: Tomeu Vizoso --- 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: