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. (We currently use clang-format 22.1.x for CI)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 22.1.x) 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.
By submitting a Contribution to this repository, you additionally represent that, to the extent any of Your Contributions were developed with the assistance of artificial intelligence tools or AI-generated code, You have exercised sufficient review, judgment, and creative direction over such tools and resulting material to reasonably consider it Your original creation, and You are not aware of any third-party license, intellectual property claim, or other restriction arising from such use that is associated with any part of Your Contribution or use thereof.
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.