freedreno/ir3: use saml always if we have lod
authorRob Clark <robdclark@gmail.com>
Mon, 4 Jun 2018 20:40:52 +0000 (16:40 -0400)
committerRob Clark <robdclark@gmail.com>
Mon, 11 Jun 2018 13:06:03 +0000 (09:06 -0400)
In some cases we get plain tex opcodes (but w/ a lod argument).. in this
case always use the saml instruction.

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c

index 206a3f0..ed87eff 100644 (file)
@@ -2585,7 +2585,7 @@ emit_tex(struct ir3_context *ctx, nir_tex_instr *tex)
        }
 
        switch (tex->op) {
-       case nir_texop_tex:      opc = OPC_SAM;      break;
+       case nir_texop_tex:      opc = has_lod ? OPC_SAML : OPC_SAM; break;
        case nir_texop_txb:      opc = OPC_SAMB;     break;
        case nir_texop_txl:      opc = OPC_SAML;     break;
        case nir_texop_txd:      opc = OPC_SAMGQ;    break;