Change log for June 18, 2018 Vulkan 1.1.78 spec update:

* Update release number to 78.

Public Issues:

  * Change markup so parameter descriptions include links to structures,
    instead of just their names (public issue 697).
  * Resume publishing updated Vulkan 1.0 + KHR extensions and Vulkan 1.0 +
    all extensions versions of the specification (public issue 722).
  * Reapply fixes from public pull request 698 for
    `VK_ANDROID_external_memory_android_hardware_buffer`, which accidentally
    were reverted at some point (public pull request 724).
  * Fix undefined format valid usage statements for slink:VkImageCreateInfo
    in the presence of the
    `VK_ANDROID_external_memory_android_hardware_buffer` extension (public
    pull request 725).
  * Miscellaneous markup consistency fixes (public pull request 728).

Internal Issues:

  * When building specifications containing vendor extensions, add terms to
    the Khronos spec copyright specifying that the result is not a ratified
    specification (internal issue 739).
  * Change the value of the
    pname:maxDescriptorSetUpdateAfterBindUniformBuffers minimum limit to 72
    (6 times pname:maxPerStageDescriptorUpdateAfterBindUniformBuffers) in
    the <<features-limits-required, Required Limits>> table (internal issue
    1300).

Other Issues:

  * Fix link to resource image view compatibility table in the valid usage
    statements for slink:VkImageFormatListCreateInfoKHR (internal pull
    request 2711).
This commit is contained in:
Jon Leech 2018-06-18 01:46:28 -07:00
parent 95da63ce68
commit 933a3a3c4a
44 changed files with 192 additions and 165 deletions

View File

@ -106,7 +106,7 @@ VERBOSE =
# $(EXTENSIONS))
# ADOCOPTS options for asciidoc->HTML5 output
NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 77
PATCHVERSION = 78
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
SPECREVISION = 1.1.$(PATCHVERSION)
else

View File

@ -77,8 +77,8 @@ The handle type is already provided in places that treat external memory
objects generically.
In the places we would add it, the application code that would have to
provide the handle type value is already dealing with
code:AHardwareBuffer-specific commands/structures; the extra symmetry
would not be enough to make that code generic.
code:AHardwareBuffer-specific commands/structures; the extra symmetry would
not be enough to make that code generic.
2) The internal layout and therefore size of a code:AHardwareBuffer image
may depend on native usage flags that do not have corresponding Vulkan

View File

@ -38,7 +38,7 @@ discarding them or generating conservative fragments for them.
Degenerate triangles are those that end up with zero area after the
rasterizer quantizes them to the fixed-point pixel grid.
Degenerate lines are those with zero length after quantization.
=== New Object Types
None.
@ -49,7 +49,7 @@ None.
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
** ename:VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT
=== New Enums
* elink:VkPipelineRasterizationConservativeStateCreateFlagsEXT

View File

@ -247,7 +247,7 @@ To inject its own messages into the debug stream, call:
include::../api/protos/vkDebugReportMessageEXT.txt[]
* pname:instance is the debug stream's sname:VkInstance.
* pname:instance is the debug stream's slink:VkInstance.
* pname:flags specifies the elink:VkDebugReportFlagBitsEXT classification
of this event/message.
* pname:objectType is a elink:VkDebugReportObjectTypeEXT specifying the
@ -291,7 +291,7 @@ To destroy a sname:VkDebugReportCallbackEXT object, call:
include::../api/protos/vkDestroyDebugReportCallbackEXT.txt[]
* pname:instance the instance where the callback was created.
* pname:callback the sname:VkDebugReportCallbackEXT object to destroy.
* pname:callback the slink:VkDebugReportCallbackEXT object to destroy.
pname:callback is an externally synchronized object and must: not be used
on more than one thread at a time.
This means that fname:vkDestroyDebugReportCallbackEXT must: not be called

View File

@ -631,7 +631,7 @@ To do this, call:
include::../api/protos/vkSubmitDebugUtilsMessageEXT.txt[]
* pname:instance is the debug stream's sname:VkInstance.
* pname:instance is the debug stream's slink:VkInstance.
* pname:messageSeverity is the
elink:VkDebugUtilsMessageSeverityFlagBitsEXT severity of this
event/message.
@ -659,7 +659,7 @@ To destroy a sname:VkDebugUtilsMessengerEXT object, call:
include::../api/protos/vkDestroyDebugUtilsMessengerEXT.txt[]
* pname:instance the instance where the callback was created.
* pname:messenger the sname:VkDebugUtilsMessengerEXT object to destroy.
* pname:messenger the slink:VkDebugUtilsMessengerEXT object to destroy.
pname:messenger is an externally synchronized object and must: not be
used on more than one thread at a time.
This means that fname:vkDestroyDebugUtilsMessengerEXT must: not be called

View File

@ -33,7 +33,7 @@ To query the value of an active counter, use:
include::../../api/protos/vkGetSwapchainCounterEXT.txt[]
* pname:device is the sname:VkDevice associated with pname:swapchain.
* pname:device is the slink:VkDevice associated with pname:swapchain.
* pname:swapchain is the swapchain from which to query the counter value.
* pname:counter is the counter to query.
* pname:pCounterValue will return the current value of the counter.

View File

@ -20,7 +20,7 @@ include::../../api/protos/vkCreateAndroidSurfaceKHR.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
During the lifetime of a surface created using a particular

View File

@ -347,7 +347,7 @@ include::../../api/structs/VkDisplayModePropertiesKHR.txt[]
* pname:displayMode is a handle to the display mode described in this
structure.
This handle will be valid for the lifetime of the Vulkan instance.
* pname:parameters is a sname:VkDisplayModeParametersKHR structure
* pname:parameters is a slink:VkDisplayModeParametersKHR structure
describing the display parameters associated with pname:displayMode.
include::../../validity/structs/VkDisplayModePropertiesKHR.txt[]
@ -444,7 +444,7 @@ include::../../api/structs/VkDisplayModeCreateInfoKHR.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:flags is reserved for future use, and must: be zero.
* pname:parameters is a sname:VkDisplayModeParametersKHR structure
* pname:parameters is a slink:VkDisplayModeParametersKHR structure
describing the display parameters to use in creating the new mode.
If the parameters are not compatible with the specified display, the
implementation must: return ename:VK_ERROR_INITIALIZATION_FAILED.
@ -648,7 +648,7 @@ include::../../api/protos/vkCreateDisplayPlaneSurfaceKHR.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface is returned.
include::../../validity/protos/vkCreateDisplayPlaneSurfaceKHR.txt[]

View File

@ -20,7 +20,7 @@ include::../../api/protos/vkCreateSharedSwapchainsKHR.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
swapchain objects when there is no more specific allocator available
(see <<memory-allocation,Memory Allocation>>).
* pname:pSwapchains is a pointer to an array of sname:VkSwapchainKHR
* pname:pSwapchains is a pointer to an array of slink:VkSwapchainKHR
handles in which the created swapchain objects will be returned.
fname:vkCreateSharedSwapchains is similar to flink:vkCreateSwapchainKHR,

