Jon Leech 0d5f92c7fa Change log for June 10, 2018 Vulkan 1.1.77 spec update:
* Update release number to 77.

Public Issues:

  * Remove redundant asciidoctor ifdef in slink:VkDeviceCreateInfo valid
    usage statement (public pull request 718).

Internal Issues:

  * Require that the returned slink:VkMemoryRequirements::pname:alignment
    reflect the minimum alignment requirements for the buffer's usages, and
    make dynamic offset alignment valid usage more explicit for
    flink:vkBindBufferMemory and flink:vkCmdBindDescriptorSets (internal
    issue 1170).
  * Explicitly state that objects of type code:OpTypeImage,
    code:OpTypeSampler, and code:OpTypeSampledImage must not be stored to in
    the <<spirvenv-module-validation, Validation Rules within a Module>>
    section (internal issue 1262).
  * Clarify rules about validating descriptor set/binding against storage
    class and descriptor type in the <<spirvenv-module-validation,
    Validation Rules within a Module>> section, and add an anchor for and
    references to the <<interfaces-resources-storage-class-correspondence,
    Shader Resource and Storage Class Correspondence>> table (internal issue
    1266).
  * Use correct spelling of SPIR-V decoration code:NonWritable in several
    places (internal issue 1298).

Other Issues:

  * Update specification links to files in the old
    KhronosGroup/Vulkan-LoaderAndValidationLayers repository with
    corresponding links into the new repositories that replace it.
  * Move validity requirement for slink:VkSamplerCreateInfo into the valid
    usage block instead of the body text, and give it a VUID.
  * Use the full name of the "`style guide`" in a reference in the
    description of slink:vkGetPhysicalDeviceProperties, update the
    <<vulkan-styleguide, link to that document>>, and use the the full name
    in the registry index page.
2018-06-10 19:43:40 -07:00
2018-04-10 01:10:03 +02:00

= 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

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


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


== Generating Headers and Related Files

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