cd4de492bf
* Bump API patch number and header version number to 58 for this update. Github Issues: * Update the <<interfaces-resources-descset,Descriptor Set Interface>> section to allow multiple variables with the same descriptor set/binding decorations, and require that all variables that are statically used must be consistent with the pipeline layout. Allow ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER to be used with texture and sampler variables (public issues 522, 524). Internal Issues: * Replace networkx package used for extension dependency generation with a homegrown network dependency traverser (internal issue 713). * Specify in the <<interfaces-fragmentoutput, Fragment Output Interface>> section that if a fragment shader writes integers that cannot be represented in the format of the colour attachment, then the result is undefined (internal issue 893). * Separate malformed valid usage statement for slink:VkPipelineRasterizationStateCreateInfo into two (internal issue 918). * Fix cases where the term 'pNext chain' is incorrectly used in reference to functions, rather than their parameters. Replace 'pNext list' with 'pNext chain'. Fixed typo in the example code of +VK_KHR_dedicated_allocation+ (internal issue 944). * Fix typo in elink:VkExternalSemaphoreHandleTypeFlagBitsKHR enum descriptions, replacing etext:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT_KHR with ename:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR, and make the description more consistent with VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR (internal issue 950). Other Issues: * Clarify how pipeline stage masks affect <<synchronization-pipeline-stages-masks, access and synchronization scopes>>. * Clarify that dedicated allocations do not allow aliasing in the flink:vkBindBufferMemory and flink:vkBindImageMemory valid usage statements. * Correct specification of pname:dynamicCount for push_constant token in slink:VkIndirectCommandsLayoutNVX. New Extensions: * `VK_EXT_shader_viewport_index_layer` |
||
---|---|---|
doc/specs | ||
out | ||
src | ||
.gitattributes | ||
.gitignore | ||
COPYING.md | ||
ChangeLog.txt | ||
README.adoc |
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` .