Mesa (master): ac: fix incorrect argument type for tbuffer.{load,store} with LLVM 7

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Mar 21 13:01:09 UTC 2019


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Mar 21 12:42:44 2019 +0100

ac: fix incorrect argument type for tbuffer.{load,store} with LLVM 7

GLC/SLC are boolean.

This fixes the following LLVM error when checkir is set:
Intrinsic has incorrect argument type!
void (i32, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32)* @llvm.amdgcn.tbuffer.store.i32

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl

---

 src/amd/common/ac_llvm_build.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c
index 8701d2ca43a..1123dce2cc8 100644
--- a/src/amd/common/ac_llvm_build.c
+++ b/src/amd/common/ac_llvm_build.c
@@ -1537,8 +1537,8 @@ ac_build_tbuffer_load(struct ac_llvm_context *ctx,
 		immoffset,
 		LLVMConstInt(ctx->i32, dfmt, false),
 		LLVMConstInt(ctx->i32, nfmt, false),
-		LLVMConstInt(ctx->i32, glc, false),
-		LLVMConstInt(ctx->i32, slc, false),
+		LLVMConstInt(ctx->i1, glc, false),
+		LLVMConstInt(ctx->i1, slc, false),
 	};
 	unsigned func = CLAMP(num_channels, 1, 3) - 1;
 	LLVMTypeRef types[] = {ctx->i32, ctx->v2i32, ctx->v4i32};
@@ -1699,8 +1699,8 @@ ac_build_tbuffer_store(struct ac_llvm_context *ctx,
 			immoffset,
 			LLVMConstInt(ctx->i32, dfmt, false),
 			LLVMConstInt(ctx->i32, nfmt, false),
-			LLVMConstInt(ctx->i32, glc, false),
-			LLVMConstInt(ctx->i32, slc, false),
+			LLVMConstInt(ctx->i1, glc, false),
+			LLVMConstInt(ctx->i1, slc, false),
 		};
 		unsigned func = CLAMP(num_channels, 1, 3) - 1;
 		const char *type_names[] = {"i32", "v2i32", "v4i32"};




More information about the mesa-commit mailing list