REPO NOW ARCHIVED - Please see https://www.vulkan.org/ instead where this information will now live and be updated. This repo will remain available but archived and read-only.
This repository is used as a tracker for cross-functional issues that affect Vulkan users. It is meant to facilitate triaging, discussion and routing of issues that don't necessarily fit under the scope of a single project within the Vulkan ecosystem.
The Vulkan ecosystem is a big place and there's a lot out there that is useful! In no particular order...
Vulkan® Specification - formal documentation of the Vulkan API. This includes the main API Specification, the reference (man) pages, the XML API Registry, and related tools and scripts.
- Landing page: https://www.vulkan.org/
- Website: https://www.khronos.org/registry/vulkan/
- Repository: https://github.com/KhronosGroup/Vulkan-Docs
- License: mixed — approximately:
- Proprietary Khronos license for the Vulkan Specification published by Khronos on its website
- CC-BY 4.0 for asciidoctor sources for the Specification and related documents such as the reference pages, style guide, and XML schema documentation.
- Apache 2 for code, including the XML registry defining API interfaces
- Contacts:
- Compiler requirements: python 3 (3.4.2 known working), ruby 2 (2.3.3 known working)
The SPIR-V Tools project provides an API and commands for processing SPIR-V modules.
- Repository: https://github.com/KhronosGroup/SPIRV-Tools
- License: Apache
- Contacts:
- Compiler requirements: C++11 compatible compiler (MSVC 2013+ on Windows)
glslang is a GLSL and HLSL to SPIR-V compiler, usable both as a command-line tool as well as a library.
- Website: https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
- Repository: https://github.com/KhronosGroup/glslang
- License: 3-clause BSD
- Contact: David Neto dneto@google.com
- Compiler requirements: C++11 compatible compiler (MSVC 2013+ on Windows)
Vulkan Header files and API registry
- Repository: https://github.com/KhronosGroup/Vulkan-Headers
- License: Apache
- Contacts:
- For now: Karl Schultz karl@lunarg.com
- Code of conduct: WIP
- Compiler requirements: N/A
Source code for the Vulkan loader
- Repository: https://github.com/KhronosGroup/Vulkan-Loader
- License: Apache
- Contacts:
- Lenny Komow lenny@lunarg.com
- Code of conduct: https://github.com/KhronosGroup/Vulkan-Loader/blob/master/GOVERNANCE.md
- Compiler requirements: MSVC 2013+ / Python 3 / gcc 4.8.2+ / clang 3.4+
Source code for the Vulkan validation layers
- Repository: https://github.com/KhronosGroup/Vulkan-ValidationLayers
- License: Apache
- Contacts:
- Tobine Ehlis tobine@google.com
- Mark Lobodzinski mark@lunarg.com
- Code of conduct: https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/GOVERNANCE.md
- Compiler requirements: MSVC 2013+ / gcc 4.8.2+ / clang 3.4+
Source code for the Vulkan utilities and tools
- Repository: https://github.com/KhronosGroup/Vulkan-Tools
- License: Apache
- Contacts:
- Tobine Ehlis tobine@google.com
- Mark Lobodzinski mark@lunarg.com
- Code of conduct: https://github.com/KhronosGroup/Vulkan-Tools/blob/master/GOVERNANCE.md
- Compiler requirements: MSVC 2013+ / gcc 4.8.2+ / clang 3.4+
MoltenVK is an implementation of the high-performance, industry-standard Vulkan graphics and compute API, that runs on Apple's Metal graphics framework, bringing Vulkan compatibility to iOS and macOS
- Repository: https://github.com/KhronosGroup/MoltenVK
- License: Apache
- Contacts: bill.hollings@brenwill.com
- Compiler requirements: Xcode 9 / python 3
Vulkan-Hpp is a set of lightweight C++ bindings for the Vulkan API.
- Repository: https://github.com/KhronosGroup/Vulkan-Hpp
- License: Apache
- Contact: Markus Tavenrath mtavenrath@nvidia.com
- Compiler requirements: MSVC 2013+ / gcc 4.8.2+ / clang 3.3+
SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
- Repository: https://github.com/KhronosGroup/SPIRV-Cross
- License: Apache
- Contacts:
- hans-kristian.arntzen@arm.com (@HansKristian-ARM)
- Compiler requirements: MSVC 2013 / gcc 4.8/4.9+ / clang 3.x+
DirectX Shader Compiler (DXC) is Microsoft's next-gen official HLSL compiler, based on LLVM/Clang. Apart from compiling HLSL into DXIL, it can also compile HLSL into SPIR-V, thanks to contribution from Google.
- Landing page: https://github.com/Microsoft/DirectXShaderCompiler/wiki
- Repository: https://github.com/Microsoft/DirectXShaderCompiler
- License: University of Illinois Open Source License
- Contacts:
- Lei Zhang antiagainst@google.com (for SPIR-V CodeGen)
- opencode@microsoft.com (for other issues)
- Platform: Windows, Linux, macOS
- Compiler requirements: MSVC 2017 / GCC 5.5+ / Clang 3.8+
- Download: https://khr.io/dxcappveyorbuild (rolling release for Windows)
RenderDoc - a graphics debugger, currently available for Vulkan, D3D11, D3D12, and OpenGL development on Windows 7 - 10 and Linux.
- Website: https://renderdoc.org/
- Repository: https://github.com/baldurk/renderdoc
- License: MIT
- Contacts:
- Code of conduct: contributor covenant
- Compiler requirements: MSVC 2015 / gcc 5 / clang 3.4
Source code for various Vulkan Tools: vktrace/vkreplay, device simulation layer, API dump layer, fps monitor layer, screenshot layer, assistant layer, layer factory framework, and Vulkan installation analyzer.
- Repository: https://github.com/LunarG/VulkanTools
- License: Apache
- Contact: David Pinedo david@lunarg.com
- Code of conduct: https://github.com/LunarG/VulkanTools/blob/master/GOVERNANCE.md
- Compiler requirements: MSVC 2013+ / gcc 4.8.2+ / clang 3.4+
gfx-rs is Vulkan-ic graphics abstraction layer in Rust, running on Vulkan, D3D12, Metal, and OpenGL, as well as providing C bindings as a Vulkan Portability implementation.
- Repository: https://github.com/gfx-rs/gfx
- License: Apache or MIT
- Contacts:
- Compiler requirements: Rust 1.22, gcc 5 / clang 3.4 for the portability layer
Vulkano is a type-safe wrapper around Vulkan API in Rust.
- Website: http://vulkano.rs/
- Repository: https://github.com/vulkano-rs/vulkano
- License: Apache or MIT
- Contacts:
- Compiler requirements: Rust 1.22, gcc-4.8