diff options
Diffstat (limited to 'gnu/packages/vulkan.scm')
-rw-r--r-- | gnu/packages/vulkan.scm | 96 |
1 files changed, 71 insertions, 25 deletions
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index ac9f6f2f25..b36471c0eb 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -24,21 +24,26 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages bison) + #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages wine) #:use-module (gnu packages xorg)) (define-public spirv-headers ;; Keep updated in accordance with ;; https://github.com/google/shaderc/blob/known-good/known_good.json - (let ((commit "061097878467b8e040fbf153a837d844ef9f9f96") - (revision "2")) + (let ((commit "3ce3e49d73b8abbf2ffe33f829f941fb2a40f552") + (revision "3")) (package (name "spirv-headers") (version (string-append "0.0-" revision "." (string-take commit 9))) @@ -50,7 +55,7 @@ (commit commit))) (sha256 (base32 - "0bf9h6xc5fkncxnadwmqvpsjh7sdgns6is8prv1gvlfzrkvpjj17")) + "0yk4bzqifdqpmdxkhvrxbdqhf5ngkga0ig1yyz7khr7rklqfz7wp")) (file-name (string-append name "-" version "-checkout")))) (build-system cmake-build-system) (arguments @@ -58,10 +63,10 @@ #:phases (modify-phases %standard-phases (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "cmake" "-E" "copy_directory" + (invoke "cmake" "-E" "copy_directory" "../source/include/spirv" (string-append (assoc-ref outputs "out") - "/include/spirv")))))))) + "/include/spirv"))))))) (home-page "https://github.com/KhronosGroup/SPIRV-Headers") (synopsis "Machine-readable files from the SPIR-V Registry") (description @@ -80,8 +85,8 @@ and for the GLSL.std.450 extended instruction set. (define-public spirv-tools ;; Keep updated in accordance with ;; https://github.com/google/shaderc/blob/known-good/known_good.json - (let ((commit "90862fe4b1c6763b32ce683d2d32c2f281f577cf") - (revision "1")) + (let ((commit "fe2fbee294a8ad4434f828a8b4d99eafe9aac88c") + (revision "2")) (package (name "spirv-tools") (version (string-append "0.0-" revision "." (string-take commit 9))) @@ -93,14 +98,12 @@ and for the GLSL.std.450 extended instruction set. (commit commit))) (sha256 (base32 - "1yq8ab6f52wcxm2azzmx70nqz8l35izd45830aikjkk1jfzmzabb")) + "03rq4ypwqnz34n8ip85n95a3b9rxb34j26azzm3b3invaqchv19x")) (file-name (string-append name "-" version "-checkout")))) (build-system cmake-build-system) (arguments - `(#:configure-flags (list (string-append "-DCMAKE_INSTALL_LIBDIR=" - (assoc-ref %outputs "out") - "/lib") - (string-append "-DSPIRV-Headers_SOURCE_DIR=" + `(#:tests? #f ; FIXME: Tests fail. + #:configure-flags (list (string-append "-DSPIRV-Headers_SOURCE_DIR=" (assoc-ref %build-inputs "spirv-headers"))))) (inputs `(("spirv-headers" ,spirv-headers))) @@ -117,8 +120,8 @@ disassembler, validator, and optimizer for SPIR-V.") (define-public glslang ;; Keep updated in accordance with ;; https://github.com/google/shaderc/blob/known-good/known_good.json - (let ((commit "b5b08462442239e6537315ea1405b6afcd53043e") - (revision "2")) + (let ((commit "32d3ec319909fcad0b2b308fe1635198773e8316") + (revision "3")) (package (name "glslang") (version (string-append "3.0-" revision "." (string-take commit 9))) @@ -130,7 +133,7 @@ disassembler, validator, and optimizer for SPIR-V.") (commit commit))) (sha256 (base32 - "08imby3hciisshzacrkx8s56lx4fxm7dad06xxaxxcapinmqrvwk")) + "1kmgjv5kbrjy6azpgwnjcn3cj8vg5i8hnyk3m969sc0gq2j1rbjj")) (file-name (string-append name "-" version "-checkout")))) (build-system cmake-build-system) (arguments @@ -157,19 +160,19 @@ interpretation of the specifications for these languages.") ;; include/SPIRV/{bitutils,hex_float}.h are Apache 2.0. license:asl2.0))))) -(define-public vulkan-icd-loader +(define-public vulkan-loader (package - (name "vulkan-icd-loader") + (name "vulkan-loader") (version "1.1.73.0") (source (origin (method url-fetch) (uri (string-append - "https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/" + "https://github.com/KhronosGroup/Vulkan-Loader/" "archive/sdk-" version ".tar.gz")) (sha256 (base32 - "1qb34j2zrc04fgs96m3k76vi4nx3sygbdcyg7pbwasr45cbdhsxb")))) + "0lvdpy6ybx5h7w15m9s2n9q3167q618clra2k7yi2cbm397ci4hn")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh". @@ -209,9 +212,12 @@ and the ICD.") (license:x11-style "file://COPYRIGHT.txt") license:bsd-3)))) +(define-public vulkan-icd-loader + (deprecated-package "vulkan-icd-loader" vulkan-loader)) + (define-public shaderc - (let ((commit "773ec22d49f40b7161820f29d953be4a7e40190d") - (revision "1")) + (let ((commit "be8e0879750303a1de09385465d6b20ecb8b380d") + (revision "2")) (package (name "shaderc") (version (git-version "0.0.0" revision commit)) @@ -224,11 +230,10 @@ and the ICD.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0b41inb1czxv3mciip0lfdxv19ccx2ys31fivfywjn2q8va1gd1f")))) + "16p25ry2i4zrj00zihfpf210f8xd7g398ffbw25igvi9mbn4nbfd")))) (build-system meson-build-system) (arguments - `(#:tests? #f ; tests don't work yet. - #:phases + `(#:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key outputs #:allow-other-keys) @@ -266,7 +271,8 @@ and the ICD.") (copy-recursively glslang-source "third_party/glslang") #t)))))) (inputs - `(("python" ,python))) + `(("googletest" ,googletest) + ("python" ,python))) (native-inputs `(("cmake" ,cmake) ("glslang-source" ,(package-source glslang)) @@ -278,3 +284,43 @@ and the ICD.") (description "Shaderc is a collection of tools, libraries, and tests for shader compilation.") (license license:asl2.0)))) + +(define-public vkd3d + (let ((commit "020c119e2da0786d8be0615cff961c190b00d62d") ; Release 1.0. + (revision "0")) + (package + (name "vkd3d") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://source.winehq.org/git/vkd3d.git") + (commit commit))) + (sha256 + (base32 + "084svxhigs8r0725jv6gs7wwrxb9x4igyg5bgvgpcfw4aq0k69gn")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--with-spirv-tools"))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gnu-gettext) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("libxcb" ,libxcb) + ("spirv-headers" ,spirv-headers) + ("spirv-tools" ,spirv-tools) + ("vulkan-loader" ,vulkan-loader) + ("wine" ,wine) ; Needed for 'widl'. + ("xcb-util" ,xcb-util) + ("xcb-util-keysyms" ,xcb-util-keysyms) + ("xcb-util-wm" ,xcb-util-wm))) + (home-page "https://source.winehq.org/git/vkd3d.git/") + (synopsis "Direct3D 12 to Vulkan translation library") + (description "vkd3d is a library for translating Direct3D 12 to Vulkan.") + (license license:lgpl2.1)))) |