1d67e47f14
* Bump API patch number and header version number to 51 for this update. Github Issues: * Add Valid Usage statement to flink:vkCmdResolveImage to require that source and destination image formats match (public issue 492). * Specify that a code:char* parameter must: be a valid null-terminated string in the <<fundamentals-implicit-validity, implicit valid usage>> section (public issue 494). * Removed unnecessary VU for slink:VkPhysicalDeviceFeatures which is covered by ename:VK_ERROR_FEATURE_NOT_PRESENT already (public issue 496). * Clarify valid usage of pname:pQueueFamilyIndices in slink:VkBufferCreateInfo, slink:VkImageCreateInfo, and slink:VkSwapchainCreateInfoKHR (public issue 501). * Document that dependencies of enabled extensions must also be enabled in the <<extended-functionality-extensions-dependencies, Extension Dependencies>> section (public issue 507). Internal Issues: * Change slink:VkMappedMemoryRange valid usage to allow pname:offset + pname:size == size of the allocation. Also, if ename:VK_WHOLE_SIZE is used, require the end of the mapping to be aligned to a multiple of pname:nonCoherentAtomSize (internal issue 611). * Add issue to `VK_KHR_win32_surface` about reusing window objects from a different graphics API or Vulkan ICD (internal issue 639). * Require locations on user in/out in `GL_KHR_vulkan_glsl` (internal issue 783). * Added version info to the json validation output, and updated the schema to match (internal issue 838). * Restructure enumerated type descriptions separately from the command or structure they are used in, allowing better reference page generation (internal issue 841). * Re-sort extension appendices to be in alphabetical order within each author ID section. * Fix enum naming and clarify behavior for `VK_NVX_device_generated_commands` extension. New Extensions: |
||
---|---|---|
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` .