[PATCH core-updates 0/8] Update Vulkan packages to sdk-1.3.224.1.

  • Done
  • quality assurance status badge
Details
2 participants
  • Kaelyn Takata
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Kaelyn Takata
Severity
normal
K
K
Kaelyn Takata wrote on 19 Oct 2022 02:40
(address . guix-patches@gnu.org)(name . Kaelyn Takata)(address . kaelyn.alexi@protonmail.com)
20221019003957.31382-1-kaelyn.alexi@protonmail.com
Hi,

This patch series adds vulkan-validationlayers 1.3.224.1 and updates the other
vulkan packages to compatible versions from approximately the same time
period. It is a revision of https://issues.guix.gnu.org/57297,but with newer
versions for Vulkan 1.3 support and this time properly targetting the
core-updates branch. One noteworthy aspect of the patches not mention in the
commit messages is that the versioning scheme for spirv-headers has changed;
the old version scheme went up to 1.5.4 in late 2020, and starting in 2021 the
version tags are the sdk-1.x.y.z tags used with other Vulkan SDK components

Cheers,
Kaelyn



Kaelyn Takata (8):
gnu: spirv-headers: Update to 1.3.224.1.
gnu: spirv-tools: Update to 2022.3.
gnu: spirv-cross: Update to 1.3.224.1.
gnu: vulkan-headers: Update to 1.3.224.1.
gnu: vulkan-loader: Update to 1.3.224.1.
gnu: vulkan-tools: Update to 1.3.224.1.
gnu: shaderc: Update to 2022.2.
gnu: Add vulkan-validationlayers.

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

