| = Vulkan^(R)^ API Documentation Project |
| |
| This repository contains formal documentation of the Vulkan API. This |
| includes the Specification of the Vulkan API, including extensions; the |
| reference ("`man`") pages; the XML API Registry; header files; and related |
| tools and scripts. |
| |
| The authoritative public repository is located at |
| https://github.com/KhronosGroup/Vulkan-Docs/ . Issues, proposed fixes for |
| issues, and other suggested changes should be created using Github. |
| |
| |
| == Branch Structure |
| |
| With the release of Vulkan 1.1, the current Specification is now maintained |
| in the `master` branch of the repository. It is possible to generate both |
| Vulkan 1.1 and Vulkan 1.0 Specifications from this branch. |
| |
| |
| === `1.0` Branch Is Obsolete |
| |
| The `1.0` branch in which the 1.0 Specification was previously maintained is |
| now obsolete. The `1.0` branch will not be updated going forward, and all |
| outstanding pull requests or merge requests against the `1.0` branch must be |
| rebased on, and retargeted to `master`. |
| |
| |
| == Directory Structure |
| |
| The directory structure was changed following the 1.1.70 spec update to move |
| the specification directory to the root of the repository, and move other |
| content relative to that. There may be additional cleanup and simplification |
| in the future. |
| |
| |
| ``` |
| README.adoc This file |
| BUILD.adoc Build targets and methods for the specification |
| ChangeLog.txt Change log summary for each public spec update |
| appendices/ Specification appendices |
| chapters/ Specification chapters |
| config/ asciidoc configuration |
| images/ Images (figures, diagrams, icons) |
| include/vulkan/ Vulkan headers, generated from the Registry |
| man/ Reference (manual) pages for API, mostly extracted from the spec source |
| xml/ XML API Registry (vk.xml) and related scripts |
| src/ext_loader/ Extension loader library |
| ``` |
| |
| |
| == Building the Specification and Reference Pages |
| |
| The document sources are marked up in `asciidoctor` format, and we use |
| asciidoctor and related toolchain components to generate output documents. |
| See `BUILD.adoc` for more information on installing the toolchain and |
| building the Specification. |
| |
| |
| == Generating Headers and Related Files |
| |
| The header files (`include/vulkan/vulkan*.h`) and many parts of the |
| specification and reference page documents are generated from descriptions |
| in the XML API Registry (`xml/vk.xml`). The generated files, with the |
| exception of header files, are not checked into the repository. If you |
| change `vk.xml`, you can regenerate the header by going to `xml/` and |
| running: |
| |
| $ make clean install |
| |
| The other generated files are built as required via dependencies in |
| the top-level `Makefile`. |