From ae921d60d393bafb77901a08beaf93fef7409afc Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 15 Nov 2025 13:01:48 +0300 Subject: [PATCH] mesa: 25.2.6 -> 25.3.0 --- pkgs/development/libraries/mesa/common.nix | 4 +- pkgs/development/libraries/mesa/default.nix | 9 ++-- .../libraries/mesa/gallivm-llvm-21.patch | 53 ------------------- 3 files changed, 8 insertions(+), 58 deletions(-) delete mode 100644 pkgs/development/libraries/mesa/gallivm-llvm-21.patch diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix index 732fc979c1cb..c3d91831ad7d 100644 --- a/pkgs/development/libraries/mesa/common.nix +++ b/pkgs/development/libraries/mesa/common.nix @@ -5,14 +5,14 @@ # nix build .#legacyPackages.x86_64-darwin.mesa .#legacyPackages.aarch64-darwin.mesa rec { pname = "mesa"; - version = "25.2.6"; + version = "25.3.0"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "mesa"; repo = "mesa"; rev = "mesa-${version}"; - hash = "sha256-erfvNR1Yor3k8gVVClyiBJsgyaOv7BMFd1NSgieTY5I="; + hash = "sha256-MviXDRAbCEXM9dIzD94/CM0bjlF4zCJUVE91Xst/uII="; }; meta = { diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index f548668644bf..5e99a1608664 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -13,6 +13,7 @@ spirv-tools, intltool, jdupes, + libdisplay-info, libdrm, libgbm, libglvnd, @@ -50,6 +51,7 @@ "asahi" # Apple AGX "crocus" # Intel legacy "d3d12" # WSL emulated GPU (aka Dozen) + "ethosu" # ARM Ethos NPU "etnaviv" # Vivante GPU designs (mostly NXP/Marvell SoCs) "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) "i915" # Intel extra legacy @@ -61,6 +63,7 @@ "r300" # very old AMD "r600" # less old AMD "radeonsi" # new AMD (GCN+) + "rocket" # Rockchip NPU "softpipe" # older software renderer "svga" # VMWare virtualized GPU "tegra" # Nvidia Tegra SoCs @@ -75,7 +78,7 @@ "broadcom" # Broadcom VC5 (Raspberry Pi 4, aka V3D) "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) "gfxstream" # Android virtualized GPU - "imagination-experimental" # PowerVR Rogue (currently N/A) + "imagination" # PowerVR Rogue (currently N/A) "intel_hasvk" # Intel Haswell/Broadwell, "legacy" Vulkan driver (https://www.phoronix.com/news/Intel-HasVK-Drop-Dead-Code) "intel" # new Intel (aka ANV) "microsoft-experimental" # WSL virtualized GPU (aka DZN/Dozen) @@ -96,6 +99,7 @@ "wayland" ], vulkanLayers ? [ + "anti-lag" "device-select" "intel-nullhw" "overlay" @@ -144,8 +148,6 @@ stdenv.mkDerivation { patches = [ ./opencl.patch - # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37027 - ./gallivm-llvm-21.patch ]; postPatch = '' @@ -256,6 +258,7 @@ stdenv.mkDerivation { elfutils expat spirv-tools + libdisplay-info libdrm libgbm libglvnd diff --git a/pkgs/development/libraries/mesa/gallivm-llvm-21.patch b/pkgs/development/libraries/mesa/gallivm-llvm-21.patch deleted file mode 100644 index 692a5c720d52..000000000000 --- a/pkgs/development/libraries/mesa/gallivm-llvm-21.patch +++ /dev/null @@ -1,53 +0,0 @@ -From eca19331d94005485de5246cfa87a21621486cd8 Mon Sep 17 00:00:00 2001 -From: no92 -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 ---- - 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 3d2b8cf81bc0c..0be69b02b6eef 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp -+++ b/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp -@@ -340,7 +340,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( - ES, ExitOnErr(llvm::jitlink::InProcessMemoryManager::Create())); - }) -@@ -552,7 +557,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 -