From fb077b072823ecb193f4494daeceddf0f21aede2 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 7 Mar 2018 03:24:25 +0000 Subject: [PATCH] ac/nir: don't put lod into args if it's zero. If it's zero but put it in args we still end up consuming a register for it. This fixes some spilling in the NIR paths in Dirt Rally that isn't seen with TGSI. Reviewed-by: Timothy Arceri Signed-off-by: Dave Airlie --- src/amd/common/ac_nir_to_llvm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index ea51c3a54a9..cca796de71b 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -5070,8 +5070,7 @@ static void visit_tex(struct ac_nir_context *ctx, nir_tex_instr *instr) } /* Pack LOD */ - if (lod && ((instr->op == nir_texop_txl && !lod_is_zero) || - instr->op == nir_texop_txf)) { + if (lod && ((instr->op == nir_texop_txl || instr->op == nir_texop_txf) && !lod_is_zero)) { address[count++] = lod; } else if (instr->op == nir_texop_txf_ms && sample_index) { address[count++] = sample_index; -- 2.11.0