Subject: [PATCH 10/11] gnu: Add volk.

From: dan <[email-masked]>
Date: Sat, 19 Nov 2022 23:02:47 +0800

* gnu/packages/vulkan.scm (volk): New variable.
---
 gnu/packages/vulkan.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 330df898e5..0e40de0e39 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -457,3 +457,36 @@ (define-public vulkan-validationlayers
 can assist development by enabling developers to verify their applications correctly
 use the Vulkan API.")
     (license license:asl2.0)))
+
+(define-public volk
+  (package
+    (name "volk")
+    (version %vulkan-sdk-version)
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/zeux/volk")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0xaw3kg754mknx8lfj1p74a9npjfvdvlpicvn0hla4495zpc10rq"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f     ; no test
+       #:configure-flags (list "-DVOLK_INSTALL=ON"
+                               "-DVOLK_PULL_IN_VULKAN=ON")))
+    (inputs
+     (list vulkan-headers))
+    (synopsis "Meta loader for Vulkan API")
+    (description
+     "volk is a meta-loader for Vulkan. It allows you to dynamically load
+entrypoints required to use Vulkan without linking to vulkan-1.dll or
+statically linking Vulkan loader. Additionally, volk simplifies the use of
+Vulkan extensions by automatically loading all associated
+entrypoints. Finally, volk enables loading Vulkan entrypoints directly from
+the driver which can increase performance by skipping loader dispatch
+overhead.")
+    (home-page "https://github.com/zeux/volk")
+    (license license:expat)))
-- 
2.38.1