diff mbox series

[bug#64528,v2] gnu: mesa: Fix Vulkan on older Intel GPUs.

Message ID f7a23886dab4f37001f1be105b49e786665dd5c6.1688840955.git.lilah@lunabee.space
State New
Headers show
Series [bug#64528,v2] gnu: mesa: Fix Vulkan on older Intel GPUs. | expand

Commit Message

Lilah Tascheter July 8, 2023, 6:29 p.m. UTC
Mesa split the Vulkan intel driver into two: intel and intel_hasvk.
Enables intel_hasvk so vulkan functions on older intel GPUs again, and
swrast for lavapipe as a fallback.

* gnu/packages/gl.scm (mesa-vulkan-hasvk): New variable.
  (mesa): Graft with mesa-vulkan-hasvk.
---
 gnu/packages/gl.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)


base-commit: 3db685cb2e2ce2a4b29c62d28a66201b2eba018f

Comments

Liliana Marie Prikler July 16, 2023, 7:26 a.m. UTC | #1
Am Samstag, dem 08.07.2023 um 13:29 -0500 schrieb Lilah Tascheter:
> Mesa split the Vulkan intel driver into two: intel and intel_hasvk.
> Enables intel_hasvk so vulkan functions on older intel GPUs again,
> and swrast for lavapipe as a fallback.
> 
> * gnu/packages/gl.scm (mesa-vulkan-hasvk): New variable.
>   (mesa): Graft with mesa-vulkan-hasvk.
> ---
Pushed.
diff mbox series

Patch

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 9885bde712..1691086e1a 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -279,6 +279,7 @@  (define-public mesa
          (base32
           "1mcjf41x2bhxs6yxars7nh2vfryfw50g6rvbcfbb1wqdv2jn4qrq"))))
     (build-system meson-build-system)
+    (replacement mesa-vulkan-hasvk)
     (propagated-inputs
      ;; The following are in the Requires.private field of gl.pc.
      (list libdrm
@@ -526,6 +527,21 @@  (define-public mesa
 from software emulation to complete hardware acceleration for modern GPUs.")
     (license license:x11)))
 
+(define mesa-vulkan-hasvk
+  (let ((graft mesa)
+        (vulk "-Dvulkan-drivers=intel,amd"))
+    (package
+      (inherit graft)
+      (arguments
+        (substitute-keyword-arguments (package-arguments graft)
+          ((#:configure-flags flags)
+           #~(begin
+               (use-modules (ice-9 match))
+               (map (match-lambda
+                      (#$vulk (string-append #$vulk ",intel_hasvk,swrast"))
+                      (x x))
+                 #$flags))))))))
+
 (define-public mesa-opencl
   (package/inherit mesa
     (name "mesa-opencl")