The Vulkan API Specification and related tools
Go to file
Petr Kraus 8222c6c185 Remove duplicate present layout note 2018-03-19 20:50:20 +01:00
doc/specs/vulkan Remove duplicate present layout note 2018-03-19 20:50:20 +01:00
out Fix random grammar 2017-12-15 21:01:02 +01:00
src Change log for March 16, 2018 Vulkan 1.1.71 spec update: 2018-03-17 04:04:05 -07:00
.gitattributes Change log for March 17, 2017 Vulkan 1.0.44 spec update: 2017-03-17 22:53:58 -07:00
.gitignore Change log for October 6, 2017 Vulkan 1.0.62 spec update: 2017-10-06 21:51:59 -07:00
COPYING.md Change log for June 24, 2017 Vulkan 1.0.53 spec update: 2017-06-26 19:32:10 -07:00
ChangeLog.txt Change log for March 16, 2018 Vulkan 1.1.71 spec update: 2018-03-17 04:04:05 -07:00
README.adoc Change log for March 7, 2018 Vulkan 1.1.70 spec update: 2018-03-07 04:18:52 -08:00
update_valid_usage_ids.sh Change log for October 6, 2017 Vulkan 1.0.62 spec update: 2017-10-06 21:51:59 -07:00

README.adoc

= 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

```
README.adoc             This file
ChangeLog.txt           Change log summary for each public spec update
doc/specs/              Main documentation tree
    vulkan/             Vulkan specification
        appendices/     Appendices - one file each
        chapters/       Chapters - one file each
        config/         asciidoc configuration
        images/         Images (figures, diagrams, icons)
        man/            Reference (manual) pages for API, mostly extracted from the spec source
src/spec/               XML API Registry (vk.xml) and related scripts
src/vulkan/             Vulkan headers, generated from the Registry
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 `doc/specs/vulkan/README.adoc` for more information on installing the
toolchain and building the Specification.


== Generating Headers and Related Files

The header files (`src/vulkan/vulkan*.h`) and many parts of the
specification and reference page documents are generated from descriptions
in the XML API Registry (`src/spec/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 `src/spec` and
running:

    $ make clean install

The other generated files are built as required via dependencies in
`doc/specs/vulkan/Makefile` .