The source code for The Vulkan-ValidationLayer components is sponsored by Khronos and LunarG.
We enjoy external contributions, we often see them in the form of:
clang-format on any C++ code.scripts/check_code_format.py after you commit and before you make the PR to see if things pass locally.We are reasonable developers, we don't want to bikeshed on code style, but highly encourge to look at the nearby code. As maintainer, if we find the style is incredibly different, we will ask you kindly to fix it.
our CI will run clang-format (version 14) FOR EVERY COMMIT, so make sure your change has been ran with it.
# sample git workflow may look like git add -u . git clang-format --style=file # Check to see if clang-format made any changes and if they are OK. git add -u . git commit
Some basic rules (enforced by CI)
build:, docs:, layers:, tests:We have a --print-vu option in the test suite to view how a VU looks like.
We will be strict to enforce any new VUs added have a good, well written error message. It should contain:
Tip - If you make a fork and push to it, it will run CI there before your make a PR!
You will be prompted with a one-time “click-through” CLA dialog as part of submitting your pull request or other contribution to GitHub.
All contributions made to the Vulkan-ValidationLayers repository are Khronos branded and as such, any new files need to have the Khronos license (Apache 2.0 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 Apache 2.0 license and any new files need to include this license and any applicable copyrights.
You can include your individual copyright after any existing copyrights.