mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-18 07:46:09 +01:00
Vulkan: 1.2.198.0 -> 1.3.211.0
Update: * glslang * spirv-headers * spirv-toools * vulkan-extension-layer * vulkan-headers * vulkan-loader * vulkan-tools * vulkan-tools-lunarg * vulkan-validation-layers Fixes #161060
This commit is contained in:
parent
d21c94cd35
commit
f089fdbc80
10 changed files with 100 additions and 29 deletions
|
@ -9,13 +9,13 @@
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "glslang";
|
pname = "glslang";
|
||||||
version = "1.2.198.0";
|
version = "1.3.211.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "glslang";
|
repo = "glslang";
|
||||||
rev = "sdk-${version}";
|
rev = "sdk-${version}";
|
||||||
sha256 = "sha256-FRiqsfoyjUW2kbbphxcy0Hn0TLVaszatM/nnWBrchRY=";
|
sha256 = "sha256-YLn/Mxuk6mXPGtBBgfwky5Nl1TCAW6i2g+AZLzqVz+A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# These get set at all-packages, keep onto them for child drvs
|
# These get set at all-packages, keep onto them for child drvs
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "spirv-headers";
|
pname = "spirv-headers";
|
||||||
version = "1.2.198.0";
|
version = "1.3.211.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "SPIRV-Headers";
|
repo = "SPIRV-Headers";
|
||||||
rev = "sdk-${version}";
|
rev = "sdk-${version}";
|
||||||
sha256 = "sha256-cdEiRSCoX0New8ecUh7UTDz/is2v29zhf6Il2N1j3mw=";
|
sha256 = "sha256-LkIrTFWYvZffLVJJW3152um5LTEsMJEDEsIhBAdhBlk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -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.198.0";
|
version = "1.3.211.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 = "sha256-SvC0AX1wIZWLzws3ZS8Wi8fbNUw1+An/PRlFIfNj24Y=";
|
sha256 = "sha256-FqrcFHsUS8e4ZgZpxVc8nNZWdNltniFmMjyyWVoNc7w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -3,14 +3,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "vulkan-loader";
|
pname = "vulkan-loader";
|
||||||
version = "1.2.198.0";
|
version = "1.3.211.0";
|
||||||
|
|
||||||
src = (assert version == vulkan-headers.version;
|
src = (assert version == vulkan-headers.version;
|
||||||
fetchFromGitHub {
|
fetchFromGitHub {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "Vulkan-Loader";
|
repo = "Vulkan-Loader";
|
||||||
rev = "sdk-${version}";
|
rev = "sdk-${version}";
|
||||||
sha256 = "sha256-k3eCdZqCjFxpKa0pZ0K4XcORxdSOlr1dFa7C3Qzi04Y=";
|
sha256 = "sha256-NQu98wA7UK231rpoKDs1yQ6pEyB4wZg7MjFC3JwS2BY=";
|
||||||
});
|
});
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "spirv-tools";
|
pname = "spirv-tools";
|
||||||
version = "1.2.198.0";
|
version = "1.3.211.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "SPIRV-Tools";
|
repo = "SPIRV-Tools";
|
||||||
rev = "sdk-${version}";
|
rev = "sdk-${version}";
|
||||||
sha256 = "sha256-8EJbTPY5dvsqx32POf2HcCV3j2fA68GtGZA66l9V4TI=";
|
sha256 = "sha256-DoE+UCJOTB8JidC208wgfV1trZC4r9uFvwRPUhJVaII=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake python3 ];
|
nativeBuildInputs = [ cmake python3 ];
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, callPackage
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
|
, pkgconfig
|
||||||
, glslang
|
, glslang
|
||||||
|
, libffi
|
||||||
, libX11
|
, libX11
|
||||||
|
, libXau
|
||||||
, libxcb
|
, libxcb
|
||||||
|
, libXdmcp
|
||||||
, libXrandr
|
, libXrandr
|
||||||
, spirv-headers
|
, spirv-headers
|
||||||
, spirv-tools
|
, spirv-tools
|
||||||
|
@ -13,16 +18,11 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
robin-hood-hashing = fetchFromGitHub {
|
robin-hood-hashing = callPackage ./robin-hood-hashing.nix {};
|
||||||
owner = "martinus";
|
|
||||||
repo = "robin-hood-hashing";
|
|
||||||
rev = "3.11.3"; # pin
|
|
||||||
sha256 = "1gm3lwjkh6h8m7lfykzd0jzhfqjmjchindkmxc008rwvxafsd1pl";
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "vulkan-validation-layers";
|
pname = "vulkan-validation-layers";
|
||||||
version = "1.2.198.0";
|
version = "1.3.211.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".
|
||||||
|
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "Vulkan-ValidationLayers";
|
repo = "Vulkan-ValidationLayers";
|
||||||
rev = "sdk-${version}";
|
rev = "sdk-${version}";
|
||||||
sha256 = "sha256-/pnXT55EQZcnjOzY2vBwp+gM6l2hktZHwB9yKP8vVTU=";
|
sha256 = "sha256-NGpFfekZtB0rvnGxYVDo808xzgBuo8ZC4bjXjQnTpxU=";
|
||||||
});
|
});
|
||||||
|
|
||||||
# Include absolute paths to layer libraries in their associated
|
# Include absolute paths to layer libraries in their associated
|
||||||
|
@ -45,12 +45,17 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
|
pkgconfig
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libX11
|
libX11
|
||||||
libxcb
|
libXau
|
||||||
|
libXdmcp
|
||||||
libXrandr
|
libXrandr
|
||||||
|
libffi
|
||||||
|
libxcb
|
||||||
|
spirv-tools
|
||||||
vulkan-headers
|
vulkan-headers
|
||||||
wayland
|
wayland
|
||||||
];
|
];
|
||||||
|
@ -60,6 +65,7 @@ stdenv.mkDerivation rec {
|
||||||
"-DSPIRV_HEADERS_INSTALL_DIR=${spirv-headers}"
|
"-DSPIRV_HEADERS_INSTALL_DIR=${spirv-headers}"
|
||||||
"-DROBIN_HOOD_HASHING_INSTALL_DIR=${robin-hood-hashing}"
|
"-DROBIN_HOOD_HASHING_INSTALL_DIR=${robin-hood-hashing}"
|
||||||
"-DBUILD_LAYER_SUPPORT_FILES=ON"
|
"-DBUILD_LAYER_SUPPORT_FILES=ON"
|
||||||
|
"-DPKG_CONFIG_EXECUTABLE=${pkgconfig}/bin/pkg-config"
|
||||||
# Hide dev warnings that are useless for packaging
|
# Hide dev warnings that are useless for packaging
|
||||||
"-Wno-dev"
|
"-Wno-dev"
|
||||||
];
|
];
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "robin-hood-hashing";
|
||||||
|
version = "3.11.5"; # pin
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "martinus";
|
||||||
|
repo = "robin-hood-hashing";
|
||||||
|
rev = version; # pin
|
||||||
|
sha256 = "sha256-J4u9Q6cXF0SLHbomP42AAn5LSKBYeVgTooOhqxOIpuM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DRH_STANDALONE_PROJECT=OFF"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A faster, more efficient replacement for std::unordered_map / std::unordered_set";
|
||||||
|
homepage = "https://github.com/martinus/robin-hood-hashing";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,14 +2,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "vulkan-extension-layer";
|
pname = "vulkan-extension-layer";
|
||||||
version = "1.2.198.0";
|
version = "1.3.211.0";
|
||||||
|
|
||||||
src = (assert version == vulkan-headers.version;
|
src = (assert version == vulkan-headers.version;
|
||||||
fetchFromGitHub {
|
fetchFromGitHub {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "Vulkan-ExtensionLayer";
|
repo = "Vulkan-ExtensionLayer";
|
||||||
rev = "sdk-${version}";
|
rev = "sdk-${version}";
|
||||||
sha256 = "sha256-g674rw8lXyP1WUoJmbRRL7s+1Yxs00sR04+hTQ3l3dE=";
|
sha256 = "sha256-ixCfHnp6YAOuR4NMTGjhhqkfm0H7ZcO/8xKFJqw16YE=";
|
||||||
});
|
});
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake jq ];
|
nativeBuildInputs = [ cmake jq ];
|
||||||
|
|
|
@ -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.189.1";
|
version = "1.3.211.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 = "0431dgplv5wiz8bj0ja91mbpc2qhjgdhqhrgaqarvyvjr1f7jw52";
|
sha256 = "sha256-Pkz2FV0AnTKm/4jVmkQNkYzpxpKJaSoy2fRAhVh5OKU=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,24 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, cmake, glslang, libX11, libxcb
|
{ lib
|
||||||
, libXrandr, vulkan-headers, vulkan-loader, wayland }:
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkgconfig
|
||||||
|
, glslang
|
||||||
|
, libffi
|
||||||
|
, libX11
|
||||||
|
, libXau
|
||||||
|
, libxcb
|
||||||
|
, libXdmcp
|
||||||
|
, libXrandr
|
||||||
|
, vulkan-headers
|
||||||
|
, vulkan-loader
|
||||||
|
, wayland
|
||||||
|
, wayland-protocols
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "vulkan-tools";
|
pname = "vulkan-tools";
|
||||||
version = "1.2.198.0";
|
version = "1.3.211.0";
|
||||||
|
|
||||||
# It's not strictly necessary to have matching versions here, however
|
# It's not strictly necessary to have matching versions here, however
|
||||||
# since we're using the SDK version we may as well be consistent with
|
# since we're using the SDK version we may as well be consistent with
|
||||||
|
@ -13,11 +28,27 @@ stdenv.mkDerivation rec {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "Vulkan-Tools";
|
repo = "Vulkan-Tools";
|
||||||
rev = "sdk-${version}";
|
rev = "sdk-${version}";
|
||||||
sha256 = "sha256-oNJm9Gi41aA5krkpkQI0EYdIlMcQpdodv9yqXhnNURA=";
|
sha256 = "sha256-iXsWTKNllPZy1Kpo3JHzEEus3Hu9LofvMB3c4Gn6/DM=";
|
||||||
});
|
});
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [
|
||||||
buildInputs = [ glslang libX11 libxcb libXrandr vulkan-headers vulkan-loader wayland ];
|
cmake
|
||||||
|
pkgconfig
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
glslang
|
||||||
|
libffi
|
||||||
|
libX11
|
||||||
|
libXau
|
||||||
|
libxcb
|
||||||
|
libXdmcp
|
||||||
|
libXrandr
|
||||||
|
vulkan-headers
|
||||||
|
vulkan-loader
|
||||||
|
wayland
|
||||||
|
wayland-protocols
|
||||||
|
];
|
||||||
|
|
||||||
libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ];
|
libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ];
|
||||||
|
|
||||||
|
@ -28,6 +59,7 @@ stdenv.mkDerivation rec {
|
||||||
"-DBUILD_ICD=OFF"
|
"-DBUILD_ICD=OFF"
|
||||||
# vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH
|
# vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH
|
||||||
"-DCMAKE_INSTALL_RPATH=${libraryPath}"
|
"-DCMAKE_INSTALL_RPATH=${libraryPath}"
|
||||||
|
"-DPKG_CONFIG_EXECUTABLE=${pkgconfig}/bin/pkg-config"
|
||||||
# Hide dev warnings that are useless for packaging
|
# Hide dev warnings that are useless for packaging
|
||||||
"-Wno-dev"
|
"-Wno-dev"
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in a new issue