--
2.37.3
K
K
Kaelyn Takata wrote on 19 Oct 2022 02:41
[PATCH core-updates 1/8] gnu: spirv-headers: Update to 1.3.224.1.
(address . 58617@debbugs.gnu.org)(name . Kaelyn Takata)(address . kaelyn.alexi@protonmail.com)
20221019004136.32677-1-kaelyn.alexi@protonmail.com
* gnu/packages/vulkan.scm (spirv-headers): Update to 1.3.224.1.
---
gnu/packages/vulkan.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index c6df524fbc..a859709460 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -45,16 +45,16 @@ (define-module (gnu packages vulkan)
(define-public spirv-headers
(package
(name "spirv-headers")
- (version "1.5.3")
+ (version "1.3.224.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/SPIRV-Headers")
- (commit version)))
+ (commit (string-append "sdk-" version))))
(sha256
(base32
- "069sivqajp7z4p44lmrz23lvf237xpkjxd4lzrg27836pwqcz9bj"))
+ "0v4aimhn57lpwr12arz920wnxmnx39dj1qamppc5nfnh3ahlb259"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
--
2.37.3
K
K
Kaelyn Takata wrote on 19 Oct 2022 02:42
[PATCH core-updates 2/8] gnu: spirv-tools: Update to 2022.3.
(address . 58617@debbugs.gnu.org)(name . Kaelyn Takata)(address . kaelyn.alexi@protonmail.com)
20221019004136.32677-2-kaelyn.alexi@protonmail.com
* gnu/packages/vulkan.scm (spirv-tools): Update to 2022.3.
[configure-flags]: Disable static libraries as they cause link issues
with several packages such as mpv.
---
gnu/packages/vulkan.scm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index a859709460..3c8b7c3169 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -77,7 +77,7 @@ (define-public spirv-headers
(define-public spirv-tools
(package
(name "spirv-tools")
- (version "2020.2")
+ (version "2022.3")
(source
(origin
(method git-fetch)
@@ -85,11 +85,14 @@ (define-public spirv-tools
(url "https://github.com/KhronosGroup/SPIRV-Tools")
(commit (string-append "v" version))))
(sha256
- (base32 "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6"))
+ (base32 "0jgyqxj2d9dlmh3la7jd3vl74lmq6vycmxi9p8k4h71wliklwl87"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
+ ;; Some packages like mpv fail to link
+ ;; when the static libraries are built.
+ "-DSPIRV_TOOLS_BUILD_STATIC=OFF"
(string-append
"-DSPIRV-Headers_SOURCE_DIR="
(assoc-ref %build-inputs "spirv-headers")))))
--
2.37.3
K
K
Kaelyn Takata wrote on 19 Oct 2022 02:42
[PATCH core-updates 3/8] gnu: spirv-cross: Update to 1.3.224.1.
(address . 58617@debbugs.gnu.org)(name . Kaelyn Takata)(address . kaelyn.alexi@protonmail.com)
20221019004136.32677-3-kaelyn.alexi@protonmail.com
* gnu/packages/vulkan.scm (spirv-cross): Update to 1.3.224.1.
---
gnu/packages/vulkan.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 3c8b7c3169..6910a9b583 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -109,15 +109,15 @@ (define-public spirv-tools
(define-public spirv-cross
(package
(name "spirv-cross")
- (version "2020-05-19")
+ (version "1.3.224.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/SPIRV-Cross")
- (commit version)))
+ (commit (string-append "sdk-" version))))
(sha256
- (base32 "0zyijp9zx9wbd4i5lwjap7n793iz6yjkf27la60dsffxl75yy9pd"))
+ (base32 "1zzx1svx7z77akgcszjkn5g0afhhxgx42r6nlqa6jgm5qimmnpl1"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
--
2.37.3
K
K
Kaelyn Takata wrote on 19 Oct 2022 02:42
[PATCH core-updates 4/8] gnu: vulkan-headers: Update to 1.3.224.1.
(address . 58617@debbugs.gnu.org)(name . Kaelyn Takata)(address . kaelyn.alexi@protonmail.com)
20221019004136.32677-4-kaelyn.alexi@protonmail.com
* gnu/packages/vulkan.scm (vulkan-headers): Update to 1.3.224.1.
---
gnu/packages/vulkan.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 6910a9b583..976e43456b 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -184,17 +184,17 @@ (define-public glslang
(define-public vulkan-headers
(package
(name "vulkan-headers")
- (version "1.2.164")
+ (version "1.3.224.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Headers")
- (commit (string-append "v" version))))
+ (commit (string-append "sdk-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "11wzxvwim4jna1yssbmprl211dhmz8vmrd498zww3bghzlj7bljv"))))
+ "05wjz3m3c291d0p5zi9l8r5hr1n6a1dlnidgspwvi4k67gwzji6d"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
--
2.37.3
K
K
Kaelyn Takata wrote on 19 Oct 2022 02:42
[PATCH core-updates 5/8] gnu: vulkan-loader: Update to 1.3.224.1.
(address . 58617@debbugs.gnu.org)(name . Kaelyn Takata)(address . kaelyn.alexi@protonmail.com)
20221019004136.32677-5-kaelyn.alexi@protonmail.com
* gnu/packages/vulkan.scm (vulkan-loader): Update to 1.3.224.1.
[arguments]: Enable tests by removing the obsolete build phase
'disable-loader-tests and adjusting configure flags.
---
gnu/packages/vulkan.scm | 24 +++++++-----------------
1 file changed, 7 insertions(+), 17 deletions(-)

Toggle diff (54 lines)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 976e43456b..560475c273 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -208,42 +208,32 @@ (define-public vulkan-headers
(define-public vulkan-loader
(package
(name "vulkan-loader")
- (version "1.2.162")
+ (version "1.3.224.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Loader")
- (commit (string-append "v" version))))
+ (commit (string-append "sdk-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "15gx9ab6w1sjq9hkpbas7z2f8f47j6mlln6p3w26qmydjj8gfjjv"))))
+ "1xqhqd37y1msaq6bz0ksc7z36sgm19p5bkscdk07dc58yyc4hrwn"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
,#~(list
(string-append "-DVULKAN_HEADERS_INSTALL_DIR="
#$(this-package-input "vulkan-headers"))
- (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
- #$(this-package-input "vulkan-headers")
- "/include"))
+ (string-append "-DGOOGLETEST_INSTALL_DIR="
+ (getcwd) "/source/external/googletest")
+ "-DBUILD_TESTS=ON")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'unpack-googletest
(lambda* (#:key inputs #:allow-other-keys)
(let ((gtest (assoc-ref inputs "googletest:source")))
(when gtest
- (copy-recursively gtest "external/googletest"))
- #t)))
- (add-after 'unpack 'disable-loader-tests
- (lambda _
- ;; Many tests require a Vulkan driver. Skip those.
- (substitute* "tests/loader_validation_tests.cpp"
- ((".*= vkCreateInstance.*" all)
- (string-append "GTEST_SKIP();\n" all))
- (("TEST_F.*InstanceExtensionEnumerated.*" all)
- (string-append all "\nGTEST_SKIP();\n")))
- #t)))))
+ (copy-recursively gtest "external/googletest"))))))))
(native-inputs
`(("googletest:source" ,(package-source googletest))
("libxrandr" ,libxrandr)
--
2.37.3
K
K
Kaelyn Takata wrote on 19 Oct 2022 02:42
[PATCH core-updates 6/8] gnu: vulkan-tools: Update to 1.3.224.1.
(address . 58617@debbugs.gnu.org)(name . Kaelyn Takata)(address . kaelyn.alexi@protonmail.com)
20221019004136.32677-6-kaelyn.alexi@protonmail.com
* gnu/packages/vulkan.scm (vulkan-tools): Update to 1.3.224.1.
[inputs]: Add wayland-protocols.
---
gnu/packages/vulkan.scm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 560475c273..b226c51d78 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -260,20 +260,20 @@ (define-public vulkan-loader
(define-public vulkan-tools
(package
(name "vulkan-tools")
- (version "1.2.162")
+ (version "1.3.224.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools")
- (commit (string-append "v" version))))
+ (commit (string-append "sdk-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "129wzk7xj3vn3c8b4p7fzkd0npl58118s2i1d88gsfnlix54nagq"))))
+ "19j1l8a435xgnrvl50wk38paiwrrvc989isp1y4xh1cbvl2hkr37"))))
(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.37.3
K
K
Kaelyn Takata wrote on 19 Oct 2022 02:42
[PATCH core-updates 7/8] gnu: shaderc: Update to 2022.2.
(address . 58617@debbugs.gnu.org)(name . Kaelyn Takata)(address . kaelyn.alexi@protonmail.com)
20221019004136.32677-7-kaelyn.alexi@protonmail.com
* gnu/packages/vulkan.scm (shaderc): Update to 2022.2.
---
gnu/packages/vulkan.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index b226c51d78..14cdecaeee 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -292,7 +292,7 @@ (define-public vulkan-tools
(define-public shaderc
(package
(name "shaderc")
- (version "2020.4")
+ (version "2022.2")
(source
(origin
(method git-fetch)
@@ -302,7 +302,7 @@ (define-public shaderc
(file-name (git-file-name name version))
(sha256
(base32
- "07h78nd964h2bdm4drzws8i1gvyal8a3wlhbcm5qxqk6vknv8hrk"))))
+ "09cmds47pzv2s8n3ig7rqmr5lx1746vhqfx4g63gjnvan792xr8l"))))
(build-system cmake-build-system)
(arguments
`(;; FIXME: Skip most of the tests, because enabling system gtest breaks
--
2.37.3
K
K
Kaelyn Takata wrote on 19 Oct 2022 02:42
[PATCH core-updates 8/8] gnu: Add vulkan-validationlayers.
(address . 58617@debbugs.gnu.org)(name . Kaelyn Takata)(address . kaelyn.alexi@protonmail.com)
20221019004136.32677-8-kaelyn.alexi@protonmail.com
* gnu/packages/vulkan.scm (vulkan-validationlayers): New variable.
---
gnu/packages/vulkan.scm | 62 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)

Toggle diff (70 lines)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 14cdecaeee..384cc218a9 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -393,3 +393,65 @@ (define-public vkd3d
(synopsis "Direct3D 12 to Vulkan translation library")
(description "vkd3d is a library for translating Direct3D 12 to Vulkan.")
(license license:lgpl2.1))))
+
+(define-public vulkan-validationlayers
+ (package
+ (name "vulkan-validationlayers")
+ (version "1.3.224.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+ (commit (string-append "sdk-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "06jzris7a1dq3w5mrp4md2gxs3pfrqgvadm55mbjvmk5bhp3jfp5"))))
+ (build-system cmake-build-system)
+ (inputs (list glslang
+ libxrandr
+ mesa
+ shaderc
+ spirv-tools
+ vulkan-loader
+ wayland))
+ (native-inputs (list pkg-config python spirv-headers vulkan-headers))
+ (arguments
+ (list #:tests? #f ;no tests
+ #:configure-flags #~(list "-DUSE_ROBIN_HOOD_HASHING=OFF"
+ (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
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (manifest (string-append out
+ "/share/vulkan/explicit_layer.d"
+ "/VkLayer_khronos_validation.json")))
+ (substitute* manifest
+ (("\"libVkLayer_khronos_validation.so\"")
+ (string-append "\"" out
+ "/lib/libVkLayer_khronos_validation.so\"")))))))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VK_ADD_LAYER_PATH")
+ (files '("share/vulkan/implicit_layer.d"
+ "share/vulkan/explicit_layer.d")))))
+ (home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+ (synopsis "Khronos official validation layers for Vulkan")
+ (description
+ "Vulkan-ValidationLayers provides the Khronos official validation layers that
+can assist development by enabling developers to verify their applications correctly
+use the Vulkan API.")
+ (license license:asl2.0))) ;LICENSE.txt
--
2.37.3
K
K
Kaelyn wrote on 21 Nov 2022 06:09
(No Subject)
(name . control@debbugs.gnu.org)(address . control@debbugs.gnu.org)
1ox20hH1DmpfJRyHu3HWTiW25-d2J8hr0bKOCDUDOmsCD80IMV92rmt4VOyslt2w1BNOV6SB6k4LLokVEe82jOIyqfofyLhC94ExYSZIvKs=@protonmail.com
close 58617
R
R
Ricardo Wurmus wrote on 29 Dec 2022 23:16
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
87358x97oh.fsf@elephly.net
unarchive 58617
thanks

--
Ricardo
R
R
Ricardo Wurmus wrote on 30 Dec 2022 10:51
(address . 58617@debbugs.gnu.org)
87h6xd6wxp.fsf@elephly.net
Hi Kaelyn,

my apologies for the delay in reviewing this.

I’m a little confused about this. Is this the follow-up to issue
#57297? I see that you closed this issue, but I don’t think it has been
applied yet. Is this still good for core-updates?

Do we still need the work from issue #57297, which is still in the
update-vulkan-headers-staging branch?

I’d appreciate some clarification, so I can make sure your work was not
in vain and gets merged soon.

Thank you!

--
Ricardo
?
Your comment

This issue is archived.

To comment on this conversation send an email to 58617@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 58617
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch