= 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`.