Jon Leech e29a51b231 Change log for February 17, 2017 Vulkan 1.0.41 spec update:
* Bump API patch number and header version number to 41 for this update.

Github Issues:

  * Made all uses of `NULL` vs. code:VK_NULL_HANDLE consistent (public issue
    276).
  * Clarify render pass compatibility in different usage scenarios (public
    issues 303 and 304).
  * Add valid usage statements to slink:VkFramebufferCreateInfo requiring
    that the width, height, and number of layers of the framebuffer all be
    nonzero (public issue 432).
  * Allow `offset` and `align` in any GLSL version for the
    `GL_KHR_vulkan_glsl` extension (public issue 435).
  * Specify lifetime of string objects passed to the
    tlink:PFN_vkDebugReportCallbackEXT user callback in the
    +VK_EXT_debug_report+ extension (public issue 446).
  * Fix inter-page links in multi-file reference pages (public issue 454).

Internal Issues:

  * Update valid usage language for slink:VkImageCreateInfo to disallow
    creating images that have ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
    set without other attachment usage bits
    (ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,
    ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, or
    ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) (internal issue 540).
  * Disable `VK_EXT_swapchain_colorspace` extension until internal issues
    640 and 661 are mutually resolved.
  * Allow alternative mipmap level selection when [eq]#lambda == 0.5# during
    texture <<textures-image-level-selection,Image Level(s) Selection>>
    (internal issue 680).

Other Issues:

  * Add a clarification to the style guide that the extension revision
    number is treated as a patch number, so that changes to published
    extensions should only include bug fixes and spec clarifications.
2017-02-17 03:57:46 -08: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%