The Vulkan API Specification and related tools
Go to file
Jon Leech dbfd1b68c4 Change log for July 13, 2017 Vulkan 1.0.54 spec update:
* Bump API patch number and header version number to 54 for this update.

Github Issues:

Internal Issues:

  * Fix tessellation domain to have an upper-left origin in the
    <<img-tessellation-topology-ul, tessellation toplogy image>> and related
    language. CTS and all implementations were already doing this, it was
    just a documentation bug that it was flipped to lower-left (internal
    issue 603).
  * Add a section to the style guide describing how VUID tags are changed
    and removed when the corresponding Valid Usage statements are modified
    (internal issue 829).
  * Add explicit Valid Usage statement to
    slink:VkPipelineDynamicStateCreateInfo to require that members of
    pname:pDynamicStates must be unique (internal issue 851).

New Extensions:

  * `VK_KHR_16bit_storage`
  * `VK_KHR_dedicated_allocation`
  * `VK_KHR_external_fence`
  * `VK_KHR_external_fence_capabilities`
  * `VK_KHR_external_fence_fd`
  * `VK_KHR_external_fence_win32`
  * `VK_KHR_get_memory_requirements2`
  * `VK_KHR_storage_buffer_storage_class`
  * `VK_KHR_variable_pointers`

Extensions Promoted From KHX To KHR Status:

  * `VK_KHR_external_memory`
  * `VK_KHR_external_memory_capabilities`
  * `VK_KHR_external_memory_fd`
  * `VK_KHR_external_memory_win32`
  * `VK_KHR_external_semaphore`
  * `VK_KHR_external_semaphore_capabilities`
  * `VK_KHR_external_semaphore_fd`
  * `VK_KHR_external_semaphore_win32`
  * `VK_KHR_win32_keyed_mutex`
2017-07-11 17:57:41 -07:00
doc/specs Change log for July 13, 2017 Vulkan 1.0.54 spec update: 2017-07-11 17:57:41 -07:00
out Change log for February 27, 2017 Vulkan 1.0.42 spec update: 2017-02-26 22:54:26 -08:00
src Change log for July 13, 2017 Vulkan 1.0.54 spec update: 2017-07-11 17:57:41 -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 November 18, 2016 Vulkan 1.0.34 spec update: 2016-11-18 02:33:28 -08: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 July 13, 2017 Vulkan 1.0.54 spec update: 2017-07-11 17:57:41 -07:00
README.adoc Change log for February 17, 2017 Vulkan 1.0.41 spec update: 2017-02-17 03:57:46 -08:00

README.adoc

Vulkan^(R)^ API Documentation Project
=====================================

This repository contains formal documentation of the Vulkan API. This
includes the main API Specification, the reference (man) pages, the XML API
Registry, and related tools and scripts.

Single-Branch Model
-------------------

As of the 1.0.25 release, we have switched to a new "`single-branch`" model
in which all extensions are included in the source of the 1.0 branch of the
Specification, and can be configured in or out of the build using Makefile
options.

Repository 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
    misc/               Related specifications (GL_KHR_vulkan_glsl)
src/spec/               XML API Registry (vk.xml) and related scripts
src/vulkan/             Vulkan headers, generated from the Registry
```

Building the Specification and Reference Pages
----------------------------------------------

As of the 1.0.40 release, we have moved from the old `asciidoc` toolchain to
a new one based on `asciidoctor`. See `doc/specs/vulkan/README.adoc` for
more information on installing the toolchain and building the Specification.

Generating Headers and Related Files
------------------------------------

The header file (`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
`vulkan.h`, are not checked into the repository. If you change `vk.xml`, you
can regenerate the header by going to `src/spec` and running:

    $ make clobber install

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