Jon Leech bbb637d6db Change log for August 19, 2017 Vulkan 1.0.59 spec update:
* Bump API patch number and header version number to 59 for this update.

Github Issues:

  * Fix a few missing Implicit Valid Usage statements to indicate that a
    common parent of two objects is required (public issue 497).
  * Clarify render pass synchronization language for
    slink:VkSubpassDependency and \<\<renderpass,render passes>> (public
    issue 531).
  * Rename ename:VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT to
    ename:VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT for consistency, and
    add an alias for backwards compatibility (public issue 539).

Internal Issues:

  * Add an explanation to the \<\<interfaces-builtin-variables-layer,
    code:Layer>> description explaining that writing to invalid layers
    results may or may not result in primitives being processed and fragment
    shaders being run, and gives undefined results in the framebuffer
    (internal issue 614)
  * Add valid usage statement for slink:VkDescriptorSetLayoutBinding
    requiring that input attachment descriptor bindings must not use
    non-fragment stages (internal issue 933).

Other Issues:

  * Makes description of pname:loadOp and pname:storeOp easier to read in
    the \<\<renderpass-load-store-ops>> section.

New Extensions:

  * `VK_EXT_shader_stencil_export`
2017-08-20 01:06:59 -07:00

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` .
Description
The Vulkan API Specification and related tools
Readme
Languages
JavaScript 59.4%
Python 32.6%
CSS 3.1%
Ruby 2%
Makefile 1.1%
Other 1.7%