From b66269db5f91ea79524505fdad018aac2055bd99 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 18 Apr 2021 13:41:30 +0300 Subject: gnu: mesa: Build with llvm support. * gnu/packages/gl.scm (mesa)[inputs]: Build with llvm on aarch64-linux. [native-inputs]: Build with glslang on aarch64-linux. [arguments]: In configure-flags specify the vulkan-drivers for aarch64, enable the vulkan-overlay-layer and explicitly build with llvm. In the 'split-outputs phase also move the vulkan-specific binaries to the 'bin output on aarch64-linux. --- gnu/packages/gl.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 924340746f..a185147c08 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -271,7 +271,7 @@ also known as DXTn or DXTC) for Mesa.") ("libxrandr" ,libxrandr) ("libxvmc" ,libxvmc) ,@(match (%current-system) - ((or "x86_64-linux" "i686-linux" "powerpc64le-linux") + ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux") ;; Note: update the 'clang' input of mesa-opencl when bumping this. `(("llvm" ,llvm-11))) (_ @@ -283,7 +283,7 @@ also known as DXTn or DXTC) for Mesa.") ("flex" ,flex) ("gettext" ,gettext-minimal) ,@(match (%current-system) - ((or "x86_64-linux" "i686-linux" "powerpc64le-linux") + ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux") `(("glslang" ,glslang))) (_ `())) @@ -322,12 +322,14 @@ also known as DXTn or DXTC) for Mesa.") '("-Dvulkan-drivers=intel,amd")) ("powerpc64le-linux" '("-Dvulkan-drivers=amd")) + ("aarch64-linux" + '("-Dvulkan-drivers=freedreno,amd")) (_ '("-Dvulkan-drivers=auto"))) ;; Enable the Vulkan overlay layer on architectures using llvm. ,@(match (%current-system) - ((or "x86_64-linux" "i686-linux" "powerpc64le-linux") + ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux") '("-Dvulkan-overlay-layer=true")) (_ '())) @@ -341,7 +343,7 @@ also known as DXTn or DXTC) for Mesa.") ((or "x86_64-linux" "i686-linux") '("-Ddri-drivers=i915,i965,nouveau,r200,r100" "-Dllvm=enabled")) ; default is x86/x86_64 only - ("powerpc64le-linux" + ((or "powerpc64le-linux" "aarch64-linux") '("-Ddri-drivers=nouveau,r200,r100" "-Dllvm=enabled")) (_ @@ -406,7 +408,7 @@ also known as DXTn or DXTC) for Mesa.") (let ((out (assoc-ref outputs "out")) (bin (assoc-ref outputs "bin"))) ,@(match (%current-system) - ((or "i686-linux" "x86_64-linux" "powerpc64le-linux") + ((or "i686-linux" "x86_64-linux" "powerpc64le-linux" "aarch64-linux") ;; Install the Vulkan overlay control script to a separate ;; output to prevent a reference on Python, saving ~70 MiB ;; on the closure size. -- cgit v1.2.3