unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1.
@ 2022-11-19 14:56 dan
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: dan @ 2022-11-19 14:56 UTC (permalink / raw)
  To: 59386

Hello Guix,

This patch series update several vulkan-sdk packages to the latest sdk release
version sdk-1.3.231.1.  With each vulkan-sdk release, there is a config.json
file detailing all the version of the included packages[1].  To make sure
these packages are compatible, we introduced a variable %vulkan-sdk-version to
replace the [version] field of each vulkan-sdk packages.  One exception is
shaderc, which is developed by Google, and it uses its own versioning scheme.

For the versioning scheme of the vulkan-sdk, I intentionally included the
'sdk-' prefix into the version string since some of the packages used to have
their own versioning semantic and later changed to this kind of 'unified' sdk
versioning semantic, as Kaelyn explained in #58617[2].

Huge shout out to Kaelyn, who composed #57297 and #58617, trying to bring the
latest version of vulkan-sdk to guix.  I see recently #57297 got merged into
staging, and it would be a good chance to update these vulkan packages to
match the latest version.

[1]: https://sdk.lunarg.com/sdk/download/1.3.231.1/linux/config.json
[2]: https://issues.guix.gnu.org/58617

dan (11):
  gnu: spirv-headers: Replace version with %vulkan-sdk-version.
  gnu: spirv-tools: Replace version with %vulkan-sdk-version.
  gnu: glslang: Update to sdk-1.3.231.1.
  gnu: spirv-cross: Update to sdk-1.3.231.1.
  gnu: shaderc: Update to 2022.3.
  gnu: vulkan-headers: Update to sdk-1.3.231.1.
  gnu: vulkan-loader: Update to sdk-1.3.231.1.
  gnu: vulkan-tools: Update to sdk-1.3.231.1.
  gnu: vulkan-validationlayers: Update to sdk-1.3.231.1.
  gnu: Add volk.
  gnu: Add vulkan-memory-allocator.

 gnu/packages/vulkan.scm | 132 +++++++++++++++++++++++++++++-----------
 1 file changed, 98 insertions(+), 34 deletions(-)


base-commit: f8e1c9c003999cf20db2d7e5c1aa2c64c787056d
-- 
2.38.1