View File

@ -20,7 +20,7 @@ include::../../api/protos/vkCreateMirSurfaceKHR.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
include::../../validity/protos/vkCreateMirSurfaceKHR.txt[]

View File

@ -1213,7 +1213,7 @@ include::../../api/protos/vkGetPhysicalDevicePresentRectanglesKHR.txt[]
* pname:surface is the surface.
* pname:pRectCount is a pointer to an integer related to the number of
rectangles available or queried, as described below.
* pname:pRects is either `NULL` or a pointer to an array of sname:VkRect2D
* pname:pRects is either `NULL` or a pointer to an array of slink:VkRect2D
structures.
If pname:pRects is `NULL`, then the number of rectangles used when

View File

@ -94,7 +94,7 @@ include::../../api/protos/vkCreateSwapchainKHR.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
swapchain object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSwapchain is a pointer to a sname:VkSwapchainKHR handle in which
* pname:pSwapchain is a pointer to a slink:VkSwapchainKHR handle in which
the created swapchain object will be returned.
include::../../validity/protos/vkCreateSwapchainKHR.txt[]
@ -499,7 +499,7 @@ To destroy a swapchain object call:
include::../../api/protos/vkDestroySwapchainKHR.txt[]
* pname:device is the sname:VkDevice associated with pname:swapchain.
* pname:device is the slink:VkDevice associated with pname:swapchain.
* pname:swapchain is the swapchain to destroy.
* pname:pAllocator is the allocator used for host memory allocated for the
swapchain object when there is no more specific allocator available (see
@ -1007,12 +1007,12 @@ include::../../api/structs/VkPresentInfoKHR.txt[]
* pname:waitSemaphoreCount is the number of semaphores to wait for before
issuing the present request.
The number may: be zero.
* pname:pWaitSemaphores, if not `NULL`, is an array of sname:VkSemaphore
* pname:pWaitSemaphores, if not `NULL`, is an array of slink:VkSemaphore
objects with pname:waitSemaphoreCount entries, and specifies the
semaphores to wait for before issuing the present request.
* pname:swapchainCount is the number of swapchains being presented to by
this command.
* pname:pSwapchains is an array of sname:VkSwapchainKHR objects with
* pname:pSwapchains is an array of slink:VkSwapchainKHR objects with
pname:swapchainCount entries.
A given swapchain must: not appear in this list more than once.
* pname:pImageIndices is an array of indices into the array of each

View File

@ -20,7 +20,7 @@ include::../../api/protos/vkCreateWaylandSurfaceKHR.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
include::../../validity/protos/vkCreateWaylandSurfaceKHR.txt[]

View File

@ -20,7 +20,7 @@ include::../../api/protos/vkCreateWin32SurfaceKHR.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
include::../../validity/protos/vkCreateWin32SurfaceKHR.txt[]

View File

@ -21,7 +21,7 @@ include::../../api/protos/vkCreateXcbSurfaceKHR.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
include::../../validity/protos/vkCreateXcbSurfaceKHR.txt[]

View File

@ -21,7 +21,7 @@ include::../../api/protos/vkCreateXlibSurfaceKHR.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
include::../../validity/protos/vkCreateXlibSurfaceKHR.txt[]

View File

@ -16,7 +16,7 @@ include::../../api/protos/vkCreateIOSSurfaceMVK.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
include::../../validity/protos/vkCreateIOSSurfaceMVK.txt[]

View File

@ -16,7 +16,7 @@ include::../../api/protos/vkCreateMacOSSurfaceMVK.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
include::../../validity/protos/vkCreateMacOSSurfaceMVK.txt[]

View File

@ -18,7 +18,7 @@ include::../../api/protos/vkCreateViSurfaceNN.txt[]
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface points to a sname:VkSurfaceKHR handle in which the
* pname:pSurface points to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
During the lifetime of a surface created using a particular

View File

@ -35,12 +35,12 @@ include::../../api/structs/VkCmdReserveSpaceForCommandsInfoNVX.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:objectTable is the sname:VkObjectTableNVX to be used for the
* pname:objectTable is the slink:VkObjectTableNVX to be used for the
generation process.
Only registered objects at the time
flink:vkCmdReserveSpaceForCommandsNVX is called, will be taken into
account for the reservation.
* pname:indirectCommandsLayout is the sname:VkIndirectCommandsLayoutNVX
* pname:indirectCommandsLayout is the slink:VkIndirectCommandsLayoutNVX
that must: also be used at generation time.
* pname:maxSequencesCount is the maximum number of sequences for which
command buffer space will be reserved.
@ -79,12 +79,12 @@ include::../../api/structs/VkCmdProcessCommandsInfoNVX.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:objectTable is the sname:VkObjectTableNVX to be used for the
* pname:objectTable is the slink:VkObjectTableNVX to be used for the
generation process.
Only registered objects at the time
flink:vkCmdReserveSpaceForCommandsNVX is called, will be taken into
account for the reservation.
* pname:indirectCommandsLayout is the sname:VkIndirectCommandsLayoutNVX
* pname:indirectCommandsLayout is the slink:VkIndirectCommandsLayoutNVX
that provides the command sequence to generate.
* pname:indirectCommandsTokenCount defines the number of input tokens
used.
@ -95,11 +95,11 @@ include::../../api/structs/VkCmdProcessCommandsInfoNVX.txt[]
command buffer space will be reserved.
If pname:sequencesCountBuffer is dlink:VK_NULL_HANDLE, this is also the
actual number of sequences generated.
* pname:targetCommandBuffer can: be the secondary sname:VkCommandBuffer in
* pname:targetCommandBuffer can: be the secondary slink:VkCommandBuffer in
which the commands should be recorded.
If pname:targetCommandBuffer is `NULL` an implicit reservation as well
as execution takes place on the processing sname:VkCommandBuffer.
* pname:sequencesCountBuffer can: be sname:VkBuffer from which the actual
* pname:sequencesCountBuffer can: be slink:VkBuffer from which the actual
amount of sequences is sourced from as ftext:uint32_t value.
* pname:sequencesCountOffset is the byte offset into
pname:sequencesCountBuffer where the count value is stored.

View File

@ -113,7 +113,7 @@ a token at processing time.
include::../../api/structs/VkIndirectCommandsTokenNVX.txt[]
* pname:tokenType specifies the token command type.
* pname:buffer specifies the sname:VkBuffer storing the functional
* pname:buffer specifies the slink:VkBuffer storing the functional
arguments for each squence.
These argumetns can be written by the device.
* pname:offset specified an offset into pname:buffer where the arguments
@ -253,7 +253,7 @@ include::../../api/structs/VkIndirectCommandsLayoutCreateInfoNVX.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:pipelineBindPoint is the sname:VkPipelineBindPoint that this
* pname:pipelineBindPoint is the slink:VkPipelineBindPoint that this
layout targets.
* pname:flags is a bitmask of
elink:VkIndirectCommandsLayoutUsageFlagBitsNVX specifying usage hints of

View File

@ -37,7 +37,7 @@ include::../../api/protos/vkCreateObjectTableNVX.txt[]
affecting creation of the table.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pObjectTable points to a sname:VkObjectTableNVX handle in which
* pname:pObjectTable points to a slink:VkObjectTableNVX handle in which
the resulting object table is returned.
include::../../validity/protos/vkCreateObjectTableNVX.txt[]
@ -238,7 +238,7 @@ Common to all resource entries are:
include::../../api/structs/VkObjectTableEntryNVX.txt[]
* pname:type defines the entry type
* pname:flags defines which sname:VkPipelineBindPoint the resource can be
* pname:flags defines which slink:VkPipelineBindPoint the resource can be
used with.
Some entry types allow only a single flag to be set.
@ -258,7 +258,7 @@ include::../../validity/structs/VkObjectTableEntryNVX.txt[]
--
include::../../api/structs/VkObjectTablePipelineEntryNVX.txt[]
* pname:pipeline specifies the sname:VkPipeline that this resource entry
* pname:pipeline specifies the slink:VkPipeline that this resource entry
references.
.Valid Usage
@ -274,9 +274,9 @@ include::../../validity/structs/VkObjectTablePipelineEntryNVX.txt[]
--
include::../../api/structs/VkObjectTableDescriptorSetEntryNVX.txt[]
* pname:pipelineLayout specifies the sname:VkPipelineLayout that the
* pname:pipelineLayout specifies the slink:VkPipelineLayout that the
pname:descriptorSet is used with.
* pname:descriptorSet specifies the sname:VkDescriptorSet that can be
* pname:descriptorSet specifies the slink:VkDescriptorSet that can be
bound with this entry.
.Valid Usage
@ -293,7 +293,7 @@ include::../../validity/structs/VkObjectTableDescriptorSetEntryNVX.txt[]
include::../../api/structs/VkObjectTableVertexBufferEntryNVX.txt[]
* pname:buffer specifies the sname:VkBuffer that can be bound as vertex
* pname:buffer specifies the slink:VkBuffer that can be bound as vertex
bufer
.Valid Usage
@ -310,9 +310,9 @@ include::../../validity/structs/VkObjectTableVertexBufferEntryNVX.txt[]
include::../../api/structs/VkObjectTableIndexBufferEntryNVX.txt[]
* pname:buffer specifies the sname:VkBuffer that can be bound as index
* pname:buffer specifies the slink:VkBuffer that can be bound as index
buffer
* pname:indexType specifies the sname:VkIndexType used with this index
* pname:indexType specifies the slink:VkIndexType used with this index
buffer
.Valid Usage
@ -329,9 +329,9 @@ include::../../validity/structs/VkObjectTableIndexBufferEntryNVX.txt[]
include::../../api/structs/VkObjectTablePushConstantEntryNVX.txt[]
* pname:pipelineLayout specifies the sname:VkPipelineLayout that the
* pname:pipelineLayout specifies the slink:VkPipelineLayout that the
pushconstants are used with
* pname:stageFlags specifies the sname:VkShaderStageFlags that the
* pname:stageFlags specifies the slink:VkShaderStageFlags that the
pushconstants are used with
.Valid Usage
@ -355,7 +355,7 @@ include::../../api/protos/vkUnregisterObjectsNVX.txt[]
unregistered.
* pname:objectCount is the number of resources being removed from the
object table.
* pname:pObjectEntryType provides an array of sname:VkObjectEntryTypeNVX
* pname:pObjectEntryType provides an array of slink:VkObjectEntryTypeNVX
for the resources being removed.
* pname:pObjectIndices provides the array of object indices to be removed.

View File

@ -9,7 +9,7 @@ ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV, call:
include::../../api/protos/vkGetMemoryWin32HandleNV.txt[]
* pname:device is the logical device that owns the memory.
* pname:memory is the sname:VkDeviceMemory object.
* pname:memory is the slink:VkDeviceMemory object.
* pname:handleType is a bitmask of
elink:VkExternalMemoryHandleTypeFlagBitsNV containing a single bit
specifying the type of handle requested.

View File

@ -160,9 +160,6 @@ include::../api/protos/vkCmdClearDepthStencilImage.txt[]
can: include ename:VK_IMAGE_ASPECT_DEPTH_BIT if the image format has a
depth component, and ename:VK_IMAGE_ASPECT_STENCIL_BIT if the image
format has a stencil component.
pname:pDepthStencil is a pointer to a sname:VkClearDepthStencilValue
structure that contains the values the image subresource ranges will be
cleared to (see <<clears-values>> below).
.Valid Usage
****

View File

@ -163,7 +163,7 @@ include::../api/protos/vkCreateCommandPool.txt[]
command pool object.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pCommandPool points to a sname:VkCommandPool handle in which the
* pname:pCommandPool points to a slink:VkCommandPool handle in which the
created pool is returned.
.Valid Usage
@ -421,7 +421,7 @@ include::../api/protos/vkAllocateCommandBuffers.txt[]
* pname:pAllocateInfo is a pointer to an instance of the
sname:VkCommandBufferAllocateInfo structure describing parameters of the
allocation.
* pname:pCommandBuffers is a pointer to an array of sname:VkCommandBuffer
* pname:pCommandBuffers is a pointer to an array of slink:VkCommandBuffer
handles in which the resulting command buffer objects are returned.
The array must: be at least the length specified by the
pname:commandBufferCount member of pname:pAllocateInfo.
@ -584,7 +584,7 @@ include::../api/protos/vkBeginCommandBuffer.txt[]
* pname:commandBuffer is the handle of the command buffer which is to be
put in the recording state.
* pname:pBeginInfo is an instance of the sname:VkCommandBufferBeginInfo
* pname:pBeginInfo is an instance of the slink:VkCommandBufferBeginInfo
structure, which defines additional information about how the command
buffer begins recording.
@ -693,7 +693,7 @@ include::../api/structs/VkCommandBufferInheritanceInfo.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:renderPass is a sname:VkRenderPass object defining which render
* pname:renderPass is a slink:VkRenderPass object defining which render
passes the sname:VkCommandBuffer will be <<renderpass-compatibility,
compatible>> with and can: be executed within.
If the sname:VkCommandBuffer will not be executed within a render pass
@ -702,7 +702,7 @@ include::../api/structs/VkCommandBufferInheritanceInfo.txt[]
instance that the sname:VkCommandBuffer will be executed within.
If the sname:VkCommandBuffer will not be executed within a render pass
instance, pname:subpass is ignored.
* pname:framebuffer optionally refers to the sname:VkFramebuffer object
* pname:framebuffer optionally refers to the slink:VkFramebuffer object
that the sname:VkCommandBuffer will be rendering to if it is executed
within a render pass instance.
It can: be dlink:VK_NULL_HANDLE if the framebuffer is not known, or if

View File

@ -357,7 +357,7 @@ include::../api/protos/vkCreateDescriptorSetLayout.txt[]
the descriptor set layout object.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pSetLayout points to a sname:VkDescriptorSetLayout handle in which
* pname:pSetLayout points to a slink:VkDescriptorSetLayout handle in which
the resulting descriptor set layout object is returned.
include::../validity/protos/vkCreateDescriptorSetLayout.txt[]
@ -1064,7 +1064,7 @@ include::../api/protos/vkCreatePipelineLayout.txt[]
pipeline layout object.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pPipelineLayout points to a sname:VkPipelineLayout handle in which
* pname:pPipelineLayout points to a slink:VkPipelineLayout handle in which
the resulting pipeline layout object is returned.
include::../validity/protos/vkCreatePipelineLayout.txt[]
@ -1736,7 +1736,7 @@ include::../api/protos/vkCreateDescriptorPool.txt[]
descriptor pool object.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pDescriptorPool points to a sname:VkDescriptorPool handle in which
* pname:pDescriptorPool points to a slink:VkDescriptorPool handle in which
the resulting descriptor pool object is returned.
pname:pAllocator controls host memory allocation as described in the
@ -1762,7 +1762,7 @@ include::../api/structs/VkDescriptorPoolCreateInfo.txt[]
* pname:maxSets is the maximum number of descriptor sets that can: be
allocated from the pool.
* pname:poolSizeCount is the number of elements in pname:pPoolSizes.
* pname:pPoolSizes is a pointer to an array of sname:VkDescriptorPoolSize
* pname:pPoolSizes is a pointer to an array of slink:VkDescriptorPoolSize
structures, each containing a descriptor type and number of descriptors
of that type to be allocated in the pool.
@ -1922,7 +1922,7 @@ include::../api/protos/vkAllocateDescriptorSets.txt[]
* pname:pAllocateInfo is a pointer to an instance of the
slink:VkDescriptorSetAllocateInfo structure describing parameters of the
allocation.
* pname:pDescriptorSets is a pointer to an array of sname:VkDescriptorSet
* pname:pDescriptorSets is a pointer to an array of slink:VkDescriptorSet
handles in which the resulting descriptor set objects are returned.
The allocated descriptor sets are returned in pname:pDescriptorSets.
@ -2116,7 +2116,7 @@ include::../api/protos/vkFreeDescriptorSets.txt[]
sets were allocated.
* pname:descriptorSetCount is the number of elements in the
pname:pDescriptorSets array.
* pname:pDescriptorSets is an array of handles to sname:VkDescriptorSet
* pname:pDescriptorSets is an array of handles to slink:VkDescriptorSet
objects.
After a successful call to fname:vkFreeDescriptorSets, all descriptor sets
@ -2843,7 +2843,7 @@ ifdef::VK_KHR_push_descriptor[]
pipelines.
This parameter is ignored if pname:templateType is not
ename:VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
* pname:pipelineLayout is a sname:VkPipelineLayout object used to program
* pname:pipelineLayout is a slink:VkPipelineLayout object used to program
the bindings.
This parameter is ignored if pname:templateType is not
ename:VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
@ -3039,7 +3039,7 @@ endif::VK_KHR_descriptor_update_template[]
* pname:device is the logical device that updates the descriptor sets.
* pname:descriptorSet is the descriptor set to update
* pname:descriptorUpdateTemplate is the sname:VkDescriptorUpdateTemplate
* pname:descriptorUpdateTemplate is the slink:VkDescriptorUpdateTemplate
which specifies the update mapping between pname:pData and the
descriptor set to update.
* pname:pData is a pointer to memory which contains one or more structures
@ -3160,13 +3160,13 @@ include::../api/protos/vkCmdBindDescriptorSets.txt[]
pipelines.
There is a separate set of bind points for each of graphics and compute,
so binding one does not disturb the other.
* pname:layout is a sname:VkPipelineLayout object used to program the
* pname:layout is a slink:VkPipelineLayout object used to program the
bindings.
* pname:firstSet is the set number of the first descriptor set to be
bound.
* pname:descriptorSetCount is the number of elements in the
pname:pDescriptorSets array.
* pname:pDescriptorSets is an array of handles to sname:VkDescriptorSet
* pname:pDescriptorSets is an array of handles to slink:VkDescriptorSet
objects describing the descriptor sets to write to.
* pname:dynamicOffsetCount is the number of dynamic offsets in the
pname:pDynamicOffsets array.
@ -3297,7 +3297,7 @@ include::../api/protos/vkCmdPushDescriptorSetKHR.txt[]
pipelines.
There is a separate set of push descriptor bindings for each of graphics
and compute, so binding one does not disturb the other.
* pname:layout is a sname:VkPipelineLayout object used to program the
* pname:layout is a slink:VkPipelineLayout object used to program the
bindings.
* pname:set is the set number of the descriptor set in the pipeline layout
that will be updated.
@ -3386,7 +3386,7 @@ include::../api/protos/vkCmdPushDescriptorSetWithTemplateKHR.txt[]
recorded in.
* pname:descriptorUpdateTemplate A descriptor update template which
defines how to interpret the descriptor information in pData.
* pname:layout is a sname:VkPipelineLayout object used to program the
* pname:layout is a slink:VkPipelineLayout object used to program the
bindings.
It must: be compatible with the layout used to create the
pname:descriptorUpdateTemplate handle.

View File

@ -737,7 +737,7 @@ include::../api/protos/vkCreateDevice.txt[]
containing information about how to create the device.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pDevice points to a handle in which the created sname:VkDevice is
* pname:pDevice points to a handle in which the created slink:VkDevice is
returned.
fname:vkCreateDevice verifies that extensions and features requested in the
@ -1334,7 +1334,7 @@ include::../api/protos/vkGetDeviceQueue.txt[]
queue belongs.
* pname:queueIndex is the index within this queue family of the queue to
retrieve.
* pname:pQueue is a pointer to a sname:VkQueue object that will be filled
* pname:pQueue is a pointer to a slink:VkQueue object that will be filled
with the handle for the requested queue.
ifdef::VK_VERSION_1_1[]
@ -1375,7 +1375,7 @@ include::../api/protos/vkGetDeviceQueue2.txt[]
* pname:device is the logical device that owns the queue.
* pname:pQueueInfo points to an instance of the slink:VkDeviceQueueInfo2
structure, describing the parameters used to create the device queue.
* pname:pQueue is a pointer to a sname:VkQueue object that will be filled
* pname:pQueue is a pointer to a slink:VkQueue object that will be filled
with the handle for the requested queue.
include::../validity/protos/vkGetDeviceQueue2.txt[]

View File

@ -3323,7 +3323,7 @@ ifdef::VK_EXT_descriptor_indexing[]
| pname:maxPerStageDescriptorUpdateAfterBindInputAttachments| - |500000 ^9^ | min
| pname:maxPerStageUpdateAfterBindResources | - |500000 ^9^ | min
| pname:maxDescriptorSetUpdateAfterBindSamplers | - |500000 ^9^ | min
| pname:maxDescriptorSetUpdateAfterBindUniformBuffers | - |96 ^8^ ^9^ | min, _n_ {times} PerStage
| pname:maxDescriptorSetUpdateAfterBindUniformBuffers | - |72 ^8^ ^9^ | min, _n_ {times} PerStage
| pname:maxDescriptorSetUpdateAfterBindUniformBuffersDynamic| - |8 ^9^ | min
| pname:maxDescriptorSetUpdateAfterBindStorageBuffers | - |500000 ^9^ | min
| pname:maxDescriptorSetUpdateAfterBindStorageBuffersDynamic| - |4 ^9^ | min

View File

@ -773,8 +773,8 @@ stencil value.
[open,refpage='VkCompareOp',desc='Stencil comparison function',type='enums']
--
Possible values of slink:VkStencilOpState::pname:compareOp, specifying the stencil
comparison function, are:
Possible values of slink:VkStencilOpState::pname:compareOp, specifying the
stencil comparison function, are:
include::../api/enums/VkCompareOp.txt[]

View File

@ -209,7 +209,7 @@ include::../api/protos/vkCreateInstance.txt[]
controlling creation of the instance.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pInstance points a sname:VkInstance handle in which the resulting
* pname:pInstance points a slink:VkInstance handle in which the resulting
instance is returned.
fname:vkCreateInstance verifies that the requested layers exist.

View File

@ -824,7 +824,7 @@ include::../api/protos/vkAllocateMemory.txt[]
no substitution is permitted by the implementation.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pMemory is a pointer to a sname:VkDeviceMemory handle in which
* pname:pMemory is a pointer to a slink:VkDeviceMemory handle in which
information about the allocated memory is returned.
Allocations returned by fname:vkAllocateMemory are guaranteed to meet any
@ -1118,9 +1118,8 @@ ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
Android hardware buffer must: be identical
** If the Android hardware buffer's usage includes
code:AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE, the pname:image must:
have
[eq]#{lfloor}log~2~(max(code:width, code:height)){rfloor} {plus} 1#
mip levels, otherwise it must: have exactly `1` mip level.
have [eq]#{lfloor}log~2~(max(code:width, code:height)){rfloor} {plus}
1# mip levels, otherwise it must: have exactly `1` mip level.
** Each bit set in the usage of pname:image must: be listed in
<<memory-external-android-hardware-buffer-usage,AHardwareBuffer Usage
Equivalence>>, and if there is a corresponding
@ -1394,8 +1393,8 @@ ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT
ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or
ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
sname:VkExportMemoryWin32HandleInfoKHR must: not be in the pname:pNext chain
of slink:VkMemoryAllocateInfo.
sname:VkExportMemoryWin32HandleInfoKHR must: not be in the pname:pNext
chain of slink:VkMemoryAllocateInfo.
****
include::../validity/structs/VkExportMemoryWin32HandleInfoKHR.txt[]
@ -2253,7 +2252,7 @@ To free a memory object, call:
include::../api/protos/vkFreeMemory.txt[]
* pname:device is the logical device that owns the memory.
* pname:memory is the sname:VkDeviceMemory object to be freed.
* pname:memory is the slink:VkDeviceMemory object to be freed.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
@ -2316,7 +2315,7 @@ object, call:
include::../api/protos/vkMapMemory.txt[]
* pname:device is the logical device that owns the memory.
* pname:memory is the sname:VkDeviceMemory object to be mapped.
* pname:memory is the slink:VkDeviceMemory object to be mapped.
* pname:offset is a zero-based byte offset from the beginning of the
memory object.
* pname:size is the size of the memory range to map, or

View File

@ -112,7 +112,7 @@ include::../api/protos/vkCreateComputePipelines.txt[]
cache is enabled for the duration of the command.
* pname:createInfoCount is the length of the pname:pCreateInfos and
pname:pPipelines arrays.
* pname:pCreateInfos is an array of sname:VkComputePipelineCreateInfo
* pname:pCreateInfos is an array of slink:VkComputePipelineCreateInfo
structures.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
@ -225,7 +225,7 @@ include::../api/structs/VkPipelineShaderStageCreateInfo.txt[]
* pname:flags is reserved for future use.
* pname:stage is a elink:VkShaderStageFlagBits value specifying a single
pipeline stage.
* pname:module is a sname:VkShaderModule object that contains the shader
* pname:module is a slink:VkShaderModule object that contains the shader
for this stage.
* pname:pName is a pointer to a null-terminated UTF-8 string specifying
the entry point name of the shader for this stage.
@ -384,7 +384,7 @@ include::../api/protos/vkCreateGraphicsPipelines.txt[]
cache is enabled for the duration of the command.
* pname:createInfoCount is the length of the pname:pCreateInfos and
pname:pPipelines arrays.
* pname:pCreateInfos is an array of sname:VkGraphicsPipelineCreateInfo
* pname:pCreateInfos is an array of slink:VkGraphicsPipelineCreateInfo
structures.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
@ -1187,12 +1187,12 @@ include::../api/protos/vkCreatePipelineCache.txt[]
* pname:device is the logical device that creates the pipeline cache
object.
* pname:pCreateInfo is a pointer to a sname:VkPipelineCacheCreateInfo
* pname:pCreateInfo is a pointer to a slink:VkPipelineCacheCreateInfo
structure that contains the initial parameters for the pipeline cache
object.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pPipelineCache is a pointer to a sname:VkPipelineCache handle in
* pname:pPipelineCache is a pointer to a slink:VkPipelineCache handle in
which the resulting pipeline cache object is returned.
[NOTE]

View File

@ -48,7 +48,7 @@ include::../api/protos/vkCreateQueryPool.txt[]
queries to be managed by the pool.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pQueryPool is a pointer to a sname:VkQueryPool handle in which the
* pname:pQueryPool is a pointer to a slink:VkQueryPool handle in which the
resulting query pool object is returned.
include::../validity/protos/vkCreateQueryPool.txt[]
@ -617,7 +617,7 @@ include::../api/protos/vkCmdCopyQueryPoolResults.txt[]
* pname:queryCount is the number of queries.
pname:firstQuery and pname:queryCount together define a range of
queries.
* pname:dstBuffer is a sname:VkBuffer object that will receive the results
* pname:dstBuffer is a slink:VkBuffer object that will receive the results
of the copy command.
* pname:dstOffset is an offset into pname:dstBuffer.
* pname:stride is the stride in bytes between results for individual

View File

@ -119,7 +119,7 @@ include::../api/protos/vkCreateRenderPass.txt[]
the render pass.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pRenderPass points to a sname:VkRenderPass handle in which the
* pname:pRenderPass points to a slink:VkRenderPass handle in which the
resulting render pass object is returned.
include::../validity/protos/vkCreateRenderPass.txt[]
@ -1488,7 +1488,7 @@ include::../api/protos/vkCreateFramebuffer.txt[]
which describes additional information about framebuffer creation.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pFramebuffer points to a sname:VkFramebuffer handle in which the
* pname:pFramebuffer points to a slink:VkFramebuffer handle in which the
resulting framebuffer object is returned.
include::../validity/protos/vkCreateFramebuffer.txt[]
@ -1508,7 +1508,7 @@ include::../api/structs/VkFramebufferCreateInfo.txt[]
framebuffer will be compatible with.
See <<renderpass-compatibility,Render Pass Compatibility>> for details.
* pname:attachmentCount is the number of attachments.
* pname:pAttachments is an array of sname:VkImageView handles, each of
* pname:pAttachments is an array of slink:VkImageView handles, each of
which will be used as the corresponding attachment in a render pass
instance.
* pname:width, pname:height and pname:layers define the dimensions of the

View File

@ -42,7 +42,7 @@ include::../api/protos/vkCreateBuffer.txt[]
creation of the buffer.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pBuffer points to a sname:VkBuffer handle in which the resulting
* pname:pBuffer points to a slink:VkBuffer handle in which the resulting
buffer object is returned.
.Valid Usage
@ -383,7 +383,7 @@ include::../api/protos/vkCreateBufferView.txt[]
to create the buffer.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pView points to a sname:VkBufferView handle in which the resulting
* pname:pView points to a slink:VkBufferView handle in which the resulting
buffer view object is returned.
include::../validity/protos/vkCreateBufferView.txt[]
@ -399,7 +399,7 @@ include::../api/structs/VkBufferViewCreateInfo.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:flags is reserved for future use.
* pname:buffer is a sname:VkBuffer on which the view will be created.
* pname:buffer is a slink:VkBuffer on which the view will be created.
* pname:format is a elink:VkFormat describing the format of the data
elements in the buffer.
* pname:offset is an offset in bytes from the base address of the buffer.
@ -526,7 +526,7 @@ include::../api/protos/vkCreateImage.txt[]
create the image.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pImage points to a sname:VkImage handle in which the resulting
* pname:pImage points to a slink:VkImage handle in which the resulting
image object is returned.
.Valid Usage
@ -695,10 +695,12 @@ ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
pname:format must: not be ename:VK_FORMAT_UNDEFINED
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
* If the pname:pNext chain contains an instance of
* [[VUID-VkImageCreateInfo-pNext-01974]]
If the pname:pNext chain contains an instance of
slink:VkExternalFormatANDROID, and its member pname:externalFormat is
non-zero the pname:format must: be ename:VK_FORMAT_UNDEFINED.
* If the pname:pNext chain does not contain an instance of
* [[VUID-VkImageCreateInfo-pNext-01975]]
If the pname:pNext chain does not contain an instance of
slink:VkExternalFormatANDROID, or does and its member
pname:externalFormat is `0` the pname:format must: not be
ename:VK_FORMAT_UNDEFINED.
@ -1016,7 +1018,8 @@ ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
If the pname:pNext chain includes a slink:VkExternalFormatANDROID
structure whose pname:externalFormat member is not `0`:
** pname:format must: be ename:VK_FORMAT_UNDEFINED
** pname:flags must: not include ename:VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
** pname:flags must: not include
ename:VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
** pname:usage must: not include any usages except
pname:VK_IMAGE_USAGE_SAMPLED_BIT
** pname:tiling must: be ename:VK_IMAGE_TILING_OPTIMAL
@ -1220,7 +1223,7 @@ were not included in the pname:pNext list of slink:VkImageCreateInfo.
If pname:viewFormatCount is not `0`, all of the formats in the
pname:pViewFormats array must: be compatible with the format specified
in the pname:format field of sname:VkImageCreateInfo, as described in
the <<resources-image-views-compatibility,compatibility table>>.
the <<features-formats-compatibility,compatibility table>>.
* [[VUID-VkImageFormatListCreateInfoKHR-flags-01579]]
If sname:VkImageCreateInfo::pname:flags does not contain
ename:VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, pname:viewFormatCount must: be
@ -1891,7 +1894,7 @@ include::../api/protos/vkCreateImageView.txt[]
to create the image view.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pView points to a sname:VkImageView handle in which the resulting
* pname:pView points to a slink:VkImageView handle in which the resulting
image view object is returned.
Some of the image creation parameters are inherited by the view.
@ -1920,7 +1923,7 @@ include::../api/structs/VkImageViewCreateInfo.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:flags is reserved for future use.
* pname:image is a sname:VkImage on which the view will be created.
* pname:image is a slink:VkImage on which the view will be created.
* pname:viewType is an elink:VkImageViewType value specifying the type of
the image view.
* pname:format is a elink:VkFormat describing the format and type used to
@ -3377,7 +3380,7 @@ include::../api/protos/vkBindBufferMemory.txt[]
* pname:device is the logical device that owns the buffer and memory.
* pname:buffer is the buffer to be attached to memory.
* pname:memory is a sname:VkDeviceMemory object describing the device
* pname:memory is a slink:VkDeviceMemory object describing the device
memory to attach.
* pname:memoryOffset is the start offset of the region of pname:memory
which is to be bound to the buffer.
@ -3510,7 +3513,7 @@ endif::VK_KHR_bind_memory2[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:buffer is the buffer to be attached to memory.
* pname:memory is a sname:VkDeviceMemory object describing the device
* pname:memory is a slink:VkDeviceMemory object describing the device
memory to attach.
* pname:memoryOffset is the start offset of the region of pname:memory
which is to be bound to the buffer.
@ -3661,7 +3664,7 @@ include::../api/protos/vkBindImageMemory.txt[]
* pname:device is the logical device that owns the image and memory.
* pname:image is the image.
* pname:memory is the sname:VkDeviceMemory object describing the device
* pname:memory is the slink:VkDeviceMemory object describing the device
memory to attach.
* pname:memoryOffset is the start offset of the region of pname:memory
which is to be bound to the image.
@ -3797,7 +3800,7 @@ endif::VK_KHR_bind_memory2[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:image is the image to be attached to memory.
* pname:memory is a sname:VkDeviceMemory object describing the device
* pname:memory is a slink:VkDeviceMemory object describing the device
memory to attach.
* pname:memoryOffset is the start offset of the region of pname:memory
which is to be bound to the image.

View File

@ -68,7 +68,7 @@ include::../api/protos/vkCreateShaderModule.txt[]
sname:VkShaderModuleCreateInfo structure.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pShaderModule points to a sname:VkShaderModule handle in which the
* pname:pShaderModule points to a slink:VkShaderModule handle in which the
resulting shader module object is returned.
Once a shader module has been created, any entry points it contains can: be
@ -847,12 +847,12 @@ include::../api/protos/vkCreateValidationCacheEXT.txt[]
* pname:device is the logical device that creates the validation cache
object.
* pname:pCreateInfo is a pointer to a sname:VkValidationCacheCreateInfoEXT
* pname:pCreateInfo is a pointer to a slink:VkValidationCacheCreateInfoEXT
structure that contains the initial parameters for the validation cache
object.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pValidationCache is a pointer to a sname:VkValidationCacheEXT
* pname:pValidationCache is a pointer to a slink:VkValidationCacheEXT
handle in which the resulting validation cache object is returned.
[NOTE]

View File

@ -677,24 +677,24 @@ these features.
==== Sparse Physical Device Features
* pname:sparseBinding: Support for creating sname:VkBuffer and
* pname:sparseBinding: Support for creating slink:VkBuffer and
sname:VkImage objects with the ename:VK_BUFFER_CREATE_SPARSE_BINDING_BIT
and ename:VK_IMAGE_CREATE_SPARSE_BINDING_BIT flags, respectively.
* pname:sparseResidencyBuffer: Support for creating sname:VkBuffer objects
* pname:sparseResidencyBuffer: Support for creating slink:VkBuffer objects
with the ename:VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag.
* pname:sparseResidencyImage2D: Support for creating 2D single-sampled
sname:VkImage objects with ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
* pname:sparseResidencyImage3D: Support for creating 3D sname:VkImage
* pname:sparseResidencyImage3D: Support for creating 3D slink:VkImage
objects with ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
* pname:sparseResidency2Samples: Support for creating 2D sname:VkImage
* pname:sparseResidency2Samples: Support for creating 2D slink:VkImage
objects with 2 samples and ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
* pname:sparseResidency4Samples: Support for creating 2D sname:VkImage
* pname:sparseResidency4Samples: Support for creating 2D slink:VkImage
objects with 4 samples and ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
* pname:sparseResidency8Samples: Support for creating 2D sname:VkImage
* pname:sparseResidency8Samples: Support for creating 2D slink:VkImage
objects with 8 samples and ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
* pname:sparseResidency16Samples: Support for creating 2D sname:VkImage
* pname:sparseResidency16Samples: Support for creating 2D slink:VkImage
objects with 16 samples and ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
* pname:sparseResidencyAliased: Support for creating sname:VkBuffer and
* pname:sparseResidencyAliased: Support for creating slink:VkBuffer and
sname:VkImage objects with the ename:VK_BUFFER_CREATE_SPARSE_ALIASED_BIT
and ename:VK_IMAGE_CREATE_SPARSE_ALIASED_BIT flags, respectively.
@ -1115,7 +1115,7 @@ To query sparse memory requirements for an image, call:
include::../api/protos/vkGetImageSparseMemoryRequirements.txt[]
* pname:device is the logical device that owns the image.
* pname:image is the sname:VkImage object to get the memory requirements
* pname:image is the slink:VkImage object to get the memory requirements
for.
* pname:pSparseMemoryRequirementCount is a pointer to an integer related
to the number of sparse memory requirements available or queried, as
@ -1323,10 +1323,10 @@ include::../api/structs/VkSparseMemoryBind.txt[]
* pname:resourceOffset is the offset into the resource.
* pname:size is the size of the memory region to be bound.
* pname:memory is the sname:VkDeviceMemory object that the range of the
* pname:memory is the slink:VkDeviceMemory object that the range of the
resource is bound to.
If pname:memory is dlink:VK_NULL_HANDLE, the range is unbound.
* pname:memoryOffset is the offset into the sname:VkDeviceMemory object to
* pname:memoryOffset is the offset into the slink:VkDeviceMemory object to
bind the resource range to.
If pname:memory is dlink:VK_NULL_HANDLE, this value is ignored.
* pname:flags is a bitmask of elink:VkSparseMemoryBindFlagBits specifying
@ -1412,10 +1412,10 @@ structure:
include::../api/structs/VkSparseBufferMemoryBindInfo.txt[]
* pname:buffer is the sname:VkBuffer object to be bound.
* pname:bindCount is the number of sname:VkSparseMemoryBind structures in
* pname:buffer is the slink:VkBuffer object to be bound.
* pname:bindCount is the number of slink:VkSparseMemoryBind structures in
the pname:pBinds array.
* pname:pBinds is a pointer to array of sname:VkSparseMemoryBind
* pname:pBinds is a pointer to array of slink:VkSparseMemoryBind
structures.
include::../validity/structs/VkSparseBufferMemoryBindInfo.txt[]
@ -1429,10 +1429,10 @@ ename:VK_IMAGE_CREATE_SPARSE_BINDING_BIT flag using the following structure:
include::../api/structs/VkSparseImageOpaqueMemoryBindInfo.txt[]
* pname:image is the sname:VkImage object to be bound.
* pname:bindCount is the number of sname:VkSparseMemoryBind structures in
* pname:image is the slink:VkImage object to be bound.
* pname:bindCount is the number of slink:VkSparseMemoryBind structures in
the pname:pBinds array.
* pname:pBinds is a pointer to array of sname:VkSparseMemoryBind
* pname:pBinds is a pointer to array of slink:VkSparseMemoryBind
structures.
.Valid Usage
@ -1496,10 +1496,10 @@ structure:
include::../api/structs/VkSparseImageMemoryBindInfo.txt[]
* pname:image is the sname:VkImage object to be bound
* pname:bindCount is the number of sname:VkSparseImageMemoryBind
* pname:image is the slink:VkImage object to be bound
* pname:bindCount is the number of slink:VkSparseImageMemoryBind
structures in pBinds array
* pname:pBinds is a pointer to array of sname:VkSparseImageMemoryBind
* pname:pBinds is a pointer to array of slink:VkSparseImageMemoryBind
structures
.Valid Usage
@ -1534,11 +1534,11 @@ include::../api/structs/VkSparseImageMemoryBind.txt[]
subresource it can: instead be such that any coordinate of
[eq]#pname:offset {plus} pname:extent# equals the corresponding
dimensions of the image subresource.
* pname:memory is the sname:VkDeviceMemory object that the sparse image
* pname:memory is the slink:VkDeviceMemory object that the sparse image
blocks of the image are bound to.
If pname:memory is dlink:VK_NULL_HANDLE, the sparse image blocks are
unbound.
* pname:memoryOffset is an offset into sname:VkDeviceMemory object.
* pname:memoryOffset is an offset into slink:VkDeviceMemory object.
If pname:memory is dlink:VK_NULL_HANDLE, this value is ignored.
* pname:flags are sparse memory binding flags.

View File

@ -91,16 +91,17 @@ Each component is of type elink:VkViewportCoordinateSwizzleNV, which
determines the type of swizzle for that component.
The value of pname:x computes the new x component of the position as:
....
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV) x' = x;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV) x' = -x;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV) x' = y;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV) x' = -y;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV) x' = z;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV) x' = -z;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV) x' = w;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV) x' = -w;
....
[source,c]
---------------------------------------------------
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV) x' = x;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV) x' = -x;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV) x' = y;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV) x' = -y;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV) x' = z;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV) x' = -z;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV) x' = w;
if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV) x' = -w;
---------------------------------------------------
Similar selections are performed for the pname:y, pname:z, and pname:w
coordinates.
@ -489,7 +490,7 @@ include::../api/structs/VkPipelineViewportStateCreateInfo.txt[]
If the viewport state is dynamic, this member is ignored.
* pname:scissorCount is the number of <<fragops-scissor,scissors>> and
must: match the number of viewports.
* pname:pScissors is a pointer to an array of sname:VkRect2D structures
* pname:pScissors is a pointer to an array of slink:VkRect2D structures
which define the rectangular bounds of the scissor for the corresponding
viewport.
If the scissor state is dynamic, this member is ignored.

