diff options
Diffstat (limited to 'pkgs/tools/graphics/vulkan-extension-layer/default.nix')
-rw-r--r-- | pkgs/tools/graphics/vulkan-extension-layer/default.nix | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/vulkan-extension-layer/default.nix b/pkgs/tools/graphics/vulkan-extension-layer/default.nix new file mode 100644 index 000000000000..cea582851e49 --- /dev/null +++ b/pkgs/tools/graphics/vulkan-extension-layer/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, cmake, writeText, vulkan-headers, jq }: + +stdenv.mkDerivation rec { + pname = "vulkan-extension-layer"; + version = "2020-08-25"; + + src = fetchFromGitHub { + owner = "KhronosGroup"; + repo = "Vulkan-ExtensionLayer"; + rev = "352f8e3e269ff2c650da50ce36313547c2a1fbb6"; + sha256 = "1503z1zj1xvjpry2h7fpg1frx7lcm54zs3azcgiv5i3ar4wqfkz9"; + }; + + nativeBuildInputs = [ cmake jq ]; + + buildInputs = [ vulkan-headers ]; + + # Help vulkan-loader find the validation layers + setupHook = writeText "setup-hook" '' + export XDG_DATA_DIRS=@out@/share:$XDG_DATA_DIRS + ''; + + # Include absolute paths to layer libraries in their associated + # layer definition json files. + preFixup = '' + for f in "$out"/share/vulkan/explicit_layer.d/*.json "$out"/share/vulkan/implicit_layer.d/*.json; do + jq <"$f" >tmp.json ".layer.library_path = \"$out/lib/\" + .layer.library_path" + mv tmp.json "$f" + done + ''; + + meta = with stdenv.lib; { + description = "Layers providing Vulkan features when native support is unavailable"; + homepage = "https://github.com/KhronosGroup/Vulkan-ExtensionLayer/"; + platforms = platforms.linux; + license = licenses.asl20; + maintainers = with maintainers; [ expipiplus1 ]; + }; +} |