~ruther/guix-local

45491ea8da85ad977ca11f4595a7ddeb22146b0d — Lilah Tascheter 2 years ago 1ef314f
gnu: mesa: Fix Vulkan on older Intel GPUs.

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.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
1 files changed, 16 insertions(+), 0 deletions(-)

M gnu/packages/gl.scm
M gnu/packages/gl.scm => gnu/packages/gl.scm +16 -0
@@ 279,6 279,7 @@ also known as DXTn or DXTC) for 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 @@ device drivers allows Mesa to be used in many different environments ranging
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")