The Vulkan source code is distributed across several GitHub repositories. The repositories sponsored by Khronos and LunarG are described here. In general, the canonical Vulkan Loader and Validation Layers sources are in the Khronos repository, while the LunarG repositories host sources for additional tools and sample programs.
As a convenience, the contents of the Vulkan-LoaderAndValidationLayers repository are downstreamed into the VulkanTools and VulkanSamples repositories via a branch named trunk
. This makes the VulkanTools and VulkanSamples easier to work with and avoids compatibility issues that might arise with Vulkan-LoaderAndValidationLayers components if they were obtained from a separate repository.
.clang-format files
throughout the repository to define clang-format settings which are found and used automatically by clang-format.# Make changes to the source. $ git add . $ clang-format -style=file -i < list of changed code files > # Check to see if clang-format made any changes and if they are OK. $ git add . $ git commit
demos
directory, run:cube cube --validate tri tri --validate smoke smoke --validate vulkaninfo
tests
directory, run:run_all_tests.sh
The Khronos Group is still finalizing the CLA process and documentation, so the details about using or requiring a CLA are not available yet. In the meantime, we suggest that you not submit any contributions unless you are comfortable doing so without a CLA.
You'll be prompted with a "click-through" CLA as part of submitting your pull request in GitHub.
All contributions made to the Vulkan-LoaderAndValidationLayers repository are Khronos branded and as such, any new files need to have the Khronos license (MIT style) and copyright included. Please see an existing file in this repository for an example.
All contributions made to the LunarG repositories are to be made under the MIT license and any new files need to include this license and any applicable copyrights.
You can include your individual copyright after any existing copyrights.