vulkan: 1.2.176 -> 1.2.182

Updates
- vulkan-headers
- vulkan-loader
- vulkan-validation-layers
- vulkan-extension-layer
- vulkan-tools
- vulkan-tools-lunarg

Also adds some additional asserts for version matching to these packages
This commit is contained in:
Joe Hermaszewski 2021-07-24 11:08:32 +08:00
parent ddd5302e6c
commit 51b73b6320
No known key found for this signature in database
GPG key ID: C8116E3A0C1CA76A
6 changed files with 48 additions and 40 deletions

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, cmake }: { lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vulkan-headers"; pname = "vulkan-headers";
version = "1.2.176.0"; version = "1.2.182.0";
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
owner = "KhronosGroup"; owner = "KhronosGroup";
repo = "Vulkan-Headers"; repo = "Vulkan-Headers";
rev = "sdk-${version}"; rev = "sdk-${version}";
sha256 = "07i5p73f5n1qxd435495a3c6ss6j9f4gljq5h4i8b5p5isgh6zvd"; sha256 = "03j0kzq2qxhy0y82l10m8am26zrms2sjrdb1dcbpv9zh5vkxhcla";
}; };
meta = with lib; { meta = with lib; {

View file

@ -3,14 +3,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vulkan-loader"; pname = "vulkan-loader";
version = "1.2.176.0"; version = "1.2.182.0";
src = fetchFromGitHub { src = (assert version == vulkan-headers.version;
owner = "KhronosGroup"; fetchFromGitHub {
repo = "Vulkan-Loader"; owner = "KhronosGroup";
rev = "sdk-${version}"; repo = "Vulkan-Loader";
sha256 = "0b0gn4p1nz4m1lmfm8hf8xyw2fkk6c7iq6c9lg57i8z0l8crwa57"; rev = "sdk-${version}";
}; sha256 = "0gmr9q3a6s8xvaa74fs9zbi9c305i2b3rx768qvl79nhbdj8nc02";
});
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ libX11 libxcb libXrandr vulkan-headers wayland ]; buildInputs = [ libX11 libxcb libXrandr vulkan-headers wayland ];

View file

@ -18,12 +18,13 @@ let
# #
# The git hashes required for all of these deps is documented upstream here: # The git hashes required for all of these deps is documented upstream here:
# https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/scripts/known_good.json # https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/scripts/known_good.json
# and https://github.com/KhronosGroup/glslang/blob/master/known_good.json
localSpirvHeaders = spirv-headers.overrideAttrs (_: { localSpirvHeaders = spirv-headers.overrideAttrs (_: {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "KhronosGroup"; owner = "KhronosGroup";
repo = "SPIRV-Headers"; repo = "SPIRV-Headers";
rev = "75b30a659c8a4979104986652c54cc421fc51129"; rev = "dafead1765f6c1a5f9f8a76387dcb2abe4e54acd"; # pin
sha256 = "1yzdp3m50zxabkg93j1lmazs45wjp20szvxiv8ifgcdjxmyzi5ji"; sha256 = "1kj6wcx9y7r1xyg8n7ai2pzrg9ira7hbakr45wh5p4zyxh0m45n8";
}; };
}); });
localGlslang = (glslang.override { localGlslang = (glslang.override {
@ -31,8 +32,8 @@ let
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "KhronosGroup"; owner = "KhronosGroup";
repo = "SPIRV-Tools"; repo = "SPIRV-Tools";
rev = "c79edd260c2b503f0eca57310057b4a100999cc5"; rev = "dc72924cb31cd9f3dbc3eb47e9d926cf641e3a07"; # pin
sha256 = "01qq5g2a8c5ljn1j6yqh3v90kbhavibh45dcnasixvpf5q7k2ary"; sha256 = "0pxgbq6xapw9hgrzb3rk5cylzgg1y1bkqz5wxzwqls63pwga5912";
}; };
}); });
argSpirv-headers = localSpirvHeaders; argSpirv-headers = localSpirvHeaders;
@ -40,32 +41,33 @@ let
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "KhronosGroup"; owner = "KhronosGroup";
repo = "glslang"; repo = "glslang";
rev = "e56beaee736863ce48455955158f1839e6e4c1a1"; rev = "18eef33bd7a4bf5ad8c69f99cb72022608cf6e73"; # pin
sha256 = "062v3zq88dvgpy3xlb86lj4skk9472jh7hv835d8gs8zbyy0s3aw"; sha256 = "0wwj7q509pkp8wj7120g1n2ddl4x2r03ljf5czd9794ji6yraidn";
}; };
}); });
robin-hood-hashing = fetchFromGitHub { robin-hood-hashing = fetchFromGitHub {
owner = "martinus"; owner = "martinus";
repo = "robin-hood-hashing"; repo = "robin-hood-hashing";
rev = "eee46f9985c3c65a05b35660c6866f8f8f1a3ba3"; rev = "3.11.2"; # pin
sha256 = "0h2ljqxnc1gr3p3iqk627n65c7pixpzxhd9vaybr24f90f069lmw"; sha256 = "0103mnqpmka1smy0arnrbihlvi7i8xr5im0px8wn4faw4flikkcm";
}; };
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vulkan-validation-layers"; pname = "vulkan-validation-layers";
version = "1.2.176.0"; version = "1.2.182.0";
# If we were to use "dev" here instead of headers, the setupHook would be # If we were to use "dev" here instead of headers, the setupHook would be
# placed in that output instead of "out". # placed in that output instead of "out".
outputs = ["out" "headers"]; outputs = ["out" "headers"];
outputInclude = "headers"; outputInclude = "headers";
src = fetchFromGitHub { src = (assert version == vulkan-headers.version;
owner = "KhronosGroup"; fetchFromGitHub {
repo = "Vulkan-ValidationLayers"; owner = "KhronosGroup";
rev = "sdk-${version}"; repo = "Vulkan-ValidationLayers";
sha256 = "1mp110a686lwl6wfplg79vwnlrvbz2pd5mjkgyg9i3jyfs65lr33"; rev = "sdk-${version}";
}; sha256 = "1fnmb7vbm7y1x67bf1xiwdrpj9j4lkvhk9xhb6hp6x2aryvcyrnc";
});
# Include absolute paths to layer libraries in their associated # Include absolute paths to layer libraries in their associated
# layer definition json files. # layer definition json files.

