The Vulkan API Specification and related tools
Switch branches/tags
v1.1.92 v1.1.91 v1.1.90 v1.1.89 v1.1.88 v1.1.87 v1.1.86 v1.1.85 v1.1.84 v1.1.83 v1.1.82 v1.1.81 v1.1.80 v1.1.79 v1.1.78 v1.1.77 v1.1.76 v1.1.75 v1.1.74 v1.1.73 v1.1.72 v1.1.71 v1.1.70 v1.0.69-core v1.0.68-core v1.0.67-core v1.0.66-core v1.0.65-core v1.0.64-core v1.0.63-core v1.0.62-core v1.0.61-core v1.0.60-core v1.0.59-core v1.0.58-core v1.0.57-core v1.0.56-core v1.0.55-core v1.0.54-core v1.0.53-core v1.0.51-core v1.0.50-core v1.0.49-core v1.0.48-core v1.0.47-core v1.0.46-core v1.0.45-core v1.0.44-core v1.0.43-core v1.0.42-core v1.0.41-core v1.0.40-core v1.0.39-core v1.0.38-core v1.0.36-core v1.0.35-core v1.0.34-core v1.0.33-core v1.0-core+wsi-20160812 v1.0-core+wsi-20160805 v1.0-core+wsi-20160722 v1.0-core+wsi-20160715 v1.0-core+wsi-20160710 v1.0-core+wsi-20160701 v1.0-core+wsi-20160624 v1.0-core+wsi-20160617 v1.0-core+wsi-20160610 v1.0-core+wsi-20160527 v1.0-core+wsi-20160520 v1.0-core+wsi-20160513 v1.0-core+wsi-20160429 v1.0-core+wsi-20160422 v1.0-core+wsi-20160415 v1.0-core+wsi-20160408 v1.0-core+wsi-20160401 v1.0-core+wsi-20160325 v1.0-core+wsi-20160311 v1.0-core+wsi-20160310 v1.0-core+wsi-20160304 v1.0-core+wsi-20160226 v1.0-core+wsi-20160216 v1.0-core-20161025 v1.0-core-20161014 v1.0-core-20161007 v1.0-core-20160930 v1.0-core-20160923 v1.0-core-20160916 v1.0-core-20160906 v1.0-core-20160826 v1.0-core-20160812 v1.0-core-20160805 v1.0-core-20160722 v1.0-core-20160715 v1.0-core-20160710 v1.0-core-20160701 v1.0-core-20160624 v1.0-core-20160617 v1.0-core-20160610 v1.0-core-20160527 v1.0-core-20160520
Nothing to show
Clone or download
Jon Leech
Jon Leech Change log for November 12, 2018 Vulkan 1.1.92 spec update:
  * Update release number to 92.

Public Issues:

  * Move and modify valid usage statements dealing with pname:aspectMask in
    flink:vkCmdClearColorImage, flink:vkCmdClearDepthStencilImage, and
    slink:VkClearAttachment, so they are in places where all necessary
    information is available (public issue 529).
  * Fix math markup in <<textures-texel-anisotropic-filtering, Texel
    Anisotropic Filtering>> (public pull request 840).
  * Fix misspellings (public pull request 845).

Internal Issues:

  * Add installation instructions and a Makefile "`chunked`" target for
    chunked HTML generation (internal issue 1352).
  * Fix pipeline mesh diagram style; also fix a minor bug in the classic
    pipeline diagram where vertex/index buffers wrongly fed into the vertex
    shader (internal issue 1436).
  * Make asciidoctor ERROR output raise an error, and don't suppress
    executed command output from CI make invocation (internal issue 1454).
  * Minor typo fixes and clarifications for `VK_NV_raytracing`.
  * Cleanup extension-specific properties
  ** Remove duplicated documentation for pname:maxDiscardRectangles,
     pname:pointClippingBehavior, and pname:maxVertexAttribDivisor (they
     shouldn't be documented with the other members of
     slink:VkPhysicalDeviceLimits at all).
  ** Remove duplicate anchor for pname:maxVertexAttribDivisor
  ** Consistently document stext:VkPhysicalDevice<Extension>PropertiesKHR
  *** Always document pname:sType/pname:pNext (was inconsistent before)
  *** Always mention chaining to slink:VkPhysicalDeviceProperties2 (and not
      as slink:VkPhysicalDeviceProperties2KHR)
  *** Always include Valid Usage statements last
  * Update Makefile 'checklinks' target and associated scripts, and fix
    markup problems identified by checkLinks.py, so that we can rely on the
    checklinks script as part of Gitlab CI.
