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.master
parent
c9a61dff82
commit
b66269db5f
gnu/packages
|
@ -271,7 +271,7 @@ also known as DXTn or DXTC) for Mesa.")
|
||||||
("libxrandr" ,libxrandr)
|
("libxrandr" ,libxrandr)
|
||||||
("libxvmc" ,libxvmc)
|
("libxvmc" ,libxvmc)
|
||||||
,@(match (%current-system)
|
,@(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.
|
;; Note: update the 'clang' input of mesa-opencl when bumping this.
|
||||||
`(("llvm" ,llvm-11)))
|
`(("llvm" ,llvm-11)))
|
||||||
(_
|
(_
|
||||||
|
@ -283,7 +283,7 @@ also known as DXTn or DXTC) for Mesa.")
|
||||||
("flex" ,flex)
|
("flex" ,flex)
|
||||||
("gettext" ,gettext-minimal)
|
("gettext" ,gettext-minimal)
|
||||||
,@(match (%current-system)
|
,@(match (%current-system)
|
||||||
((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
|
((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux")
|
||||||
`(("glslang" ,glslang)))
|
`(("glslang" ,glslang)))
|
||||||
(_
|
(_
|
||||||
`()))
|
`()))
|
||||||
|
@ -322,12 +322,14 @@ also known as DXTn or DXTC) for Mesa.")
|
||||||
'("-Dvulkan-drivers=intel,amd"))
|
'("-Dvulkan-drivers=intel,amd"))
|
||||||
("powerpc64le-linux"
|
("powerpc64le-linux"
|
||||||
'("-Dvulkan-drivers=amd"))
|
'("-Dvulkan-drivers=amd"))
|
||||||
|
("aarch64-linux"
|
||||||
|
'("-Dvulkan-drivers=freedreno,amd"))
|
||||||
(_
|
(_
|
||||||
'("-Dvulkan-drivers=auto")))
|
'("-Dvulkan-drivers=auto")))
|
||||||
|
|
||||||
;; Enable the Vulkan overlay layer on architectures using llvm.
|
;; Enable the Vulkan overlay layer on architectures using llvm.
|
||||||
,@(match (%current-system)
|
,@(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"))
|
'("-Dvulkan-overlay-layer=true"))
|
||||||
(_
|
(_
|
||||||
'()))
|
'()))
|
||||||
|
@ -341,7 +343,7 @@ also known as DXTn or DXTC) for Mesa.")
|
||||||
((or "x86_64-linux" "i686-linux")
|
((or "x86_64-linux" "i686-linux")
|
||||||
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
|
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
|
||||||
"-Dllvm=enabled")) ; default is x86/x86_64 only
|
"-Dllvm=enabled")) ; default is x86/x86_64 only
|
||||||
("powerpc64le-linux"
|
((or "powerpc64le-linux" "aarch64-linux")
|
||||||
'("-Ddri-drivers=nouveau,r200,r100"
|
'("-Ddri-drivers=nouveau,r200,r100"
|
||||||
"-Dllvm=enabled"))
|
"-Dllvm=enabled"))
|
||||||
(_
|
(_
|
||||||
|
@ -406,7 +408,7 @@ also known as DXTn or DXTC) for Mesa.")
|
||||||
(let ((out (assoc-ref outputs "out"))
|
(let ((out (assoc-ref outputs "out"))
|
||||||
(bin (assoc-ref outputs "bin")))
|
(bin (assoc-ref outputs "bin")))
|
||||||
,@(match (%current-system)
|
,@(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
|
;; Install the Vulkan overlay control script to a separate
|
||||||
;; output to prevent a reference on Python, saving ~70 MiB
|
;; output to prevent a reference on Python, saving ~70 MiB
|
||||||
;; on the closure size.
|
;; on the closure size.
|
||||||
|
|
Reference in New Issue