From: Konstantin Seurer Date: Fri, 28 Apr 2023 21:15:48 +0000 (+0200) Subject: gallivm: Fix gather/scatter types for newer llvm X-Git-Tag: upstream/23.3.3~7875 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a2ae6518c2d70dca9e3e9e93dc8e38a18f73c14e;p=platform%2Fupstream%2Fmesa.git gallivm: Fix gather/scatter types for newer llvm The types changed with opaque pointer support. Fixes a bunch of lavapipe regressions. Cc: mesa-stable Reviewed-by: Roland Scheidegger Part-of: --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_gather.c b/src/gallium/auxiliary/gallivm/lp_bld_gather.c index b93251b..f55f2f3 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_gather.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_gather.c @@ -611,8 +611,14 @@ lp_build_masked_gather(struct gallivm_state *gallivm, LLVMValueRef args[4]; char intrin_name[64]; +#if LLVM_VERSION_MAJOR >= 16 + snprintf(intrin_name, 64, "llvm.masked.gather.v%ui%u.v%up0", + length, bit_size, length); +#else snprintf(intrin_name, 64, "llvm.masked.gather.v%ui%u.v%up0i%u", length, bit_size, length, bit_size); +#endif + args[0] = offset_ptr; args[1] = lp_build_const_int32(gallivm, bit_size / 8); args[2] = LLVMBuildICmp(builder, LLVMIntNE, exec_mask, @@ -635,8 +641,14 @@ lp_build_masked_scatter(struct gallivm_state *gallivm, LLVMValueRef args[4]; char intrin_name[64]; +#if LLVM_VERSION_MAJOR >= 16 + snprintf(intrin_name, 64, "llvm.masked.scatter.v%ui%u.v%up0", + length, bit_size, length); +#else snprintf(intrin_name, 64, "llvm.masked.scatter.v%ui%u.v%up0i%u", length, bit_size, length, bit_size); +#endif + args[0] = value_vec; args[1] = offset_ptr; args[2] = lp_build_const_int32(gallivm, bit_size / 8);