From e99c818cf0666132f0cb76dc2d78e795d0168868 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 20 May 2020 15:50:50 +0200 Subject: [PATCH] ac/nir: add support for bias/lod with texture gather Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/llvm/ac_nir_to_llvm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/llvm/ac_nir_to_llvm.c b/src/amd/llvm/ac_nir_to_llvm.c index e6f4e79aa58..959998c0c5d 100644 --- a/src/amd/llvm/ac_nir_to_llvm.c +++ b/src/amd/llvm/ac_nir_to_llvm.c @@ -1470,7 +1470,8 @@ static LLVMValueRef build_tex_intrinsic(struct ac_nir_context *ctx, break; case nir_texop_tg4: args->opcode = ac_image_gather4; - args->level_zero = true; + if (!args->lod && !args->bias) + args->level_zero = true; break; case nir_texop_lod: args->opcode = ac_image_get_lod; @@ -4448,8 +4449,7 @@ static void visit_tex(struct ac_nir_context *ctx, nir_tex_instr *instr) offset_src = i; break; case nir_tex_src_bias: - if (instr->op == nir_texop_txb) - args.bias = get_src(ctx, instr->src[i].src); + args.bias = get_src(ctx, instr->src[i].src); break; case nir_tex_src_lod: { if (nir_src_is_const(instr->src[i].src) && nir_src_as_uint(instr->src[i].src) == 0) -- 2.30.2