View file

@ -2,14 +2,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vulkan-extension-layer"; pname = "vulkan-extension-layer";
version = "1.2.176.0"; version = "1.2.182.0";
src = fetchFromGitHub { src = (assert version == vulkan-headers.version;
owner = "KhronosGroup"; fetchFromGitHub {
repo = "Vulkan-ExtensionLayer"; owner = "KhronosGroup";
rev = "sdk-${version}"; repo = "Vulkan-ExtensionLayer";
sha256 = "04zybnha7qnw9dqqlhb4q77d7pb8dq7b5y8qvid2dnjwf6ymirdn"; rev = "sdk-${version}";
}; sha256 = "0by2kp48jbd55xk26rmlvc4wm77g1zvidx8czn1587ng2yzi7acr";
});
nativeBuildInputs = [ cmake jq ]; nativeBuildInputs = [ cmake jq ];

View file

@ -23,14 +23,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vulkan-tools-lunarg"; pname = "vulkan-tools-lunarg";
# The version must match that in vulkan-headers # The version must match that in vulkan-headers
version = "1.2.176.0"; version = "1.2.182.0";
src = (assert version == vulkan-headers.version; src = (assert version == vulkan-headers.version;
fetchFromGitHub { fetchFromGitHub {
owner = "LunarG"; owner = "LunarG";
repo = "VulkanTools"; repo = "VulkanTools";
rev = "sdk-${version}"; rev = "sdk-${version}";
sha256 = "0p527nml2aj10rra2588dhvjmz63i6b69mc84x9s5wp85sazxxl1"; sha256 = "1b7762fcbakfvj2b2l68qj25pc7pz9jhfabf1x80b9w3q205hl2f";
fetchSubmodules = true; fetchSubmodules = true;
}); });

View file

@ -3,14 +3,18 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vulkan-tools"; pname = "vulkan-tools";
version = "1.2.176.0"; version = "1.2.182.0";
src = fetchFromGitHub { # It's not strictly necessary to have matching versions here, however
owner = "KhronosGroup"; # since we're using the SDK version we may as well be consistent with
repo = "Vulkan-Tools"; # the rest of nixpkgs.
rev = "sdk-${version}"; src = (assert version == vulkan-headers.version;
sha256 = "15jkjn3ildam4ad2x0d8ysm3i2l6nrvqv0h44spkipf13bqiq5wg"; fetchFromGitHub {
}; owner = "KhronosGroup";
repo = "Vulkan-Tools";
rev = "sdk-${version}";
sha256 = "028l2l7jx4443k8207q8jmjq1mnnm9kgyl2417jrkrvylcbv8ji9";
});
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ glslang libX11 libxcb libXrandr vulkan-headers vulkan-loader wayland ]; buildInputs = [ glslang libX11 libxcb libXrandr vulkan-headers vulkan-loader wayland ];