View File

@ -64,6 +64,17 @@ this Specification. If not created by Khronos, those external documents may
contain contributions from non-members of Khronos not covered by the Khronos
Intellectual Property Rights Policy.
ifndef::ratified_core_spec[]
This document contains extensions which are not ratified by Khronos, and as
such is not a ratified Specification, though it contains text from (and is a
superset of) the ratified Vulkan Specification. The ratified versions of the
Vulkan Specification can be found at
https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html (core
only) and
https://www.khronos.org/registry/vulkan/specs/1.1-khr_extensions/html/vkspec.html
(core with KHR extensions).
endif::ratified_core_spec[]
Vulkan is a registered trademark, and Khronos is a trademark of The Khronos
Group Inc. ASTC is a trademark of ARM Holdings PLC; OpenCL is a trademark of
Apple Inc.; and OpenGL is a registered trademark of Silicon Graphics International,

View File

@ -78,10 +78,11 @@ if __name__ == '__main__':
# Vulkan 1.1 specs
if args.v11:
# Build ref pages and validusage targets only for 1.1 + all
# extensions
# extensions.
buildBranch('1.1-extensions',
versions = allVersions,
extensions = allExts,
ratified = False,
apititle = '(with all registered Vulkan extensions)',
xmlTargets = 'clobber install',
specTargets = specTargets + ' validusage' + refPageTargets,
@ -91,6 +92,7 @@ if __name__ == '__main__':
buildBranch('1.1-khr-extensions',
versions = allVersions,
extensions = khrExts,
ratified = True,
apititle = '(with KHR extensions)',
xmlTargets = 'clobber install',
specTargets = specTargets,
@ -102,6 +104,7 @@ if __name__ == '__main__':
buildBranch('1.1',
versions = allVersions,
extensions = None,
ratified = True,
apititle = None,
xmlTargets = 'clobber install',
specTargets = specTargets + ' styleguide registry',
@ -111,27 +114,30 @@ if __name__ == '__main__':
# Vulkan 1.0 specs. Only build the core spec now that 1.1 is out.
if args.v10:
# buildBranch('1.0-extensions',
# versions = Version1_0,
# extensions = allExts,
# apititle = '(with all registered Vulkan extensions)',
# xmlTargets = 'clobber install',
# specTargets = specTargets,
# repoDir = repoDir,
# outDir = outDir)
#
# buildBranch('1.0-wsi_extensions',
# versions = Version1_0,
# extensions = khrExts,
# apititle = '(with KHR extensions)',
# xmlTargets = 'clobber install',
# specTargets = specTargets,
# repoDir = repoDir,
# outDir = outDir)
buildBranch('1.0-extensions',
versions = Version1_0,
extensions = allExts,
ratified = False,
apititle = '(with all registered Vulkan extensions)',
xmlTargets = 'clobber install',
specTargets = specTargets,
repoDir = repoDir,
outDir = outDir)
buildBranch('1.0-wsi_extensions',
versions = Version1_0,
extensions = khrExts,
ratified = False,
apititle = '(with KHR extensions)',
xmlTargets = 'clobber install',
specTargets = specTargets,
repoDir = repoDir,
outDir = outDir)
buildBranch('1.0',
versions = Version1_0,
extensions = None,
ratified = True,
apititle = None,
xmlTargets = 'clobber install',
specTargets = specTargets,

View File

@ -40,6 +40,8 @@ def buildOnFriday():
# label = textual label to use for target being generated
# versions = list of core API versions to include
# extensions = list of extension names to include
# ratified = True if this is a ratified spec (one built without non-KHR
# extensions)
# outdir = directory to generate specs in
# apititle = extra title to apply to the specification
# xmlDir = directory containing registry XML
@ -52,6 +54,7 @@ def buildOnFriday():
def buildRelease(label,
versions,
extensions,
ratified,
outdir,
apititle,
xmlDir, xmlTargets,
@ -73,6 +76,11 @@ def buildRelease(label,
else:
extarg = ''
if ratified:
ratifiedarg = '-a ratified_core_spec'
else:
ratifiedarg = ''
if (apititle != None):
titlearg = 'APITITLE="' + apititle + '"'
else:
@ -100,7 +108,7 @@ def buildRelease(label,
print('make', outarg, versarg, extarg, 'man/apispec.txt')
# Now make the actual targets.
print('make -O -k -j 8',
outarg, versarg, extarg, titlearg,
outarg, versarg, extarg, ratifiedarg, titlearg,
'NOTEOPTS="-a implementation-guide"',
specTargets)
@ -116,6 +124,7 @@ def buildRelease(label,
def buildBranch(targetDir,
versions,
extensions,
ratified,
apititle,
xmlTargets,
specTargets,
@ -137,6 +146,7 @@ def buildBranch(targetDir,
buildRelease(targetDir,
versions,
extensions,
ratified,
outDir + '/' + targetDir,
apititle,
xmlDir, xmlTargets,

View File

@ -43,7 +43,7 @@ extern "C" {
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
// Version of this file
#define VK_HEADER_VERSION 77
#define VK_HEADER_VERSION 78
#define VK_NULL_HANDLE 0

View File

@ -1,2 +1,2 @@
# The value to start tagging VU statements at, unless overridden by -nextvu
startVUID = 1974
startVUID = 1976

View File

@ -153,7 +153,7 @@ server.
<type category="define">// Vulkan 1.1 version number
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 77</type>
#define <name>VK_HEADER_VERSION</name> 78</type>
<type category="define">
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>