e958791a01
* First public update for Vulkan 1.1. Github Issues: * Refer to standard sparse image block shape format tables explicitly in the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>> section (public issue 93). * Add the missing definition of the code:LocalInvocationIndex decoration in the <<interfaces-builtin-variables, Built-In Variables>> section (public issue 532). * Clarify dynamic state definition in the introduction to the <<pipelines, Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic State>> subsection (public issue 620). * Clarified deprecation statement in the `VK_AMD_negative_viewport_height` appendix (public issue 674). * Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX (public issue 677). Internal Issues: * Remove description of <<primsrast-points, rasterization point size>> being taken from the tessellation control shader, since there are no circumstances under which you can have TCS without TES (internal issue 522). * Define <<copies-images-format-size-compatibility, _size-compatible_ image formats>> for flink:vkCmdCopyImage, add it to the glossary, and use that definition for slink:VkImageViewCreateInfo (internal issue 771). * Change brief descriptions of enumerant names, and of parameters which are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for consistency, and add a markup style guide rule (internal issue 862). * Clarify how execution dependencies interact with <<synchronization-submission-order, submission order>> at numerous places in the <<renderpass, Render Pass>> and <<synchronization, Synchronization>> chapters (internal issue 1062). * Clarify statement in the <<interfaces-resources-setandbinding, DescriptorSet and Binding Assignment>> section that only interface variables statically used by the entry point used in a pipeline must be present in the descriptor set layout (internal issue 1172). * Flip sparse image diagrams with partially full mip levels vertically, to match graph origins of other image diagrams (internal issue 1176). * Update new SVG diagrams to have consistent style and base font size, increase consistency of primitive topology diagrams, and add a section to the style guide on creating and editing images in a consistent style (internal issue 1177). * Resolve problems with valid usage statement extraction by fixing existing VUID tags for interfaces promoted to version 1.1 and fixing conditional directives around VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184). * Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that were missed previously (internal issue 1185). * Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only work on code:Image operands with their code:Sampled operand set to 1. In other words, these operations are not defined to work with storage images (internal issue 1193). * Recycle extension slot for extension #82 in `vk.xml`. This extension was never published (internal issue 1195). * Add an issue to the `VK_KHR_maintenance1` appendix noting that zero height viewports are allowed when this extension is enabled (internal issue 1202). * Fix slink:VkDescriptorSetLayoutBinding description so that shader stages always use descriptor bindings, not the other way around (internal issue 1206). * Fix field name for slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex (internal issue 1210). Other Issues: * Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix. * Replace a few old refBegin/refEnd tags with open block markup around interfaces, and remove old KHX VUID tags that were breaking the valid usage statement extraction. * Fix error codes accidentally tagged as success codes in `vk.xml` for flink:vkGetSwapchainCounterEXT. * Added valid usage statements for ftext:vkBind*Memory2 input structures stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a couple of places. * Fix swapped descriptions of elink:VkDescriptorType enums ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet). New Extensions: * `VK_ANDROID_external_memory_android_hardware_buffer` |
||
---|---|---|
doc/specs/vulkan | ||
out | ||
src | ||
.gitattributes | ||
.gitignore | ||
COPYING.md | ||
ChangeLog.txt | ||
README.adoc | ||
update_valid_usage_ids.sh |
README.adoc
= 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 ``` 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 src/spec/ XML API Registry (vk.xml) and related scripts src/vulkan/ Vulkan headers, generated from the Registry 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 `doc/specs/vulkan/README.adoc` for more information on installing the toolchain and building the Specification. == Generating Headers and Related Files The header files (`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 header files, are not checked into the repository. If you change `vk.xml`, you can regenerate the header by going to `src/spec` and running: $ make clean install The other generated files are built as required via dependencies in `doc/specs/vulkan/Makefile` .