Vulkan-Docs/doc/specs/vulkan/man/apispec.txt

521 lines
16 KiB
Plaintext
Raw Normal View History

// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
2016-02-16 09:53:44 +00:00
Vulkan API Reference Pages
==========================
include::../specversion.txt[]
:doctype: book
:numbered!:
:toc2:
:max-width: 200
:numbered:
:doctype: book
:data-uri:
:asciimath:
:toclevels: 4
include::khronoscopyright.txt[]
Table of Contents
-----------------
* <<protos,Vulkan Commands>>
* <<handles,Object Handles>>
* <<structs,Structures>>
* <<enums,Enumerations>>
* <<flags,Flags>>
* <<funcpointers,Function Pointer Types>>
* <<basetypes,Vulkan Scalar types>>
* <<defines,C Macro Definitions>>
2016-02-16 09:53:44 +00:00
Change log for July 22, 2016 Vulkan 1.0.22 spec update: * Bump API patch number and header version number to 22 for this update. Github Issues: * Translate the subpass self-dependency language into concrete validity statements, and added a validity statement about the restrictions on layout parameters (public issue 267). * Add validity requirement that slink:VkAttachmentDescription::pname:finalLayout and slink:VkAttachmentReference::pname:layout must not be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments layouts are used. Make language consistent with other attachment arrays (public issue 270). * Changed 64-bit definition for dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in +vk.xml+ and the resulting +vulkan.h+ (public issue 282). * Add missing error return code for flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 285) * Fix several cases of stext::VkStructName.memberName markup to stext::VkStructName::pname:memberName, to match other usage in the spec, and describe this markup in the style guide (public issue 286). * Modified validity language generation script to avoid redundant common ancestor language if covered by generic parent language, and used `Both' instead of `Each' when appropriate (public issue 288). Internal Issues: * Add language about behavior of flink:vkAllocateDescriptorSets when allocation fails due to fragmentation, a new error ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation (internal issue 309). * For the features of code:PointSize, code:ClipDistance, and code:CullDistance, the SPIR-V capability is required to be declared on use (read or write) rather than on decoration (internal issue 359). * Have desktop versions of GLSL respect precision qualification (code:mediump and code:lowp) when compiling for Vulkan. These will get translated to SPIR-V's code:RelaxedPrecision decoration as they do with OpenGL ES versions of GLSL (ESSL). The default precision of all types is code:highp when using a desktop version (internal issue 360). * Add validity statement for slink:VkImageCreateInfo specifying that multisampled images must be two-dimensional, optimally tiled, and with a single mipmap level (internal issue 369). * Add validity statements to slink:VkImageViewCreateInfo disallowing creation of images or image views with no supported features. Made some slink:VkImageViewCreateInfo validity statements more precise and consistent. Added a Note to the <<features,features>> chapter about formats with no features (internal issue 371). * Remove +manpages+ from default build targets. Nroff outputs containing imbedded latexmath will not render properly. Fixing this is a lot of work for limited use cases (internal issue 401). Other Commits: * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity statement to be based on attachment indices rather than the number of cleared attachments (Vulkan-LoaderAndValidationLayers/issues/601). * Convert registry documentation from LaTeX to asciidoc source and rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. * Fix lack of Oxford commas in validity language. * Lots of cleanup of generator scripts and Makefiles to move extension list for generator into the script arguments instead of the body of genvk.py, and express better dependencies between XML, scripts, and generated files.
2016-07-23 10:15:48 +00:00
[[protos,Vulkan Commands]]
Change log for June 24, 2016 Vulkan 1.0.18 spec update: * Bump API patch number and header version number to 18 for this update. Github Issues: * Added "queue operation" terminology, and modified spec to actually use this terminology (public issue 155). The act of submitting a piece of work to a queue now generates "operations" for the queue to execute, including operations to wait on/signal semaphores and fences. Synchronization waits on these operations, making execution dependency chains more obvious for semaphores and fences (though additional work is still needed here). These changes include: ** Overview of "queue submission" commands in chapter <<devsandqueues-submission>>. ** Updated descriptions for fence and semaphore waits and signals in the synchronization chapter <<synchronization-semaphores-waiting>>, <<synchronization-semaphores-signaling>> and <<synchronization-fences-waiting>>. ** Clarifications to semaphore and fence operation within queue submission functions. ** New glossary terms. ** Moved device idle and queue wait idle to synchronization chapter in order to describe them in terms of other synchronization primitives. ** Clarifications to semaphore and fence operation allowed removal of the "implicit ordering guarantees" section, as this information is now wholly covered where these primitives are described. *** The "host writes" section of this is still there for now - in its own section. This could probably be merged into other sections later. *** Modified fundamentals chapter on queue ordering to make sense in context of the new changes, and avoid duplication. <<fundamentals-queueoperation>> * Added "aspect" and "component" definitions to the glossary, and made sure these terms are referenced correctly (public issue 163). * Update valid usage for ftext:vkGet*ProcAddr to only include conditions that must be met to get a valid result. In particular, it's okay to call flink:vkGetDeviceProcAddr with any string and will get a code:NULL if that string is not a core Vulkan function or an enabled extension function (addresses but does not fully close public issue 214). * Change the WSI extension dependencies to refer to version 1.0 of the Vulkan API, instead of the pre-1.0-release internal revisions numbers (public issue 238). * Specified that <<interfaces-fragmentoutput,undeclared fragment shader outputs>> result in undefined values input to the blending unit or color attachment (public issue 240). Internal Issues: * Better documented that the registry XML "optional" tag for values only applies when that value is the size of an array (internal issue 335). * Add a stronger definition for the valid usages of VkSpecializationMapEntry.size in the <<pipelines-specialization-constants,Specialization Constants>> section (internal issue 345). * Change code:OpName to code:OpDecorate (along with appropriate syntax) for vertex shader built-ins (internal issue 368). * Add missing ref pages (those which are not currently stubs) to apispec.txt for the single-page version of the ref pages (internal issue 378). Other Commits: * Fix example in the <<descriptorsets,Descriptor Sets>> section to use M, N, and I, describing set, binding, and index, consistently throughout the example code.
2016-06-23 10:18:00 +00:00
Vulkan Commands
---------------
2016-02-16 09:53:44 +00:00
:leveloffset: 2
Change log for June 24, 2016 Vulkan 1.0.18 spec update: * Bump API patch number and header version number to 18 for this update. Github Issues: * Added "queue operation" terminology, and modified spec to actually use this terminology (public issue 155). The act of submitting a piece of work to a queue now generates "operations" for the queue to execute, including operations to wait on/signal semaphores and fences. Synchronization waits on these operations, making execution dependency chains more obvious for semaphores and fences (though additional work is still needed here). These changes include: ** Overview of "queue submission" commands in chapter <<devsandqueues-submission>>. ** Updated descriptions for fence and semaphore waits and signals in the synchronization chapter <<synchronization-semaphores-waiting>>, <<synchronization-semaphores-signaling>> and <<synchronization-fences-waiting>>. ** Clarifications to semaphore and fence operation within queue submission functions. ** New glossary terms. ** Moved device idle and queue wait idle to synchronization chapter in order to describe them in terms of other synchronization primitives. ** Clarifications to semaphore and fence operation allowed removal of the "implicit ordering guarantees" section, as this information is now wholly covered where these primitives are described. *** The "host writes" section of this is still there for now - in its own section. This could probably be merged into other sections later. *** Modified fundamentals chapter on queue ordering to make sense in context of the new changes, and avoid duplication. <<fundamentals-queueoperation>> * Added "aspect" and "component" definitions to the glossary, and made sure these terms are referenced correctly (public issue 163). * Update valid usage for ftext:vkGet*ProcAddr to only include conditions that must be met to get a valid result. In particular, it's okay to call flink:vkGetDeviceProcAddr with any string and will get a code:NULL if that string is not a core Vulkan function or an enabled extension function (addresses but does not fully close public issue 214). * Change the WSI extension dependencies to refer to version 1.0 of the Vulkan API, instead of the pre-1.0-release internal revisions numbers (public issue 238). * Specified that <<interfaces-fragmentoutput,undeclared fragment shader outputs>> result in undefined values input to the blending unit or color attachment (public issue 240). Internal Issues: * Better documented that the registry XML "optional" tag for values only applies when that value is the size of an array (internal issue 335). * Add a stronger definition for the valid usages of VkSpecializationMapEntry.size in the <<pipelines-specialization-constants,Specialization Constants>> section (internal issue 345). * Change code:OpName to code:OpDecorate (along with appropriate syntax) for vertex shader built-ins (internal issue 368). * Add missing ref pages (those which are not currently stubs) to apispec.txt for the single-page version of the ref pages (internal issue 378). Other Commits: * Fix example in the <<descriptorsets,Descriptor Sets>> section to use M, N, and I, describing set, binding, and index, consistently throughout the example code.
2016-06-23 10:18:00 +00:00
include::vkAllocateCommandBuffers.txt[]
include::vkAllocateDescriptorSets.txt[]
include::vkAllocateMemory.txt[]
2016-02-16 09:53:44 +00:00
include::vkBeginCommandBuffer.txt[]
include::vkBindBufferMemory.txt[]
include::vkBindImageMemory.txt[]
include::vkCmdBeginQuery.txt[]
include::vkCmdBeginRenderPass.txt[]
include::vkCmdBindDescriptorSets.txt[]
include::vkCmdBindIndexBuffer.txt[]
include::vkCmdBindPipeline.txt[]
include::vkCmdBindVertexBuffers.txt[]
include::vkCmdBlitImage.txt[]
include::vkCmdClearAttachments.txt[]
include::vkCmdClearColorImage.txt[]
include::vkCmdClearDepthStencilImage.txt[]
include::vkCmdCopyBuffer.txt[]
include::vkCmdCopyBufferToImage.txt[]
include::vkCmdCopyImage.txt[]
include::vkCmdCopyImageToBuffer.txt[]
include::vkCmdCopyQueryPoolResults.txt[]
include::vkCmdDispatch.txt[]
include::vkCmdDispatchIndirect.txt[]
include::vkCmdDraw.txt[]
include::vkCmdDrawIndexed.txt[]
include::vkCmdDrawIndexedIndirect.txt[]
include::vkCmdDrawIndirect.txt[]
include::vkCmdEndQuery.txt[]
include::vkCmdEndRenderPass.txt[]
include::vkCmdExecuteCommands.txt[]
include::vkCmdFillBuffer.txt[]
include::vkCmdNextSubpass.txt[]
include::vkCmdPipelineBarrier.txt[]
include::vkCmdPushConstants.txt[]
include::vkCmdResetEvent.txt[]
include::vkCmdResetQueryPool.txt[]
include::vkCmdResolveImage.txt[]
include::vkCmdSetBlendConstants.txt[]
include::vkCmdSetDepthBias.txt[]
include::vkCmdSetDepthBounds.txt[]
include::vkCmdSetEvent.txt[]
include::vkCmdSetLineWidth.txt[]
include::vkCmdSetScissor.txt[]
include::vkCmdSetStencilCompareMask.txt[]
include::vkCmdSetStencilReference.txt[]
include::vkCmdSetStencilWriteMask.txt[]
include::vkCmdSetViewport.txt[]
include::vkCmdUpdateBuffer.txt[]
include::vkCmdWaitEvents.txt[]
include::vkCmdWriteTimestamp.txt[]
include::vkCreateBuffer.txt[]
include::vkCreateBufferView.txt[]
include::vkCreateCommandPool.txt[]
include::vkCreateComputePipelines.txt[]
include::vkCreateDescriptorPool.txt[]
include::vkCreateDescriptorSetLayout.txt[]
include::vkCreateDevice.txt[]
include::vkCreateEvent.txt[]
include::vkCreateFence.txt[]
include::vkCreateFramebuffer.txt[]
include::vkCreateGraphicsPipelines.txt[]
include::vkCreateImage.txt[]
include::vkCreateImageView.txt[]
include::vkCreateInstance.txt[]
include::vkCreatePipelineCache.txt[]
include::vkCreatePipelineLayout.txt[]
include::vkCreateQueryPool.txt[]
include::vkCreateRenderPass.txt[]
include::vkCreateSampler.txt[]
include::vkCreateSemaphore.txt[]
include::vkCreateShaderModule.txt[]
// not including vkCreateWaylandSurfaceKHR
2016-02-16 09:53:44 +00:00
include::vkDestroyBuffer.txt[]
include::vkDestroyBufferView.txt[]
include::vkDestroyCommandPool.txt[]
include::vkDestroyDescriptorPool.txt[]
include::vkDestroyDescriptorSetLayout.txt[]
include::vkDestroyDevice.txt[]
include::vkDestroyEvent.txt[]
include::vkDestroyFence.txt[]
include::vkDestroyFramebuffer.txt[]
include::vkDestroyImage.txt[]
include::vkDestroyImageView.txt[]
include::vkDestroyInstance.txt[]
include::vkDestroyPipeline.txt[]
include::vkDestroyPipelineCache.txt[]
include::vkDestroyPipelineLayout.txt[]
include::vkDestroyQueryPool.txt[]
include::vkDestroyRenderPass.txt[]
include::vkDestroySampler.txt[]
include::vkDestroySemaphore.txt[]
include::vkDestroyShaderModule.txt[]
include::vkDeviceWaitIdle.txt[]
include::vkEndCommandBuffer.txt[]
include::vkEnumerateDeviceExtensionProperties.txt[]
include::vkEnumerateDeviceLayerProperties.txt[]
include::vkEnumerateInstanceExtensionProperties.txt[]
include::vkEnumerateInstanceLayerProperties.txt[]
include::vkEnumeratePhysicalDevices.txt[]
include::vkFlushMappedMemoryRanges.txt[]
include::vkFreeCommandBuffers.txt[]
include::vkFreeDescriptorSets.txt[]
include::vkFreeMemory.txt[]
include::vkGetBufferMemoryRequirements.txt[]
include::vkGetDeviceMemoryCommitment.txt[]
include::vkGetDeviceProcAddr.txt[]
include::vkGetDeviceQueue.txt[]
include::vkGetEventStatus.txt[]
include::vkGetFenceStatus.txt[]
include::vkGetImageMemoryRequirements.txt[]
include::vkGetImageSparseMemoryRequirements.txt[]
include::vkGetImageSubresourceLayout.txt[]
include::vkGetInstanceProcAddr.txt[]
include::vkGetPhysicalDeviceFeatures.txt[]
include::vkGetPhysicalDeviceFormatProperties.txt[]
include::vkGetPhysicalDeviceImageFormatProperties.txt[]
include::vkGetPhysicalDeviceMemoryProperties.txt[]
include::vkGetPhysicalDeviceProperties.txt[]
include::vkGetPhysicalDeviceQueueFamilyProperties.txt[]
include::vkGetPhysicalDeviceSparseImageFormatProperties.txt[]
// not including vkGetPhysicalDeviceWaylandPresentationSupportKHR
2016-02-16 09:53:44 +00:00
include::vkGetPipelineCacheData.txt[]
include::vkGetQueryPoolResults.txt[]
include::vkGetRenderAreaGranularity.txt[]
include::vkInvalidateMappedMemoryRanges.txt[]
include::vkMapMemory.txt[]
include::vkMergePipelineCaches.txt[]
include::vkQueueBindSparse.txt[]
include::vkQueueSubmit.txt[]
include::vkQueueWaitIdle.txt[]
include::vkResetCommandBuffer.txt[]
include::vkResetCommandPool.txt[]
include::vkResetDescriptorPool.txt[]
include::vkResetEvent.txt[]
include::vkResetFences.txt[]
include::vkSetEvent.txt[]
include::vkUnmapMemory.txt[]
include::vkUpdateDescriptorSets.txt[]
include::vkWaitForFences.txt[]
:leveloffset: 0
Change log for July 22, 2016 Vulkan 1.0.22 spec update: * Bump API patch number and header version number to 22 for this update. Github Issues: * Translate the subpass self-dependency language into concrete validity statements, and added a validity statement about the restrictions on layout parameters (public issue 267). * Add validity requirement that slink:VkAttachmentDescription::pname:finalLayout and slink:VkAttachmentReference::pname:layout must not be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments layouts are used. Make language consistent with other attachment arrays (public issue 270). * Changed 64-bit definition for dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in +vk.xml+ and the resulting +vulkan.h+ (public issue 282). * Add missing error return code for flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 285) * Fix several cases of stext::VkStructName.memberName markup to stext::VkStructName::pname:memberName, to match other usage in the spec, and describe this markup in the style guide (public issue 286). * Modified validity language generation script to avoid redundant common ancestor language if covered by generic parent language, and used `Both' instead of `Each' when appropriate (public issue 288). Internal Issues: * Add language about behavior of flink:vkAllocateDescriptorSets when allocation fails due to fragmentation, a new error ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation (internal issue 309). * For the features of code:PointSize, code:ClipDistance, and code:CullDistance, the SPIR-V capability is required to be declared on use (read or write) rather than on decoration (internal issue 359). * Have desktop versions of GLSL respect precision qualification (code:mediump and code:lowp) when compiling for Vulkan. These will get translated to SPIR-V's code:RelaxedPrecision decoration as they do with OpenGL ES versions of GLSL (ESSL). The default precision of all types is code:highp when using a desktop version (internal issue 360). * Add validity statement for slink:VkImageCreateInfo specifying that multisampled images must be two-dimensional, optimally tiled, and with a single mipmap level (internal issue 369). * Add validity statements to slink:VkImageViewCreateInfo disallowing creation of images or image views with no supported features. Made some slink:VkImageViewCreateInfo validity statements more precise and consistent. Added a Note to the <<features,features>> chapter about formats with no features (internal issue 371). * Remove +manpages+ from default build targets. Nroff outputs containing imbedded latexmath will not render properly. Fixing this is a lot of work for limited use cases (internal issue 401). Other Commits: * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity statement to be based on attachment indices rather than the number of cleared attachments (Vulkan-LoaderAndValidationLayers/issues/601). * Convert registry documentation from LaTeX to asciidoc source and rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. * Fix lack of Oxford commas in validity language. * Lots of cleanup of generator scripts and Makefiles to move extension list for generator into the script arguments instead of the body of genvk.py, and express better dependencies between XML, scripts, and generated files.
2016-07-23 10:15:48 +00:00
[[handles,Object Handles]]
Object Handles
--------------
:leveloffset: 2
include::VkBuffer.txt[]
include::VkBufferView.txt[]
include::VkCommandBuffer.txt[]
include::VkCommandPool.txt[]
include::VkDescriptorPool.txt[]
include::VkDescriptorSet.txt[]
include::VkDescriptorSetLayout.txt[]
include::VkDevice.txt[]
include::VkDeviceMemory.txt[]
include::VkEvent.txt[]
include::VkFence.txt[]
include::VkFramebuffer.txt[]
include::VkImage.txt[]
include::VkImageView.txt[]
include::VkInstance.txt[]
include::VkPhysicalDevice.txt[]
include::VkPipeline.txt[]
include::VkPipelineCache.txt[]
include::VkPipelineLayout.txt[]
include::VkQueryPool.txt[]
include::VkQueue.txt[]
include::VkRenderPass.txt[]
include::VkSampler.txt[]
include::VkSemaphore.txt[]
include::VkShaderModule.txt[]
// not including VkSurfaceKHR
:leveloffset: 0
Change log for July 22, 2016 Vulkan 1.0.22 spec update: * Bump API patch number and header version number to 22 for this update. Github Issues: * Translate the subpass self-dependency language into concrete validity statements, and added a validity statement about the restrictions on layout parameters (public issue 267). * Add validity requirement that slink:VkAttachmentDescription::pname:finalLayout and slink:VkAttachmentReference::pname:layout must not be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments layouts are used. Make language consistent with other attachment arrays (public issue 270). * Changed 64-bit definition for dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in +vk.xml+ and the resulting +vulkan.h+ (public issue 282). * Add missing error return code for flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 285) * Fix several cases of stext::VkStructName.memberName markup to stext::VkStructName::pname:memberName, to match other usage in the spec, and describe this markup in the style guide (public issue 286). * Modified validity language generation script to avoid redundant common ancestor language if covered by generic parent language, and used `Both' instead of `Each' when appropriate (public issue 288). Internal Issues: * Add language about behavior of flink:vkAllocateDescriptorSets when allocation fails due to fragmentation, a new error ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation (internal issue 309). * For the features of code:PointSize, code:ClipDistance, and code:CullDistance, the SPIR-V capability is required to be declared on use (read or write) rather than on decoration (internal issue 359). * Have desktop versions of GLSL respect precision qualification (code:mediump and code:lowp) when compiling for Vulkan. These will get translated to SPIR-V's code:RelaxedPrecision decoration as they do with OpenGL ES versions of GLSL (ESSL). The default precision of all types is code:highp when using a desktop version (internal issue 360). * Add validity statement for slink:VkImageCreateInfo specifying that multisampled images must be two-dimensional, optimally tiled, and with a single mipmap level (internal issue 369). * Add validity statements to slink:VkImageViewCreateInfo disallowing creation of images or image views with no supported features. Made some slink:VkImageViewCreateInfo validity statements more precise and consistent. Added a Note to the <<features,features>> chapter about formats with no features (internal issue 371). * Remove +manpages+ from default build targets. Nroff outputs containing imbedded latexmath will not render properly. Fixing this is a lot of work for limited use cases (internal issue 401). Other Commits: * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity statement to be based on attachment indices rather than the number of cleared attachments (Vulkan-LoaderAndValidationLayers/issues/601). * Convert registry documentation from LaTeX to asciidoc source and rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. * Fix lack of Oxford commas in validity language. * Lots of cleanup of generator scripts and Makefiles to move extension list for generator into the script arguments instead of the body of genvk.py, and express better dependencies between XML, scripts, and generated files.
2016-07-23 10:15:48 +00:00
[[structs,Structures]]
Structures
----------
:leveloffset: 2
include::VkAllocationCallbacks.txt[]
include::VkApplicationInfo.txt[]
include::VkAttachmentDescription.txt[]
include::VkAttachmentReference.txt[]
include::VkBindSparseInfo.txt[]
include::VkBufferCopy.txt[]
include::VkBufferCreateInfo.txt[]
include::VkBufferImageCopy.txt[]
include::VkBufferMemoryBarrier.txt[]
include::VkBufferViewCreateInfo.txt[]
include::VkClearAttachment.txt[]
include::VkClearColorValue.txt[]
include::VkClearDepthStencilValue.txt[]
include::VkClearRect.txt[]
include::VkClearValue.txt[]
include::VkCommandBufferAllocateInfo.txt[]
include::VkCommandBufferBeginInfo.txt[]
include::VkCommandBufferInheritanceInfo.txt[]
include::VkCommandPoolCreateInfo.txt[]
include::VkComponentMapping.txt[]
include::VkComputePipelineCreateInfo.txt[]
include::VkCopyDescriptorSet.txt[]
include::VkDescriptorBufferInfo.txt[]
include::VkDescriptorImageInfo.txt[]
include::VkDescriptorPoolCreateInfo.txt[]
include::VkDescriptorPoolSize.txt[]
include::VkDescriptorSetAllocateInfo.txt[]
include::VkDescriptorSetLayoutBinding.txt[]
include::VkDescriptorSetLayoutCreateInfo.txt[]
include::VkDeviceCreateInfo.txt[]
include::VkDeviceQueueCreateInfo.txt[]
include::VkDispatchIndirectCommand.txt[]
include::VkDrawIndexedIndirectCommand.txt[]
include::VkDrawIndirectCommand.txt[]
include::VkEventCreateInfo.txt[]
include::VkExtensionProperties.txt[]
include::VkExtent2D.txt[]
include::VkExtent3D.txt[]
include::VkFenceCreateInfo.txt[]
include::VkFormatProperties.txt[]
include::VkFramebufferCreateInfo.txt[]
include::VkGraphicsPipelineCreateInfo.txt[]
include::VkImageBlit.txt[]
include::VkImageCopy.txt[]
include::VkImageCreateInfo.txt[]
include::VkImageFormatProperties.txt[]
include::VkImageMemoryBarrier.txt[]
include::VkImageResolve.txt[]
include::VkImageSubresource.txt[]
include::VkImageSubresourceLayers.txt[]
include::VkImageSubresourceRange.txt[]
include::VkImageViewCreateInfo.txt[]
include::VkInstanceCreateInfo.txt[]
include::VkLayerProperties.txt[]
include::VkMappedMemoryRange.txt[]
include::VkMemoryAllocateInfo.txt[]
include::VkMemoryBarrier.txt[]
include::VkMemoryHeap.txt[]
include::VkMemoryRequirements.txt[]
include::VkMemoryType.txt[]
include::VkOffset2D.txt[]
include::VkOffset3D.txt[]
include::VkPhysicalDeviceFeatures.txt[]
include::VkPhysicalDeviceLimits.txt[]
include::VkPhysicalDeviceMemoryProperties.txt[]
include::VkPhysicalDeviceProperties.txt[]
include::VkPhysicalDeviceSparseProperties.txt[]
include::VkPipelineCacheCreateInfo.txt[]
include::VkPipelineColorBlendAttachmentState.txt[]
include::VkPipelineColorBlendStateCreateInfo.txt[]
include::VkPipelineDepthStencilStateCreateInfo.txt[]
include::VkPipelineDynamicStateCreateInfo.txt[]
include::VkPipelineInputAssemblyStateCreateInfo.txt[]
include::VkPipelineLayoutCreateInfo.txt[]
include::VkPipelineMultisampleStateCreateInfo.txt[]
include::VkPipelineRasterizationStateCreateInfo.txt[]
include::VkPipelineShaderStageCreateInfo.txt[]
include::VkPipelineTessellationStateCreateInfo.txt[]
include::VkPipelineVertexInputStateCreateInfo.txt[]
include::VkPipelineViewportStateCreateInfo.txt[]
include::VkPushConstantRange.txt[]
include::VkQueryPoolCreateInfo.txt[]
include::VkQueueFamilyProperties.txt[]
include::VkRect2D.txt[]
include::VkRenderPassBeginInfo.txt[]
include::VkRenderPassCreateInfo.txt[]
include::VkSamplerCreateInfo.txt[]
include::VkSemaphoreCreateInfo.txt[]
include::VkShaderModuleCreateInfo.txt[]
include::VkSparseBufferMemoryBindInfo.txt[]
include::VkSparseImageFormatProperties.txt[]
include::VkSparseImageMemoryBind.txt[]
include::VkSparseImageMemoryBindInfo.txt[]
include::VkSparseImageMemoryRequirements.txt[]
include::VkSparseImageOpaqueMemoryBindInfo.txt[]
include::VkSparseMemoryBind.txt[]
include::VkSpecializationInfo.txt[]
include::VkSpecializationMapEntry.txt[]
include::VkStencilOpState.txt[]
include::VkSubmitInfo.txt[]
include::VkSubpassDependency.txt[]
include::VkSubpassDescription.txt[]
include::VkSubresourceLayout.txt[]
include::VkVertexInputAttributeDescription.txt[]
include::VkVertexInputBindingDescription.txt[]
include::VkViewport.txt[]
// not including VkWaylandSurfaceCreateInfoKHR
include::VkWriteDescriptorSet.txt[]
:leveloffset: 0
Change log for July 22, 2016 Vulkan 1.0.22 spec update: * Bump API patch number and header version number to 22 for this update. Github Issues: * Translate the subpass self-dependency language into concrete validity statements, and added a validity statement about the restrictions on layout parameters (public issue 267). * Add validity requirement that slink:VkAttachmentDescription::pname:finalLayout and slink:VkAttachmentReference::pname:layout must not be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments layouts are used. Make language consistent with other attachment arrays (public issue 270). * Changed 64-bit definition for dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in +vk.xml+ and the resulting +vulkan.h+ (public issue 282). * Add missing error return code for flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 285) * Fix several cases of stext::VkStructName.memberName markup to stext::VkStructName::pname:memberName, to match other usage in the spec, and describe this markup in the style guide (public issue 286). * Modified validity language generation script to avoid redundant common ancestor language if covered by generic parent language, and used `Both' instead of `Each' when appropriate (public issue 288). Internal Issues: * Add language about behavior of flink:vkAllocateDescriptorSets when allocation fails due to fragmentation, a new error ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation (internal issue 309). * For the features of code:PointSize, code:ClipDistance, and code:CullDistance, the SPIR-V capability is required to be declared on use (read or write) rather than on decoration (internal issue 359). * Have desktop versions of GLSL respect precision qualification (code:mediump and code:lowp) when compiling for Vulkan. These will get translated to SPIR-V's code:RelaxedPrecision decoration as they do with OpenGL ES versions of GLSL (ESSL). The default precision of all types is code:highp when using a desktop version (internal issue 360). * Add validity statement for slink:VkImageCreateInfo specifying that multisampled images must be two-dimensional, optimally tiled, and with a single mipmap level (internal issue 369). * Add validity statements to slink:VkImageViewCreateInfo disallowing creation of images or image views with no supported features. Made some slink:VkImageViewCreateInfo validity statements more precise and consistent. Added a Note to the <<features,features>> chapter about formats with no features (internal issue 371). * Remove +manpages+ from default build targets. Nroff outputs containing imbedded latexmath will not render properly. Fixing this is a lot of work for limited use cases (internal issue 401). Other Commits: * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity statement to be based on attachment indices rather than the number of cleared attachments (Vulkan-LoaderAndValidationLayers/issues/601). * Convert registry documentation from LaTeX to asciidoc source and rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. * Fix lack of Oxford commas in validity language. * Lots of cleanup of generator scripts and Makefiles to move extension list for generator into the script arguments instead of the body of genvk.py, and express better dependencies between XML, scripts, and generated files.
2016-07-23 10:15:48 +00:00
[[enums,Enumerations]]
2016-02-16 09:53:44 +00:00
Enumerations
------------
:leveloffset: 2
include::VkAccessFlagBits.txt[]
include::VkAttachmentDescriptionFlagBits.txt[]
include::VkAttachmentLoadOp.txt[]
include::VkAttachmentStoreOp.txt[]
include::VkBlendFactor.txt[]
include::VkBlendOp.txt[]
include::VkBorderColor.txt[]
include::VkBufferCreateFlagBits.txt[]
include::VkBufferUsageFlagBits.txt[]
include::VkColorComponentFlagBits.txt[]
include::VkCommandBufferLevel.txt[]
include::VkCommandBufferResetFlagBits.txt[]
include::VkCommandBufferUsageFlagBits.txt[]
include::VkCommandPoolCreateFlagBits.txt[]
include::VkCommandPoolResetFlagBits.txt[]
include::VkCompareOp.txt[]
include::VkComponentSwizzle.txt[]
include::VkCullModeFlagBits.txt[]
include::VkDependencyFlagBits.txt[]
include::VkDescriptorPoolCreateFlagBits.txt[]
2016-02-16 09:53:44 +00:00
include::VkDescriptorType.txt[]
include::VkDynamicState.txt[]
include::VkFenceCreateFlagBits.txt[]
include::VkFilter.txt[]
include::VkFormat.txt[]
include::VkFormatFeatureFlagBits.txt[]
include::VkFrontFace.txt[]
include::VkImageAspectFlagBits.txt[]
include::VkImageCreateFlagBits.txt[]
2016-02-16 09:53:44 +00:00
include::VkImageLayout.txt[]
include::VkImageTiling.txt[]
2016-02-16 09:53:44 +00:00
include::VkImageType.txt[]
include::VkImageUsageFlagBits.txt[]
2016-02-16 09:53:44 +00:00
include::VkImageViewType.txt[]
include::VkIndexType.txt[]
include::VkInternalAllocationType.txt[]
include::VkLogicOp.txt[]
include::VkMemoryHeapFlagBits.txt[]
include::VkMemoryPropertyFlagBits.txt[]
include::VkPhysicalDeviceType.txt[]
include::VkPipelineBindPoint.txt[]
include::VkPipelineCacheHeaderVersion.txt[]
include::VkPipelineCreateFlagBits.txt[]
include::VkPipelineStageFlagBits.txt[]
include::VkPolygonMode.txt[]
include::VkPrimitiveTopology.txt[]
include::VkQueryControlFlagBits.txt[]
include::VkQueryPipelineStatisticFlagBits.txt[]
include::VkQueryResultFlagBits.txt[]
include::VkQueryType.txt[]
include::VkQueueFlagBits.txt[]
include::VkResult.txt[]
include::VkSampleCountFlagBits.txt[]
include::VkSamplerAddressMode.txt[]
include::VkSamplerMipmapMode.txt[]
include::VkShaderStageFlagBits.txt[]
2016-02-16 09:53:44 +00:00
include::VkSharingMode.txt[]
include::VkSparseImageFormatFlagBits.txt[]
include::VkSparseMemoryBindFlagBits.txt[]
include::VkStencilFaceFlagBits.txt[]
include::VkStencilOp.txt[]
include::VkStructureType.txt[]
include::VkSubpassContents.txt[]
include::VkSystemAllocationScope.txt[]
include::VkVertexInputRate.txt[]
2016-02-16 09:53:44 +00:00
:leveloffset: 0
Change log for July 22, 2016 Vulkan 1.0.22 spec update: * Bump API patch number and header version number to 22 for this update. Github Issues: * Translate the subpass self-dependency language into concrete validity statements, and added a validity statement about the restrictions on layout parameters (public issue 267). * Add validity requirement that slink:VkAttachmentDescription::pname:finalLayout and slink:VkAttachmentReference::pname:layout must not be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments layouts are used. Make language consistent with other attachment arrays (public issue 270). * Changed 64-bit definition for dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in +vk.xml+ and the resulting +vulkan.h+ (public issue 282). * Add missing error return code for flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 285) * Fix several cases of stext::VkStructName.memberName markup to stext::VkStructName::pname:memberName, to match other usage in the spec, and describe this markup in the style guide (public issue 286). * Modified validity language generation script to avoid redundant common ancestor language if covered by generic parent language, and used `Both' instead of `Each' when appropriate (public issue 288). Internal Issues: * Add language about behavior of flink:vkAllocateDescriptorSets when allocation fails due to fragmentation, a new error ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation (internal issue 309). * For the features of code:PointSize, code:ClipDistance, and code:CullDistance, the SPIR-V capability is required to be declared on use (read or write) rather than on decoration (internal issue 359). * Have desktop versions of GLSL respect precision qualification (code:mediump and code:lowp) when compiling for Vulkan. These will get translated to SPIR-V's code:RelaxedPrecision decoration as they do with OpenGL ES versions of GLSL (ESSL). The default precision of all types is code:highp when using a desktop version (internal issue 360). * Add validity statement for slink:VkImageCreateInfo specifying that multisampled images must be two-dimensional, optimally tiled, and with a single mipmap level (internal issue 369). * Add validity statements to slink:VkImageViewCreateInfo disallowing creation of images or image views with no supported features. Made some slink:VkImageViewCreateInfo validity statements more precise and consistent. Added a Note to the <<features,features>> chapter about formats with no features (internal issue 371). * Remove +manpages+ from default build targets. Nroff outputs containing imbedded latexmath will not render properly. Fixing this is a lot of work for limited use cases (internal issue 401). Other Commits: * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity statement to be based on attachment indices rather than the number of cleared attachments (Vulkan-LoaderAndValidationLayers/issues/601). * Convert registry documentation from LaTeX to asciidoc source and rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. * Fix lack of Oxford commas in validity language. * Lots of cleanup of generator scripts and Makefiles to move extension list for generator into the script arguments instead of the body of genvk.py, and express better dependencies between XML, scripts, and generated files.
2016-07-23 10:15:48 +00:00
[[flags,Flags]]
2016-02-16 09:53:44 +00:00
Flags
-----
:leveloffset: 2
include::VkAccessFlags.txt[]
include::VkAttachmentDescriptionFlags.txt[]
2016-02-16 09:53:44 +00:00
include::VkBufferCreateFlags.txt[]
include::VkBufferUsageFlags.txt[]
include::VkBufferViewCreateFlags.txt[]
include::VkColorComponentFlags.txt[]
include::VkCommandBufferResetFlags.txt[]
include::VkCommandBufferUsageFlags.txt[]
include::VkCommandPoolCreateFlags.txt[]
include::VkCommandPoolResetFlags.txt[]
include::VkCullModeFlags.txt[]
include::VkDependencyFlags.txt[]
include::VkDescriptorPoolCreateFlags.txt[]
include::VkDescriptorPoolResetFlags.txt[]
include::VkDescriptorSetLayoutCreateFlags.txt[]
include::VkDeviceCreateFlags.txt[]
include::VkDeviceQueueCreateFlags.txt[]
include::VkEventCreateFlags.txt[]
include::VkFenceCreateFlags.txt[]
2016-02-16 09:53:44 +00:00
include::VkFormatFeatureFlags.txt[]
include::VkFramebufferCreateFlags.txt[]
include::VkImageAspectFlags.txt[]
2016-02-16 09:53:44 +00:00
include::VkImageCreateFlags.txt[]
include::VkImageUsageFlags.txt[]
include::VkImageViewCreateFlags.txt[]
include::VkInstanceCreateFlags.txt[]
include::VkMemoryHeapFlags.txt[]
include::VkMemoryMapFlags.txt[]
2016-02-16 09:53:44 +00:00
include::VkMemoryPropertyFlags.txt[]
include::VkPipelineCacheCreateFlags.txt[]
include::VkPipelineColorBlendStateCreateFlags.txt[]
include::VkPipelineCreateFlags.txt[]
include::VkPipelineDepthStencilStateCreateFlags.txt[]
include::VkPipelineDynamicStateCreateFlags.txt[]
include::VkPipelineInputAssemblyStateCreateFlags.txt[]
include::VkPipelineLayoutCreateFlags.txt[]
include::VkPipelineMultisampleStateCreateFlags.txt[]
include::VkPipelineRasterizationStateCreateFlags.txt[]
include::VkPipelineShaderStageCreateFlags.txt[]
2016-02-16 09:53:44 +00:00
include::VkPipelineStageFlags.txt[]
include::VkPipelineTessellationStateCreateFlags.txt[]
include::VkPipelineVertexInputStateCreateFlags.txt[]
include::VkPipelineViewportStateCreateFlags.txt[]
2016-02-16 09:53:44 +00:00
include::VkQueryControlFlags.txt[]
include::VkQueryPipelineStatisticFlags.txt[]
include::VkQueryPoolCreateFlags.txt[]
2016-02-16 09:53:44 +00:00
include::VkQueryResultFlags.txt[]
include::VkQueueFlags.txt[]
include::VkRenderPassCreateFlags.txt[]
include::VkSampleCountFlags.txt[]
include::VkSamplerCreateFlags.txt[]
include::VkSemaphoreCreateFlags.txt[]
include::VkShaderModuleCreateFlags.txt[]
include::VkShaderStageFlags.txt[]
include::VkSparseImageFormatFlags.txt[]
include::VkSparseMemoryBindFlags.txt[]
include::VkStencilFaceFlags.txt[]
include::VkSubpassDescriptionFlags.txt[]
// not including VkWaylandSurfaceCreateFlagsKHR
2016-02-16 09:53:44 +00:00
:leveloffset: 0
Change log for July 22, 2016 Vulkan 1.0.22 spec update: * Bump API patch number and header version number to 22 for this update. Github Issues: * Translate the subpass self-dependency language into concrete validity statements, and added a validity statement about the restrictions on layout parameters (public issue 267). * Add validity requirement that slink:VkAttachmentDescription::pname:finalLayout and slink:VkAttachmentReference::pname:layout must not be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments layouts are used. Make language consistent with other attachment arrays (public issue 270). * Changed 64-bit definition for dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in +vk.xml+ and the resulting +vulkan.h+ (public issue 282). * Add missing error return code for flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 285) * Fix several cases of stext::VkStructName.memberName markup to stext::VkStructName::pname:memberName, to match other usage in the spec, and describe this markup in the style guide (public issue 286). * Modified validity language generation script to avoid redundant common ancestor language if covered by generic parent language, and used `Both' instead of `Each' when appropriate (public issue 288). Internal Issues: * Add language about behavior of flink:vkAllocateDescriptorSets when allocation fails due to fragmentation, a new error ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation (internal issue 309). * For the features of code:PointSize, code:ClipDistance, and code:CullDistance, the SPIR-V capability is required to be declared on use (read or write) rather than on decoration (internal issue 359). * Have desktop versions of GLSL respect precision qualification (code:mediump and code:lowp) when compiling for Vulkan. These will get translated to SPIR-V's code:RelaxedPrecision decoration as they do with OpenGL ES versions of GLSL (ESSL). The default precision of all types is code:highp when using a desktop version (internal issue 360). * Add validity statement for slink:VkImageCreateInfo specifying that multisampled images must be two-dimensional, optimally tiled, and with a single mipmap level (internal issue 369). * Add validity statements to slink:VkImageViewCreateInfo disallowing creation of images or image views with no supported features. Made some slink:VkImageViewCreateInfo validity statements more precise and consistent. Added a Note to the <<features,features>> chapter about formats with no features (internal issue 371). * Remove +manpages+ from default build targets. Nroff outputs containing imbedded latexmath will not render properly. Fixing this is a lot of work for limited use cases (internal issue 401). Other Commits: * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity statement to be based on attachment indices rather than the number of cleared attachments (Vulkan-LoaderAndValidationLayers/issues/601). * Convert registry documentation from LaTeX to asciidoc source and rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. * Fix lack of Oxford commas in validity language. * Lots of cleanup of generator scripts and Makefiles to move extension list for generator into the script arguments instead of the body of genvk.py, and express better dependencies between XML, scripts, and generated files.
2016-07-23 10:15:48 +00:00
[[funcpointers,Function Pointer Types]]
Function Pointer Types
----------------------
2016-02-16 09:53:44 +00:00
:leveloffset: 2
include::PFN_vkAllocationFunction.txt[]
include::PFN_vkFreeFunction.txt[]
include::PFN_vkInternalAllocationNotification.txt[]
include::PFN_vkInternalFreeNotification.txt[]
include::PFN_vkReallocationFunction.txt[]
include::PFN_vkVoidFunction.txt[]
:leveloffset: 0
Change log for July 22, 2016 Vulkan 1.0.22 spec update: * Bump API patch number and header version number to 22 for this update. Github Issues: * Translate the subpass self-dependency language into concrete validity statements, and added a validity statement about the restrictions on layout parameters (public issue 267). * Add validity requirement that slink:VkAttachmentDescription::pname:finalLayout and slink:VkAttachmentReference::pname:layout must not be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments layouts are used. Make language consistent with other attachment arrays (public issue 270). * Changed 64-bit definition for dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in +vk.xml+ and the resulting +vulkan.h+ (public issue 282). * Add missing error return code for flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 285) * Fix several cases of stext::VkStructName.memberName markup to stext::VkStructName::pname:memberName, to match other usage in the spec, and describe this markup in the style guide (public issue 286). * Modified validity language generation script to avoid redundant common ancestor language if covered by generic parent language, and used `Both' instead of `Each' when appropriate (public issue 288). Internal Issues: * Add language about behavior of flink:vkAllocateDescriptorSets when allocation fails due to fragmentation, a new error ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation (internal issue 309). * For the features of code:PointSize, code:ClipDistance, and code:CullDistance, the SPIR-V capability is required to be declared on use (read or write) rather than on decoration (internal issue 359). * Have desktop versions of GLSL respect precision qualification (code:mediump and code:lowp) when compiling for Vulkan. These will get translated to SPIR-V's code:RelaxedPrecision decoration as they do with OpenGL ES versions of GLSL (ESSL). The default precision of all types is code:highp when using a desktop version (internal issue 360). * Add validity statement for slink:VkImageCreateInfo specifying that multisampled images must be two-dimensional, optimally tiled, and with a single mipmap level (internal issue 369). * Add validity statements to slink:VkImageViewCreateInfo disallowing creation of images or image views with no supported features. Made some slink:VkImageViewCreateInfo validity statements more precise and consistent. Added a Note to the <<features,features>> chapter about formats with no features (internal issue 371). * Remove +manpages+ from default build targets. Nroff outputs containing imbedded latexmath will not render properly. Fixing this is a lot of work for limited use cases (internal issue 401). Other Commits: * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity statement to be based on attachment indices rather than the number of cleared attachments (Vulkan-LoaderAndValidationLayers/issues/601). * Convert registry documentation from LaTeX to asciidoc source and rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. * Fix lack of Oxford commas in validity language. * Lots of cleanup of generator scripts and Makefiles to move extension list for generator into the script arguments instead of the body of genvk.py, and express better dependencies between XML, scripts, and generated files.
2016-07-23 10:15:48 +00:00
[[basetypes,Vulkan Scalar types]]
Vulkan Scalar types
-------------------
:leveloffset: 2
include::VkBool32.txt[]
include::VkDeviceSize.txt[]
include::VkFlags.txt[]
include::VkSampleMask.txt[]
:leveloffset: 0
Change log for July 22, 2016 Vulkan 1.0.22 spec update: * Bump API patch number and header version number to 22 for this update. Github Issues: * Translate the subpass self-dependency language into concrete validity statements, and added a validity statement about the restrictions on layout parameters (public issue 267). * Add validity requirement that slink:VkAttachmentDescription::pname:finalLayout and slink:VkAttachmentReference::pname:layout must not be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments layouts are used. Make language consistent with other attachment arrays (public issue 270). * Changed 64-bit definition for dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in +vk.xml+ and the resulting +vulkan.h+ (public issue 282). * Add missing error return code for flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 285) * Fix several cases of stext::VkStructName.memberName markup to stext::VkStructName::pname:memberName, to match other usage in the spec, and describe this markup in the style guide (public issue 286). * Modified validity language generation script to avoid redundant common ancestor language if covered by generic parent language, and used `Both' instead of `Each' when appropriate (public issue 288). Internal Issues: * Add language about behavior of flink:vkAllocateDescriptorSets when allocation fails due to fragmentation, a new error ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation (internal issue 309). * For the features of code:PointSize, code:ClipDistance, and code:CullDistance, the SPIR-V capability is required to be declared on use (read or write) rather than on decoration (internal issue 359). * Have desktop versions of GLSL respect precision qualification (code:mediump and code:lowp) when compiling for Vulkan. These will get translated to SPIR-V's code:RelaxedPrecision decoration as they do with OpenGL ES versions of GLSL (ESSL). The default precision of all types is code:highp when using a desktop version (internal issue 360). * Add validity statement for slink:VkImageCreateInfo specifying that multisampled images must be two-dimensional, optimally tiled, and with a single mipmap level (internal issue 369). * Add validity statements to slink:VkImageViewCreateInfo disallowing creation of images or image views with no supported features. Made some slink:VkImageViewCreateInfo validity statements more precise and consistent. Added a Note to the <<features,features>> chapter about formats with no features (internal issue 371). * Remove +manpages+ from default build targets. Nroff outputs containing imbedded latexmath will not render properly. Fixing this is a lot of work for limited use cases (internal issue 401). Other Commits: * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity statement to be based on attachment indices rather than the number of cleared attachments (Vulkan-LoaderAndValidationLayers/issues/601). * Convert registry documentation from LaTeX to asciidoc source and rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. * Fix lack of Oxford commas in validity language. * Lots of cleanup of generator scripts and Makefiles to move extension list for generator into the script arguments instead of the body of genvk.py, and express better dependencies between XML, scripts, and generated files.
2016-07-23 10:15:48 +00:00
[[defines,C Macro Definitions]]
C Macro Definitions
-------------------
:leveloffset: 2
include::VK_API_VERSION.txt[]
include::VK_API_VERSION_1_0.txt[]
include::VK_DEFINE_HANDLE.txt[]
include::VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt[]
include::VK_HEADER_VERSION.txt[]
include::VK_MAKE_VERSION.txt[]
include::VK_NULL_HANDLE.txt[]
include::VK_VERSION_MAJOR.txt[]
include::VK_VERSION_MINOR.txt[]
include::VK_VERSION_PATCH.txt[]
2016-02-16 09:53:44 +00:00
:leveloffset: 0