Skip to content

Commit

Permalink
vulkan-loader: 1.0.26.0 -> 1.0.39.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Ralith authored and abbradar committed Jan 31, 2017
1 parent 8d379dd commit dbd4a35
Show file tree
Hide file tree
Showing 5 changed files with 318 additions and 137 deletions.
6 changes: 3 additions & 3 deletions pkgs/development/compilers/glslang/default.nix
Expand Up @@ -2,15 +2,15 @@

stdenv.mkDerivation rec {
name = "glslang-git-${version}";
version = "2016-08-26";
version = "2016-12-21";

# `vulkan-loader` requires a specific version of `glslang` as specified in
# `<vulkan-loader-repo>/glslang_revision`.
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "glslang";
rev = "81cd764b5ffc475bc73f1fb35f75fd1171bb2343";
sha256 = "1vfwl6lzkjh9nh29q32b7zca4q1abf3q4nqkahskijgznw5lr59g";
rev = "807a0d9e2f4e176f75d62ac3c179c81800ec2608";
sha256 = "02jckgihqhagm73glipb4c6ri5fr3pnbxb5vrznn2vppyfdfghbj";
};

patches = [ ./install-headers.patch ];
Expand Down
25 changes: 17 additions & 8 deletions pkgs/development/compilers/glslang/install-headers.patch
@@ -1,21 +1,30 @@
diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt
index 48a6c46..593d941 100755
index c538e84..6ece1ab 100755
--- a/SPIRV/CMakeLists.txt
+++ b/SPIRV/CMakeLists.txt
@@ -42,3 +42,8 @@ endif(WIN32)
@@ -34,8 +34,9 @@ if(ENABLE_AMD_EXTENSIONS)
endif(ENABLE_AMD_EXTENSIONS)

if(ENABLE_NV_EXTENSIONS)
- set(HEADERS
- GLSL.ext.NV.h)
+ list(APPEND
+ HEADERS
+ GLSL.ext.NV.h)
endif(ENABLE_NV_EXTENSIONS)

add_library(SPIRV STATIC ${SOURCES} ${HEADERS})
@@ -51,3 +52,5 @@ endif(WIN32)

install(TARGETS SPIRV SPVRemapper
ARCHIVE DESTINATION lib)
+
+foreach(file ${HEADERS} ${SPVREMAP_HEADERS})
+ get_filename_component(dir ${file} DIRECTORY)
+ install(FILES ${file} DESTINATION include/SPIRV/${dir})
+endforeach()
+install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION include/SPIRV/)
diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
index ff91135..4318279 100644
index 95d4bdd..e7fda90 100644
--- a/glslang/CMakeLists.txt
+++ b/glslang/CMakeLists.txt
@@ -90,3 +90,8 @@ endif(WIN32)
@@ -93,3 +93,8 @@ endif(WIN32)

install(TARGETS glslang
ARCHIVE DESTINATION lib)
Expand Down
26 changes: 9 additions & 17 deletions pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,37 +1,28 @@
{ stdenv, fetchgit, fetchFromGitHub, cmake, pkgconfig, git, python3,
python3Packages, glslang, spirv-tools, x11, libxcb, wayland }:
python3Packages, glslang, spirv-tools, x11, libxcb, libXrandr,
libXext, wayland }:

let
version = "1.0.26.0";
version = "1.0.39.1";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "Vulkan-LoaderAndValidationLayers";
rev = "sdk-${version}";
sha256 = "157m746hc76xrxd3qq0f44f5dy7pjbz8cx74ykqrlbc7rmpjpk58";
sha256 = "0y9zzrnjjjza2kkf5jfsdqhn98md6rsq0hb7jg62z2dipzky7zdp";
};
in

stdenv.mkDerivation rec {
name = "vulkan-loader-${version}";
inherit version src;

prePatch = ''
if [ "$(cat '${src}/spirv-tools_revision')" != '${spirv-tools.src.rev}' ] \
|| [ "$(cat '${src}/spirv-headers_revision')" != '${spirv-tools.headers.rev}' ] \
|| [ "$(cat '${src}/glslang_revision')" != '${glslang.src.rev}' ]
then
echo "Version mismatch, aborting!"
false
fi
'';

buildInputs = [ cmake pkgconfig git python3 python3Packages.lxml
glslang spirv-tools x11 libxcb wayland
glslang spirv-tools x11 libxcb libXrandr libXext wayland
];
enableParallelBuilding = true;

cmakeFlags = [
"-DBUILD_WSI_WAYLAND_SUPPORT=ON" # XLIB/XCB supported by default
"-DBUILD_WSI_MIR_SUPPORT=OFF"
];

patches = [ ./use-xdg-paths.patch ];
Expand All @@ -40,7 +31,7 @@ stdenv.mkDerivation rec {

preConfigure = ''
checkRev() {
[ "$2" = $(cat "$1_revision") ] || (echo "ERROR: dependency $1 is revision $2 but should be revision" $(cat "$1_revision") && exit 1)
[ "$2" = $(cat "external_revisions/$1_revision") ] || (echo "ERROR: dependency $1 is revision $2 but should be revision" $(cat "external_revisions/$1_revision") && exit 1)
}
checkRev spirv-tools "${spirv-tools.src.rev}"
checkRev spirv-headers "${spirv-tools.headers.rev}"
Expand All @@ -58,7 +49,8 @@ stdenv.mkDerivation rec {
mkdir -p $dev/include
cp -rv ../include $dev/
mkdir -p $demos/bin
cp demos/smoketest demos/tri demos/cube demos/*.spv demos/*.ppm $demos/bin
cp demos/*.spv demos/*.ppm $demos/bin
find demos -type f -executable -not -name vulkaninfo -exec cp {} $demos/bin \;
'';

meta = with stdenv.lib; {
Expand Down

0 comments on commit dbd4a35

Please sign in to comment.