^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version.
  2022-11-19 14:56 [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1 dan
@ 2022-11-19 15:02 ` dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 02/11] gnu: spirv-tools: " dan
                     ` (9 more replies)
  2022-11-20  8:06 ` [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1 Marius Bakke
  2022-11-20 13:49 ` [bug#59386] [PATCH] gnu: Add vulkan-memory-allocator dan
  2 siblings, 10 replies; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* gnu/packages/vulkan.scm (spirv-headers) [version]: Replace with
%vulkan-sdk-version variable.
---
 gnu/packages/vulkan.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 57beee7f5b..6f08eab2a0 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -43,16 +43,18 @@ (define-module (gnu packages vulkan)
   #:use-module (gnu packages wine)
   #:use-module (gnu packages xorg))
 
+(define %vulkan-sdk-version "sdk-1.3.231.1")
+
 (define-public spirv-headers
   (package
     (name "spirv-headers")
-    (version "1.3.231.1")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/SPIRV-Headers")
-             (commit (string-append "sdk-" version))))
+             (commit version)))
        (sha256
         (base32
          "0z8b485hryya2g0jxv7amwg3fjj7pchbgnsa5ldf5fwgh5js0icm"))
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 02/11] gnu: spirv-tools: Replace version with %vulkan-sdk-version.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
@ 2022-11-19 15:02   ` dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 03/11] gnu: glslang: Update to sdk-1.3.231.1 dan
                     ` (8 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* gnu/packages/vulkan.scm (spirv-tools)[version]: Replace with
%vulkan-sdk-version.
The commit of tag '2022.4' and 'sdk-1.3.231.1' are the same.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 6f08eab2a0..d95c875c7a 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -80,13 +80,13 @@ (define-public spirv-headers
 (define-public spirv-tools
   (package
     (name "spirv-tools")
-    (version "2022.4")
+    (version %vulkan-sdk-version)
     (source
      (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/KhronosGroup/SPIRV-Tools")
-            (commit (string-append "v" version))))
+            (commit version)))
       (sha256
        (base32 "03d489ind2az7w7q1slj3mdc04372r3qqbnd7m9akxbg7yix1a5j"))
       (file-name (git-file-name name version))))
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 03/11] gnu: glslang: Update to sdk-1.3.231.1.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 02/11] gnu: spirv-tools: " dan
@ 2022-11-19 15:02   ` dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 04/11] gnu: spirv-cross: " dan
                     ` (7 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* gnu/packages/vulkan.scm (glslang): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index d95c875c7a..1d5677cfb6 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -155,7 +155,7 @@ (define-public spirv-cross
 (define-public glslang
   (package
     (name "glslang")
-    (version "11.9.0")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
@@ -164,7 +164,7 @@ (define-public glslang
              (commit version)))
        (sha256
         (base32
-         "1q6gjlx2y6g0hfvahnw063anb4yb4ky82hfh3b7nbsm43crzzfb0"))
+         "12a1zl8qxa28nbf6m67260c0lwdw3bqbj0jz1382wgm5px1fpqw6"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 04/11] gnu: spirv-cross: Update to sdk-1.3.231.1.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 02/11] gnu: spirv-tools: " dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 03/11] gnu: glslang: Update to sdk-1.3.231.1 dan
@ 2022-11-19 15:02   ` dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 05/11] gnu: shaderc: Update to 2022.3 dan
                     ` (6 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* gnu/packages/vulkan.scm (spirv-cross): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 1d5677cfb6..5a2294d6bc 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -112,7 +112,7 @@ (define-public spirv-tools
 (define-public spirv-cross
   (package
     (name "spirv-cross")
-    (version "2020-05-19")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
@@ -120,7 +120,7 @@ (define-public spirv-cross
              (url "https://github.com/KhronosGroup/SPIRV-Cross")
              (commit version)))
        (sha256
-        (base32 "0zyijp9zx9wbd4i5lwjap7n793iz6yjkf27la60dsffxl75yy9pd"))
+        (base32 "1ypbc1krkr0yywa1m976g3sjyb80l7hxwrnh6gp70w6va1dlnnn9"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 05/11] gnu: shaderc: Update to 2022.3.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
                     ` (2 preceding siblings ...)
  2022-11-19 15:02   ` [bug#59386] [PATCH 04/11] gnu: spirv-cross: " dan
@ 2022-11-19 15:02   ` dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 06/11] gnu: vulkan-headers: Update to sdk-1.3.231.1 dan
                     ` (5 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* gnu/packages/vulkan.scm (shaderc): Update to 2022.3.
---
 gnu/packages/vulkan.scm | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 5a2294d6bc..3440c671dc 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -296,7 +296,8 @@ (define-public vulkan-tools
 (define-public shaderc
   (package
     (name "shaderc")
-    (version "2021.3")
+    ;; shaderc doesn't follow the versioning scheme of vulkan sdk
+    (version "2022.3")
     (source
      (origin
        (method git-fetch)
@@ -306,7 +307,7 @@ (define-public shaderc
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0qjwixcx74dvx68jl51x2mp2q1346hvhwxr8w3wk36nzla62k2s6"))))
+         "0sdbfi66zmqj0c5q5yv2zvcvry7557yzgxk2mwflyjgqh7kdhb8d"))))
     (build-system cmake-build-system)
     (arguments
      `(;; FIXME: Skip most of the tests, because enabling system gtest breaks
@@ -338,7 +339,16 @@ (define-public shaderc
                          ,version
                          ,(package-version spirv-tools)
                          ,(package-version glslang))))
-             #t)))))
+             #t))
+         ;; see: https://github.com/google/shaderc/pull/1276
+         (add-after 'do-not-look-for-bundled-sources 'drop-additional-glslang-deps
+           (lambda _
+             (substitute* "glslc/CMakeLists.txt"
+               (("OSDependent OGLCompiler") ""))
+             (substitute* "libshaderc/CMakeLists.txt"
+               (("OSDependent OGLCompiler") ""))
+             (substitute* "libshaderc_util/CMakeLists.txt"
+               (("OSDependent OGLCompiler") "")))))))
     (inputs
      (list glslang python spirv-headers spirv-tools))
     (native-inputs
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 06/11] gnu: vulkan-headers: Update to sdk-1.3.231.1.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
                     ` (3 preceding siblings ...)
  2022-11-19 15:02   ` [bug#59386] [PATCH 05/11] gnu: shaderc: Update to 2022.3 dan
@ 2022-11-19 15:02   ` dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 07/11] gnu: vulkan-loader: " dan
                     ` (4 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* gnu/packages/vulkan.scm (vulkan-headers): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 3440c671dc..bb50b6f13c 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -187,17 +187,17 @@ (define-public glslang
 (define-public vulkan-headers
   (package
     (name "vulkan-headers")
-    (version "1.2.202")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/Vulkan-Headers")
-             (commit (string-append "v" version))))
+             (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0lsjpxqb7k2mf0w1qadpki6vnwxr29kjg5y1jafl3pvk0mdy1azj"))))
+         "167zdank6pn66mzjdwgrdlmhmsy4v2k0nhw0nwg649k863rgi00j"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ; No tests.
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 07/11] gnu: vulkan-loader: Update to sdk-1.3.231.1.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
                     ` (4 preceding siblings ...)
  2022-11-19 15:02   ` [bug#59386] [PATCH 06/11] gnu: vulkan-headers: Update to sdk-1.3.231.1 dan
@ 2022-11-19 15:02   ` dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 08/11] gnu: vulkan-tools: " dan
                     ` (3 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* gnu/packages/vulkan.scm (vulkan-loader): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index bb50b6f13c..7fddbbd52e 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -211,17 +211,17 @@ (define-public vulkan-headers
 (define-public vulkan-loader
   (package
     (name "vulkan-loader")
-    (version "1.2.202")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/Vulkan-Loader")
-             (commit (string-append "v" version))))
+             (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1vsaa16clncz19lihgj39rdg4dspkxjay1ii6pkf6fpl1vkw1dh2"))))
+         "0jx3hbmk0rlmh8mrwhn3l6ph6by3035pbndvm5ppikpljkf9lrhx"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 08/11] gnu: vulkan-tools: Update to sdk-1.3.231.1.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
                     ` (5 preceding siblings ...)
  2022-11-19 15:02   ` [bug#59386] [PATCH 07/11] gnu: vulkan-loader: " dan
@ 2022-11-19 15:02   ` dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 09/11] gnu: vulkan-validationlayers: " dan
                     ` (2 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* gnu/packages/vulkan.scm (vulkan-tools): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 7fddbbd52e..3c094cd3d3 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -264,20 +264,20 @@ (define-public vulkan-loader
 (define-public vulkan-tools
   (package
     (name "vulkan-tools")
-    (version "1.2.201")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/Vulkan-Tools")
-             (commit (string-append "v" version))))
+             (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ik90d7pygaw2pq81brqmcjiczag3biqvgpqp3cpws07glf29lf9"))))
+         "0jzwjfx4c7y15wkwfhhc64rzljpi47bxrm5jw5blfsqjh8zsd27a"))))
     (build-system cmake-build-system)
     (inputs
-     (list glslang libxrandr vulkan-loader wayland))
+     (list glslang libxrandr vulkan-loader wayland wayland-protocols))
     (native-inputs
      (list pkg-config python vulkan-headers))
     (arguments
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 09/11] gnu: vulkan-validationlayers: Update to sdk-1.3.231.1.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
                     ` (6 preceding siblings ...)
  2022-11-19 15:02   ` [bug#59386] [PATCH 08/11] gnu: vulkan-tools: " dan
@ 2022-11-19 15:02   ` dan
  2022-11-20  8:11     ` Marius Bakke
  2022-11-19 15:02   ` [bug#59386] [PATCH 10/11] gnu: Add volk dan
  2022-11-19 15:02   ` [bug#59386] [PATCH 11/11] gnu: Add vulkan-memory-allocator dan
  9 siblings, 1 reply; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* gnu/packages/vulkan.scm (vulkan-validationlayers): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 3c094cd3d3..330df898e5 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -411,17 +411,17 @@ (define-public vkd3d
 (define-public vulkan-validationlayers
   (package
     (name "vulkan-validationlayers")
-    (version "1.2.201")
+    (version %vulkan-sdk-version)
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url
                      "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
-                    (commit (string-append "v" version))))
+                    (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1jnz9cmy5d5g6jh9p4wr0qrlqlpfp07b3cizq37i5p1bcabdgmrz"))))
+                "07djrk6yym4vl2b52wr09r8y649v5lark5hnr5rwvlxwxdmd9g75"))))
     (build-system cmake-build-system)
     (inputs (list glslang
                   libxrandr
@@ -435,16 +435,10 @@ (define-public vulkan-validationlayers
      (list #:tests? #f ;no tests
            #:configure-flags
            #~(list "-DUSE_ROBIN_HOOD_HASHING=OFF"
-                   (string-append "-DGLSLANG_INSTALL_DIR="
-                                  (dirname (dirname
-                                            (search-input-directory
-                                             %build-inputs
-                                             "include/glslang"))))
-                   (string-append "-DSPIRV_HEADERS_INSTALL_DIR="
-                                  (dirname (dirname
-                                            (search-input-directory
-                                             %build-inputs
-                                             "include/spirv"))))
+                   (string-append "-DGLSLANG_INSTALL_DIR=" #$glslang)
+                   (string-append "-DSPIRV_HEADERS_INSTALL_DIR=" #$spirv-headers)
+                   (string-append "-DSPIRV_TOOLS_INSTALL_DIR=" #$spirv-tools)
+                   (string-append "-DVULKAN_HEADERS_INSTALL_DIR=" #$vulkan-headers)
                    "-Wno-dev")
            #:phases #~(modify-phases %standard-phases
                         (add-after 'install 'set-layer-path-in-manifest
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 10/11] gnu: Add volk.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
                     ` (7 preceding siblings ...)
  2022-11-19 15:02   ` [bug#59386] [PATCH 09/11] gnu: vulkan-validationlayers: " dan
@ 2022-11-19 15:02   ` dan
  2022-11-20  8:14     ` Marius Bakke
  2022-11-19 15:02   ` [bug#59386] [PATCH 11/11] gnu: Add vulkan-memory-allocator dan
  9 siblings, 1 reply; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

* 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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 11/11] gnu: Add vulkan-memory-allocator.
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
                     ` (8 preceding siblings ...)
  2022-11-19 15:02   ` [bug#59386] [PATCH 10/11] gnu: Add volk dan
@ 2022-11-19 15:02   ` dan
  2022-11-20  8:24     ` Marius Bakke
  9 siblings, 1 reply; 18+ messages in thread
From: dan @ 2022-11-19 15:02 UTC (permalink / raw)
  To: 59386

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

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 0e40de0e39..78c89af1ba 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
 ;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi@protonmail.com>
+;;; Copyright © 2022 dan <i@dan.games>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -490,3 +491,27 @@ (define-public volk
 overhead.")
     (home-page "https://github.com/zeux/volk")
     (license license:expat)))
+
+(define-public vulkan-memory-allocator
+  (package
+    (name "vulkan-memory-allocator")
+    (version "3.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator"
+                    "/archive/refs/tags/v" version ".tar.gz"))
+              (sha256
+               (base32
+                "031nd9lrbi8j88aax94mszrx32nai8cjm061kl5m9gqh5lmpd11a"))))
+    (build-system cmake-build-system)
+    (arguments
+     ; no test
+     `(#:tests? #f))
+    (inputs
+     (list vulkan-loader
+           vulkan-headers))
+    (synopsis "Easy to integrate Vulkan memory allocation library")
+    (description "Easy to integrate Vulkan memory allocation library.")
+    (home-page "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator")
+    (license license:expat)))
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1.
  2022-11-19 14:56 [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1 dan
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
@ 2022-11-20  8:06 ` Marius Bakke
  2022-11-20 13:49 ` [bug#59386] [PATCH] gnu: Add vulkan-memory-allocator dan
  2 siblings, 0 replies; 18+ messages in thread
From: Marius Bakke @ 2022-11-20  8:06 UTC (permalink / raw)
  To: dan, 59386

[-- Attachment #1: Type: text/plain, Size: 2375 bytes --]

dan <i@dan.games> skriver:

> Hello Guix,
>
> This patch series update several vulkan-sdk packages to the latest sdk release
> version sdk-1.3.231.1.  With each vulkan-sdk release, there is a config.json
> file detailing all the version of the included packages[1].  To make sure
> these packages are compatible, we introduced a variable %vulkan-sdk-version to
> replace the [version] field of each vulkan-sdk packages.  One exception is
> shaderc, which is developed by Google, and it uses its own versioning scheme.

Thanks for this explanation.

> For the versioning scheme of the vulkan-sdk, I intentionally included the
> 'sdk-' prefix into the version string since some of the packages used to have
> their own versioning semantic and later changed to this kind of 'unified' sdk
> versioning semantic, as Kaelyn explained in #58617[2].

Makes sense.  I'm partial to removing "sdk-" from %vulkan-sdk-version
and instead use (commit (string-append "sdk-" version)) in sources, but
no strong opinion.

(feedback from other contributors wanted!)

> Huge shout out to Kaelyn, who composed #57297 and #58617, trying to bring the
> latest version of vulkan-sdk to guix.  I see recently #57297 got merged into
> staging, and it would be a good chance to update these vulkan packages to
> match the latest version.

Great, thank you!  I've applied the patches up to and including 'volk'
with minor tweaks and will comment separately on the remaining patch +
changes done.

> [1]: https://sdk.lunarg.com/sdk/download/1.3.231.1/linux/config.json
> [2]: https://issues.guix.gnu.org/58617
>
> dan (11):
>   gnu: spirv-headers: Replace version with %vulkan-sdk-version.
>   gnu: spirv-tools: Replace version with %vulkan-sdk-version.
>   gnu: glslang: Update to sdk-1.3.231.1.
>   gnu: spirv-cross: Update to sdk-1.3.231.1.
>   gnu: shaderc: Update to 2022.3.
>   gnu: vulkan-headers: Update to sdk-1.3.231.1.
>   gnu: vulkan-loader: Update to sdk-1.3.231.1.
>   gnu: vulkan-tools: Update to sdk-1.3.231.1.
>   gnu: vulkan-validationlayers: Update to sdk-1.3.231.1.
>   gnu: Add volk.
>   gnu: Add vulkan-memory-allocator.
>
>  gnu/packages/vulkan.scm | 132 +++++++++++++++++++++++++++++-----------
>  1 file changed, 98 insertions(+), 34 deletions(-)
>
>
> base-commit: f8e1c9c003999cf20db2d7e5c1aa2c64c787056d
> -- 
> 2.38.1

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 09/11] gnu: vulkan-validationlayers: Update to sdk-1.3.231.1.
  2022-11-19 15:02   ` [bug#59386] [PATCH 09/11] gnu: vulkan-validationlayers: " dan
@ 2022-11-20  8:11     ` Marius Bakke
  0 siblings, 0 replies; 18+ messages in thread
From: Marius Bakke @ 2022-11-20  8:11 UTC (permalink / raw)
  To: dan, 59386

[-- Attachment #1: Type: text/plain, Size: 1613 bytes --]

dan <i@dan.games> skriver:

> * gnu/packages/vulkan.scm (vulkan-validationlayers): Update to sdk-1.3.231.1.

This forgot to mention the changes to [arguments].

[...]

> @@ -435,16 +435,10 @@ (define-public vulkan-validationlayers
>       (list #:tests? #f ;no tests
>             #:configure-flags
>             #~(list "-DUSE_ROBIN_HOOD_HASHING=OFF"
> -                   (string-append "-DGLSLANG_INSTALL_DIR="
> -                                  (dirname (dirname
> -                                            (search-input-directory
> -                                             %build-inputs
> -                                             "include/glslang"))))
> -                   (string-append "-DSPIRV_HEADERS_INSTALL_DIR="
> -                                  (dirname (dirname
> -                                            (search-input-directory
> -                                             %build-inputs
> -                                             "include/spirv"))))
> +                   (string-append "-DGLSLANG_INSTALL_DIR=" #$glslang)
> +                   (string-append "-DSPIRV_HEADERS_INSTALL_DIR=" #$spirv-headers)
> +                   (string-append "-DSPIRV_TOOLS_INSTALL_DIR=" #$spirv-tools)
> +                   (string-append "-DVULKAN_HEADERS_INSTALL_DIR=" #$vulkan-headers)

Avoid referencing variables directly in arguments.  Otherwise
transformations such as --with-input etc can't work.

I reverted back to the original (but arguably ugly!)
search-input-directory style, and added similar incantations for
SPIRV_TOOLS_INSTALL_DIR and VULKAN_HEADERS_INSTALL_DIR.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 10/11] gnu: Add volk.
  2022-11-19 15:02   ` [bug#59386] [PATCH 10/11] gnu: Add volk dan
@ 2022-11-20  8:14     ` Marius Bakke
  0 siblings, 0 replies; 18+ messages in thread
From: Marius Bakke @ 2022-11-20  8:14 UTC (permalink / raw)
  To: dan, 59386

[-- Attachment #1: Type: text/plain, Size: 1529 bytes --]

dan <i@dan.games> skriver:

> * gnu/packages/vulkan.scm (volk): New variable.

[...]

> +(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")))

I ran this through 'guix style' ...

> +    (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.")

... and simplified the description somewhat, + added two spaces after
sentences ('guix lint' should warn about this).

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH 11/11] gnu: Add vulkan-memory-allocator.
  2022-11-19 15:02   ` [bug#59386] [PATCH 11/11] gnu: Add vulkan-memory-allocator dan
@ 2022-11-20  8:24     ` Marius Bakke
  0 siblings, 0 replies; 18+ messages in thread
From: Marius Bakke @ 2022-11-20  8:24 UTC (permalink / raw)
  To: dan, 59386

[-- Attachment #1: Type: text/plain, Size: 1330 bytes --]

dan <i@dan.games> skriver:

> * gnu/packages/vulkan.scm (vulkan-memory-allocator): New variable.

[...]

> +(define-public vulkan-memory-allocator
> +  (package
> +    (name "vulkan-memory-allocator")
> +    (version "3.0.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator"
> +                    "/archive/refs/tags/v" version ".tar.gz"))

The GitHub "/archive" URLs are not stable: the tarballs are generated on
demand and cached; when the cache expires they get regenerated with
different time stamps.

Use git-fetch instead.

> +    (build-system cmake-build-system)
> +    (arguments
> +     ; no test
> +     `(#:tests? #f))
> +    (inputs
> +     (list vulkan-loader
> +           vulkan-headers))

Please run './pre-inst-env guix style vulkan-memory-allocator'.  :-)

> +    (synopsis "Easy to integrate Vulkan memory allocation library")

Just 'Vulkan memory allocation library' is sufficient.

> +    (description "Easy to integrate Vulkan memory allocation library.")

Can you turn this into a full sentence, i.e. "vulkan-memory-allocator is
an easy to integrate ...", ideally with some information about what that
means for potential users?

Can you send an updated patch?

TIA!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#59386] [PATCH] gnu: Add vulkan-memory-allocator.
  2022-11-19 14:56 [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1 dan
  2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
  2022-11-20  8:06 ` [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1 Marius Bakke
@ 2022-11-20 13:49 ` dan
  2022-11-20 16:25   ` bug#59386: " Marius Bakke
  2 siblings, 1 reply; 18+ messages in thread
From: dan @ 2022-11-20 13:49 UTC (permalink / raw)
  To: 59386; +Cc: marius

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

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 95b8542133..cbad4f3abc 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
 ;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi@protonmail.com>
+;;; Copyright © 2022 dan <i@dan.games>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -502,3 +503,30 @@ (define-public volk
 skipping loader dispatch overhead.")
     (home-page "https://github.com/zeux/volk")
     (license license:expat)))
+
+(define-public vulkan-memory-allocator
+  (package
+    (name "vulkan-memory-allocator")
+    (version "3.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "1hpzjwl5bgqv9hmf1fdldihfllcbdg515f391a200klg0rnixdds"))))
+    (build-system cmake-build-system)
+    (arguments
+     ;; no test
+     `(#:tests? #f))
+    (inputs (list vulkan-loader vulkan-headers))
+    (synopsis "Vulkan memory allocation library")
+    (description
+     "The Vulkan Memory Allocator (VMA) library provides a simple and easy to
+integrate API to help users allocate memory for Vulkan buffer and image
+storage.")
+    (home-page
+     "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator")
+    (license license:expat)))
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* bug#59386: [PATCH] gnu: Add vulkan-memory-allocator.
  2022-11-20 13:49 ` [bug#59386] [PATCH] gnu: Add vulkan-memory-allocator dan
@ 2022-11-20 16:25   ` Marius Bakke
  0 siblings, 0 replies; 18+ messages in thread
From: Marius Bakke @ 2022-11-20 16:25 UTC (permalink / raw)
  To: dan, 59386-done

[-- Attachment #1: Type: text/plain, Size: 291 bytes --]

dan <i@dan.games> skriver:

> * gnu/packages/vulkan.scm (vulkan-memory-allocator): New variable.

Applied, thanks!

I added a (file-name ...) field to the source and reindented to shorten
line lengths.

Great job on the description.  :-)

Pushed as cae97cd773befcc68ce0ba8709e50c8697b7f0d3.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-11-20 16:26 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-19 14:56 [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1 dan
2022-11-19 15:02 ` [bug#59386] [PATCH 01/11] gnu: spirv-headers: Replace version with %vulkan-sdk-version dan
2022-11-19 15:02   ` [bug#59386] [PATCH 02/11] gnu: spirv-tools: " dan
2022-11-19 15:02   ` [bug#59386] [PATCH 03/11] gnu: glslang: Update to sdk-1.3.231.1 dan
2022-11-19 15:02   ` [bug#59386] [PATCH 04/11] gnu: spirv-cross: " dan
2022-11-19 15:02   ` [bug#59386] [PATCH 05/11] gnu: shaderc: Update to 2022.3 dan
2022-11-19 15:02   ` [bug#59386] [PATCH 06/11] gnu: vulkan-headers: Update to sdk-1.3.231.1 dan
2022-11-19 15:02   ` [bug#59386] [PATCH 07/11] gnu: vulkan-loader: " dan
2022-11-19 15:02   ` [bug#59386] [PATCH 08/11] gnu: vulkan-tools: " dan
2022-11-19 15:02   ` [bug#59386] [PATCH 09/11] gnu: vulkan-validationlayers: " dan
2022-11-20  8:11     ` Marius Bakke
2022-11-19 15:02   ` [bug#59386] [PATCH 10/11] gnu: Add volk dan
2022-11-20  8:14     ` Marius Bakke
2022-11-19 15:02   ` [bug#59386] [PATCH 11/11] gnu: Add vulkan-memory-allocator dan
2022-11-20  8:24     ` Marius Bakke
2022-11-20  8:06 ` [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1 Marius Bakke
2022-11-20 13:49 ` [bug#59386] [PATCH] gnu: Add vulkan-memory-allocator dan
2022-11-20 16:25   ` bug#59386: " Marius Bakke

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).