2016-07-11 01:13:41 +00:00
|
|
|
// 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:
|
2016-07-11 01:13:41 +00:00
|
|
|
: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[]
|
2016-07-11 01:33:57 +00:00
|
|
|
// 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[]
|
2016-07-11 01:33:57 +00:00
|
|
|
// 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]]
|
2016-07-11 01:13:41 +00:00
|
|
|
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[]
|
2016-07-11 01:33:57 +00:00
|
|
|
// not including VkSurfaceKHR
|
2016-07-11 01:13:41 +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
|
|
|
[[structs,Structures]]
|
2016-07-11 01:13:41 +00:00
|
|
|
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[]
|
2016-07-11 01:33:57 +00:00
|
|
|
// not including VkWaylandSurfaceCreateInfoKHR
|
2016-07-11 01:13:41 +00:00
|
|
|
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
|
|
|
|
|
2016-07-11 01:13:41 +00:00
|
|
|
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[]
|
2016-07-11 01:13:41 +00:00
|
|
|
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[]
|
2016-07-11 01:13:41 +00:00
|
|
|
include::VkImageTiling.txt[]
|
2016-02-16 09:53:44 +00:00
|
|
|
include::VkImageType.txt[]
|
2016-07-11 01:13:41 +00:00
|
|
|
include::VkImageUsageFlagBits.txt[]
|
2016-02-16 09:53:44 +00:00
|
|
|
include::VkImageViewType.txt[]
|
2016-07-11 01:13:41 +00:00
|
|
|
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[]
|
2016-07-11 01:13:41 +00:00
|
|
|
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
|
|
|
|
|
2016-07-11 01:13:41 +00:00
|
|
|
include::VkAccessFlags.txt[]
|
|
|
|
include::VkAttachmentDescriptionFlags.txt[]
|
2016-02-16 09:53:44 +00:00
|
|
|
include::VkBufferCreateFlags.txt[]
|
|
|
|
include::VkBufferUsageFlags.txt[]
|
2016-07-11 01:13:41 +00:00
|
|
|
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[]
|
2016-07-11 01:13:41 +00:00
|
|
|
include::VkFramebufferCreateFlags.txt[]
|
|
|
|
include::VkImageAspectFlags.txt[]
|
2016-02-16 09:53:44 +00:00
|
|
|
include::VkImageCreateFlags.txt[]
|
|
|
|
include::VkImageUsageFlags.txt[]
|
2016-07-11 01:13:41 +00:00
|
|
|
include::VkImageViewCreateFlags.txt[]
|
|
|
|
include::VkInstanceCreateFlags.txt[]
|
|
|
|
include::VkMemoryHeapFlags.txt[]
|
|
|
|
include::VkMemoryMapFlags.txt[]
|
2016-02-16 09:53:44 +00:00
|
|
|
include::VkMemoryPropertyFlags.txt[]
|
2016-07-11 01:13:41 +00:00
|
|
|
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[]
|
2016-07-11 01:13:41 +00:00
|
|
|
include::VkPipelineTessellationStateCreateFlags.txt[]
|
|
|
|
include::VkPipelineVertexInputStateCreateFlags.txt[]
|
|
|
|
include::VkPipelineViewportStateCreateFlags.txt[]
|
2016-02-16 09:53:44 +00:00
|
|
|
include::VkQueryControlFlags.txt[]
|
2016-07-11 01:13:41 +00:00
|
|
|
include::VkQueryPipelineStatisticFlags.txt[]
|
|
|
|
include::VkQueryPoolCreateFlags.txt[]
|
2016-02-16 09:53:44 +00:00
|
|
|
include::VkQueryResultFlags.txt[]
|
|
|
|
include::VkQueueFlags.txt[]
|
2016-07-11 01:13:41 +00:00
|
|
|
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[]
|
2016-07-11 01:33:57 +00:00
|
|
|
// 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]]
|
2016-07-11 01:13:41 +00:00
|
|
|
Function Pointer Types
|
|
|
|
----------------------
|
2016-02-16 09:53:44 +00:00
|
|
|
|
|
|
|
:leveloffset: 2
|
|
|
|
|
2016-07-11 01:13:41 +00:00
|
|
|
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]]
|
2016-07-11 01:13:41 +00:00
|
|
|
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]]
|
2016-07-11 01:13:41 +00:00
|
|
|
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
|
|
|
|
|