Latest commit 2794524 Nov 12, 2018
Permalink
Failed to load latest commit information.
.gitlab/issue_templates Change log for November 4, 2018 Vulkan 1.1.91 spec update: Nov 4, 2018
appendices Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
chapters Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
config Try to fix html page content overflow Nov 5, 2018
images Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
include/vulkan Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
katex Restructure the repository to put the specification Makefile and Apr 5, 2018
man Restructure the repository to put the specification Makefile and Apr 5, 2018
out Change log for March 5, 2018 Vulkan 1.1.72 spec update: Apr 5, 2018
scripts Restructure the repository to put the specification Makefile and Apr 5, 2018
src/ext_loader Change log for May 25, 2018 Vulkan 1.1.76 spec update: May 25, 2018
style Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
xml Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
.gitattributes Restructure the repository to put the specification Makefile and Apr 5, 2018
.gitignore Update gitignore Apr 9, 2018
.gitlab-ci.yml Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
BUILD.adoc Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md Sep 24, 2018
COPYING.md Merge remote-tracking branch 'upstream/master' into typos Nov 4, 2018
ChangeLog.txt Merge remote-tracking branch 'upstream/master' into typos Nov 4, 2018
Makefile Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
README.adoc Update README Oct 24, 2018
checkLinks.py Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
copyright-ccby.txt Restructure the repository to put the specification Makefile and Apr 5, 2018
copyright-spec.txt Change log for October 7, 2018 Vulkan 1.1.87 spec update: Oct 7, 2018
fixupRef.py Restructure the repository to put the specification Makefile and Apr 5, 2018
genRef.py Change log for April 15, 2018 Vulkan 1.1.73 spec update: Apr 15, 2018
genRelease Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
genspec.py Minor build fixes. Jun 18, 2018
installRelease Restructure the repository to put the specification Makefile and Apr 5, 2018
makeAllExts Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
makeExt Restructure the repository to put the specification Makefile and Apr 5, 2018
makeKHR Restructure the repository to put the specification Makefile and Apr 5, 2018
promote.py Fix Makefile PATCHVERSION to 72, and finish cleaning up after the Apr 5, 2018
refDesc.py Restructure the repository to put the specification Makefile and Apr 5, 2018
refPageNotes.md Restructure the repository to put the specification Makefile and Apr 5, 2018
reflib.py Change log for April 15, 2018 Vulkan 1.1.73 spec update: Apr 15, 2018
reflow.py Fix Makefile PATCHVERSION to 72, and finish cleaning up after the Apr 5, 2018
reflow_count.py Change log for November 12, 2018 Vulkan 1.1.92 spec update: Nov 12, 2018
registry.txt Fixed misspellings Nov 4, 2018
sandboxCopy Change log for March 5, 2018 Vulkan 1.1.72 spec update: Apr 5, 2018
styleguide.txt Change log for October 7, 2018 Vulkan 1.1.87 spec update: Oct 7, 2018
update_valid_usage_ids.sh Fix Makefile PATCHVERSION to 72, and finish cleaning up after the Apr 5, 2018
vkspec.txt Change log for November 4, 2018 Vulkan 1.1.91 spec update: Nov 4, 2018

README.adoc

Vulkan® API Documentation Project

This repository contains sources for the formal documentation of the Vulkan API. This includes:

The authoritative public repository is located at https://github.com/KhronosGroup/Vulkan-Docs/. It hosts public Issue tracker, and accepts patches (Pull Requests) from the general public.

If in doubt where to submit your Issue consult the https://github.com/KhronosGroup/Vulkan-Ecosystem repo.

Branch Structure

Everything is now maintained in the master branch of the repository. From this branch it is possible to generate both Vulkan 1.1 and Vulkan 1.0 Specifications, as well as specifications for any set of Extensions.

ℹ️

Old revisions of the repository maintained the Vulkan 1.0 Specification in the 1.0 branch, and extensions in the 1.0-VK_EXTENSION_NAME. These branches are now obsolete, and contain only very old versions of the Specification (and extensions).

Directory Structure

The directory structure is as follows:

README.adoc           This file
BUILD.adoc            Documents how to build the specifications, and man pages
COPYING.md            Copyright and licensing information
CODE_OF_CONDUCT.md    Code of Conduct
ChangeLog.txt         Change log summary for each public spec update
Makefile, make*       Makefile and helper build scripts (see BUILD.adoc)
appendices/           Specification appendices
chapters/             Specification chapters
config/               Asciidoctor configuration
images/               Images (figures, diagrams, icons)
include/vulkan/       Vulkan headers, generated from the Registry
man/                  Reference (man) pages for the API; mostly extracted from the spec source
out/                  Default directory for the generated documents
scripts/              Related scripts (but many scripts are still in the root or xml/ directory)
src/ext_loader/       Extension loader library (deprecated)
style/                Sources for "styleguide" (Vulkan Documentation and Extensions: Procedures and Conventions)
xml/                  XML API Registry (vk.xml) and related scripts
registry.txt          Sources for documentation of the vk.xml format

This structure was adopted following 1.1.70 spec update. There may be additional cleanup and simplification in the future.

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.

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 into xml/ and running:

$ make clean install

The other generated files are built as required via dependencies in the top-level Makefile.