1= Vulkan^(R)^ API Documentation Project 2 3This repository contains formal documentation of the Vulkan API. This 4includes the Specification of the Vulkan API, including extensions; the 5reference ("`man`") pages; the XML API Registry; header files; and related 6tools and scripts. 7 8The authoritative public repository is located at 9https://github.com/KhronosGroup/Vulkan-Docs/ . Issues, proposed fixes for 10issues, and other suggested changes should be created using Github. 11 12 13== Branch Structure 14 15With the release of Vulkan 1.1, the current Specification is now maintained 16in the `master` branch of the repository. It is possible to generate both 17Vulkan 1.1 and Vulkan 1.0 Specifications from this branch. 18 19 20=== `1.0` Branch Is Obsolete 21 22The `1.0` branch in which the 1.0 Specification was previously maintained is 23now obsolete. The `1.0` branch will not be updated going forward, and all 24outstanding pull requests or merge requests against the `1.0` branch must be 25rebased on, and retargeted to `master`. 26 27 28== Directory Structure 29 30The directory structure was changed following the 1.1.70 spec update to move 31the specification directory to the root of the repository, and move other 32content relative to that. There may be additional cleanup and simplification 33in the future. 34 35 36``` 37README.adoc This file 38BUILD.adoc Build targets and methods for the specification 39ChangeLog.txt Change log summary for each public spec update 40appendices/ Specification appendices 41chapters/ Specification chapters 42config/ asciidoc configuration 43images/ Images (figures, diagrams, icons) 44include/vulkan/ Vulkan headers, generated from the Registry 45man/ Reference (manual) pages for API, mostly extracted from the spec source 46xml/ XML API Registry (vk.xml) and related scripts 47src/ext_loader/ Extension loader library 48``` 49 50 51== Building the Specification and Reference Pages 52 53The document sources are marked up in `asciidoctor` format, and we use 54asciidoctor and related toolchain components to generate output documents. 55See `BUILD.adoc` for more information on installing the toolchain and 56building the Specification. 57 58 59== Generating Headers and Related Files 60 61The header files (`include/vulkan/vulkan*.h`) and many parts of the 62specification and reference page documents are generated from descriptions 63in the XML API Registry (`xml/vk.xml`). The generated files, with the 64exception of header files, are not checked into the repository. If you 65change `vk.xml`, you can regenerate the header by going to `xml/` and 66running: 67 68 $ make clean install 69 70The other generated files are built as required via dependencies in 71the top-level `Makefile`. 72