Skip to content

Contributing

Pyry Haulos edited this page Sep 2, 2016 · 14 revisions

See Adding Tests page for technical details on how to implement new test cases.

Branches

Vulkan CTS repository has currently three main branches: vulkan-cts-1.0.1 (default, latest release branch), vulkan-cts-1.0.0 (1.0.0.x release branch), and vulkan-cts-1.0-dev.

vulkan-cts-1.0.1

This is the release branch for Vulkan CTS 1.0.1.x. Only bugfixes are accepted in this branch.

vulkan-cts-1.0.0

Release branch for Vulkan CTS 1.0.0.x.

vulkan-cts-1.0-dev

This branch contains latest in-development version of Vulkan CTS. It is kept up-to-date with upstream dEQP project as well. All new tests and framework improvements are made in this branch.

Coding Conventions

dEQP is written in "traditional" C++ 98/03. Use of C++11 or newer is not currently allowed.

dEQP coding conventions are described in framework/delibs/coding_guidelines/de-coding-guidelines.html

See code under framework/delibs/decpp for more examples on desired style.

Pull Requests

Pull requests for new tests or features should target vulkan-cts-1.0-dev, and bugfixes vulkan-cts-1.0.

History

To keep git history meaningful, merge requests should generally contain just one, or a few atomic commits, meaning that all intermediate steps build & function correctly. When you need to update an existing pull request (to address feedback for example), please do so by modifying the existing commit(s) rather than adding additional commits on top.

To update one commit pull request, you can do:

git checkout <pull request branch>
# edit files
git add <modified files>
git commit --amend
git push --force origin <merge request branch>

--amend flag modifies topmost commit instead of creating a new one.

Testing

See Testing New Tests for documentation how any new test code should be tested.

In addition, dEQP has self-test module under modules/internal. Any framework changes should be tested by running internal tests. For any new framework features appropriate tests should be added as well.

Clone this wiki locally