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