[PATCH][staging] gnu: vulkan-loader: Add native-search-paths field.

  • Open
  • quality assurance status badge
Details
2 participants
  • Hilton Chain
  • Ludovic Courtès
Owner
unassigned
Submitted by
Hilton Chain
Severity
normal
H
H
Hilton Chain wrote on 30 Oct 2022 06:41
(address . guix-patches@gnu.org)
y765yg1hnql.wl-hako@ultrarare.space
* gnu/packages/vulkan.scm (vulkan-loader): Add native-search-paths field.
[source]: Change ICD and implicit layers looking up behaviour via snippet.
---
gnu/packages/vulkan.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index f5c619a2b2..1371860583 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -215,6 +215,22 @@ (define-public vulkan-loader
(url "https://github.com/KhronosGroup/Vulkan-Loader")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "loader/loader.c"
+ ;; v1.3.207-
+ (("VK_ICD_FILENAMES_ENV_VAR, NULL")
+ "\"VK_ICD_PATH\", override_paths")
+ (("false, NULL, NULL")
+ "false, \"VK_ILAYER_PATH\", override_paths")
+ ;; v1.3.207+
+ (("VK_ICD_FILENAMES_ENV_VAR")
+ "\"VK_ICD_PATH\"")
+ (("relative_location = VK_ILAYERS_INFO_RELATIVE_DIR;" all)
+ (string-append "override_env = loader_secure_getenv"
+ "(\"VK_ILAYER_PATH\", inst);" all))
+ (("\\(IMPLICIT_LAYER, \\)NULL" m)
+ (string-append m "override_paths"))))
(sha256
(base32
"15gx9ab6w1sjq9hkpbas7z2f8f47j6mlln6p3w26qmydjj8gfjjv"))))
@@ -251,6 +267,13 @@ (define-public vulkan-loader
("wayland" ,wayland)))
(inputs
(list vulkan-headers))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VK_ICD_PATH")
+ (files '("share/vulkan/icd.d")))
+ (search-path-specification
+ (variable "VK_ILAYER_PATH")
+ (files '("share/vulkan/implicit_layer.d")))))
(home-page
"https://github.com/KhronosGroup/Vulkan-Loader")
(synopsis "Khronos official ICD loader and validation layers for Vulkan")

base-commit: 63bf06013820aa26aca7dc8f18cb79403b94e9a5
--
2.38.0
L
L
Ludovic Courtès wrote on 1 Dec 2022 16:49
(name . Hilton Chain)(address . hako@ultrarare.space)(address . 58887@debbugs.gnu.org)
87edtjyvhq.fsf@gnu.org
Hi,

Hilton Chain <hako@ultrarare.space> skribis:

Toggle quote (3 lines)
> * gnu/packages/vulkan.scm (vulkan-loader): Add native-search-paths field.
> [source]: Change ICD and implicit layers looking up behaviour via snippet.

One comment:

[...]

Toggle quote (8 lines)
> + (native-search-paths
> + (list (search-path-specification
> + (variable "VK_ICD_PATH")
> + (files '("share/vulkan/icd.d")))
> + (search-path-specification
> + (variable "VK_ILAYER_PATH")
> + (files '("share/vulkan/implicit_layer.d")))))

Should these read “lib” rather than “share”, given that they contain
binaries if I’m not mistaken?

Should it be versioned too, like “lib/vulkan/3.0/icd.d”?

Other than that it LGTM.

Thanks,
Ludo’.
H
H
Hilton Chain wrote on 23 Dec 2022 08:53
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 58887@debbugs.gnu.org)
87wn6i5zen.wl-hako@ultrarare.space
Hi Ludo,

Toggle quote (3 lines)
> Should these read “lib” rather than “share”, given that they contain
> binaries if I’m not mistaken?

Actually they don't contain binaries, they are configuration files.

FYI, you can take a look at "$(guix build mesa)/share/vulkan/".

As it's been some time since I submitted the patch, I'll dive into the docs again to find out if
adjustments are needed.

Thanks!
?