[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
?