gallivm: fixes for LLVM-15 opaque pointers in lp_bld_struct.c

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334>
This commit is contained in:
Mihai Preda 2022-08-22 16:34:30 +03:00 committed by Marge Bot
parent 02b9a8ba12
commit 4ff7e64e81

View file

@ -109,7 +109,8 @@ lp_build_struct_get2(struct gallivm_state *gallivm,
assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind);
assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind);
member_ptr = lp_build_struct_get_ptr2(gallivm, ptr_type, ptr, member, name);
res = LLVMBuildLoad(gallivm->builder, member_ptr, "");
LLVMTypeRef member_type = LLVMStructGetTypeAtIndex(ptr_type, member);
res = LLVMBuildLoad2(gallivm->builder, member_type, member_ptr, "");
lp_build_name(res, "%s.%s", LLVMGetValueName(ptr), name);
return res;
}