AlmaLinux changes: Enable vc4 and v3d for Raspberry Pi graphics in AlmaLinux (Resolves: https://github.com/AlmaLinux/raspberry-pi/issues/32)
Add LLVM 21 support for gallivm (riscv64)
This commit is contained in:
parent
15b3e93dab
commit
080e0666b7
54
cd129dbf8af2d16b1243f2ce287ff69c6a5dc557.patch
Normal file
54
cd129dbf8af2d16b1243f2ce287ff69c6a5dc557.patch
Normal file
@ -0,0 +1,54 @@
|
||||
From cd129dbf8af2d16b1243f2ce287ff69c6a5dc557 Mon Sep 17 00:00:00 2001
|
||||
From: no92 <no92.mail@gmail.com>
|
||||
Date: Wed, 27 Aug 2025 16:02:31 +0200
|
||||
Subject: [PATCH] gallivm: support LLVM 21
|
||||
|
||||
LLVM PR#146819 changed the signature of `setObjectLinkingLayerCreator`,
|
||||
dropping the Triple argument. The PR was first included in the LLVM 21
|
||||
series, and the new signature is gated behind a version check for that.
|
||||
|
||||
`LLVMOrcThreadSafeContextGetContext` was removed in LLVM commit b18e5b6,
|
||||
and the ORC examples in the LLVM tree seem to just create a context
|
||||
instead, which we replicate here.
|
||||
|
||||
With this commit, mesa successfully builds the llvmpipe gallium driver
|
||||
on riscv64 with LLVM 21.1.0.
|
||||
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13785
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13852
|
||||
|
||||
Reviewed-by: David Heidelberg <david@ixit.cz>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37027>
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp
|
||||
index 6651ea439da86..e5d8e461dd6c0 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp
|
||||
@@ -339,7 +339,12 @@ LPJit::LPJit() :jit_dylib_count(0) {
|
||||
.setJITTargetMachineBuilder(std::move(JTMB))
|
||||
#ifdef USE_JITLINK
|
||||
.setObjectLinkingLayerCreator(
|
||||
+#if LLVM_VERSION_MAJOR >= 21
|
||||
+ /* LLVM 21 removed the Triple argument */
|
||||
+ [&](ExecutionSession &ES) {
|
||||
+#else
|
||||
[&](ExecutionSession &ES, const llvm::Triple &TT) {
|
||||
+#endif
|
||||
return std::make_unique<ObjectLinkingLayer>(
|
||||
ES, ExitOnErr(llvm::jitlink::InProcessMemoryManager::Create()));
|
||||
})
|
||||
@@ -551,7 +556,7 @@ init_gallivm_state(struct gallivm_state *gallivm, const char *name,
|
||||
gallivm->cache = cache;
|
||||
|
||||
gallivm->_ts_context = context->ref;
|
||||
- gallivm->context = LLVMOrcThreadSafeContextGetContext(context->ref);
|
||||
+ gallivm->context = LLVMContextCreate();
|
||||
|
||||
gallivm->module_name = LPJit::get_unique_name(name);
|
||||
gallivm->module = LLVMModuleCreateWithNameInContext(gallivm->module_name,
|
||||
--
|
||||
GitLab
|
||||
|
||||
@ -148,6 +148,9 @@ Source15: https://crates.io/api/v1/crates/rustc-hash/%{rustc_hash_ver}/dow
|
||||
Patch11: 0001-device-select-add-a-layer-setting-to-disable-device-.patch
|
||||
Patch12: 0002-zink-use-device-select-layer-settings-to-disable-dev.patch
|
||||
|
||||
# AlmaLinux Patch
|
||||
Patch1001: cd129dbf8af2d16b1243f2ce287ff69c6a5dc557.patch
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
|
||||
Loading…
Reference in New Issue
Block a user