Mesa (master): ac/nir: add support for bias/lod with texture gather

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon May 25 07:25:32 UTC 2020


Module: Mesa
Branch: master
Commit: e99c818cf0666132f0cb76dc2d78e795d0168868
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e99c818cf0666132f0cb76dc2d78e795d0168868

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed May 20 15:50:50 2020 +0200

ac/nir: add support for bias/lod with texture gather

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5147>

---

 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)



More information about the mesa-commit mailing list