Move glslang and vulkan-validation-layers overrides out of all-packages
This commit is contained in:
@@ -1,6 +1,51 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, writeText, python3
|
||||
, vulkan-headers, vulkan-loader, glslang, spirv-headers
|
||||
, pkgconfig, xlibsWrapper, libxcb, libXrandr, wayland }:
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, writeText
|
||||
, python3
|
||||
, spirv-headers
|
||||
, spirv-tools
|
||||
, vulkan-headers
|
||||
, vulkan-loader
|
||||
, glslang
|
||||
, pkgconfig
|
||||
, xlibsWrapper
|
||||
, libxcb
|
||||
, libXrandr
|
||||
, wayland
|
||||
}:
|
||||
# vulkan-validation-layers requires a custom glslang version, while glslang requires
|
||||
# custom versions for spirv-tools and spirv-headers. 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
|
||||
|
||||
let
|
||||
localGlslang = (glslang.override {
|
||||
argSpirv-tools = spirv-tools.overrideAttrs (_: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "SPIRV-Tools";
|
||||
rev = "e128ab0d624ce7beb08eb9656bb260c597a46d0a";
|
||||
sha256 = "0jj8zrl3dh9fq71jc8msx3f3ifb2vjcb37nl0w4sa8sdhfff74pv";
|
||||
};
|
||||
});
|
||||
argSpirv-headers = spirv-headers.overrideAttrs (_: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "SPIRV-Headers";
|
||||
rev = "ac638f1815425403e946d0ab78bac71d2bdbf3be";
|
||||
sha256 = "1lkhs7pxcrfkmiizcxl0w5ajx6swwjv7w3iq586ipgh571fc75gx";
|
||||
};
|
||||
});
|
||||
}).overrideAttrs (_: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "glslang";
|
||||
rev = "e00d27c6d65b7d3e72506a311d7f053da4051295";
|
||||
sha256 = "00lzvzk613gpm1vsdxffmx52z3c52ijwvzk4sfhh95p71kdydhgv";
|
||||
};
|
||||
});
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vulkan-validation-layers";
|
||||
@@ -20,8 +65,8 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glslang
|
||||
spirv-headers
|
||||
localGlslang
|
||||
localGlslang.spirv-headers
|
||||
vulkan-headers
|
||||
vulkan-loader
|
||||
libxcb
|
||||
@@ -32,7 +77,7 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DGLSLANG_INSTALL_DIR=${glslang}"
|
||||
"-DGLSLANG_INSTALL_DIR=${localGlslang}"
|
||||
];
|
||||
|
||||
# Help vulkan-loader find the validation layers
|
||||
|
||||
Reference in New Issue
Block a user