Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
[[indirectmdslayout]]
== Indirect Commands Layout
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
[open,refpage='VkIndirectCommandsLayoutNVX',desc='Opaque handle to an indirect commands layout object',type='handles']
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
The device-side command generation happens through an iterative processing
of an atomic sequence comprised of command tokens, which are represented by:
include::../../api/handles/VkIndirectCommandsLayoutNVX.txt[]
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
=== Tokenized Command Processing
The processing is in principle illustrated below:
[source,c]
---------------------------------------------------
void cmdProcessSequence(cmd, objectTable, indirectCommandsLayout, pIndirectCommandsTokens, s)
{
for (c = 0; c < indirectCommandsLayout.tokenCount; c++)
{
indirectCommandsLayout.pTokens[c].command (cmd, objectTable, pIndirectCommandsTokens[c], s);
}
}
void cmdProcessAllSequences(cmd, objectTable, indirectCommandsLayout, pIndirectCommandsTokens, sequencesCount)
{
for (s = 0; s < sequencesCount; s++)
{
cmdProcessSequence(cmd, objectTable, indirectCommandsLayout, pIndirectCommandsTokens, s);
}
}
---------------------------------------------------
The processing of each sequence is considered stateless, therefore all state
Change log for March 17, 2017 Vulkan 1.0.44 spec update:
* Bump API patch number and header version number to 44 for this update.
Github Issues:
* Fix description of <<features-extentperimagetype, Allowed Extent Values
Based On Image Type>> (public issue 290).
* Better specify VK_DEVICE_LOST behavior around flink:vkQueueSubmit,
flink:vkWaitForFences, and flink:vkGetFenceStatus (public issue 423).
* Clarify definition of flink:vkGetQueryPoolResults::pname:queryCount
(public issue 441).
* Simplify and clean up normative language. Remove shall and replace
recommend and variants with should wherever possible (public issue 448).
* Fix all dangling internal cross-references in the 1.0-extensions
specification, and add scripts/checkXrefs to find these in the future
(public issue 456).
* Reverse order of ChangeLog.txt entries so the most recent version is
documented first (public issue 463)
* Removes "become invalid" which clashes with invalid state for command
buffers. (public issue 467)
* Disallowed pending state in spec text for vkResetCommandBuffer, matching
valid usage (public issue 468)
* Removes sentence describing invalid state "like initial state". (public
issue 469)
* Disallows begin command buffer from resetting command buffers in the
"recording" state. (public issue 470)
* Removes mention of state from description of
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT (public issue 471)
* Removed extra valid usage statement in VkSubmitInfo (public issue 472)
Internal Issues:
* Clarify description of the pname:imageLayout member of
sname:VkDescriptorImageInfo.
* Fix typos where etext:VK_VIEW_TYPE* was used instead of
etext:VK_IMAGE_VIEW_TYPE.
* Removed the <<VK_KHR_display>> and <<VK_KHR_display_swapchain>> example
code from the specification and noted it has been moved to the Vulkan
SDK cube demo (internal issue 179).
* Reorder VkExternalMemoryHandleTypeFlagBitsNV description (internal issue
480).
* Clarify than an implementation is
<<fundamentals-validusage-flags,permitted to return 'undefined' bit
flags>> in a bitfield (internal issue 640).
* Break Valid Usage statements describing unrelated parameters into
separate statements, and add a style guide entry to follow this approach
(internal issue 685).
* Move valid usage statement for slink:VkImageCreateInfo from spec body to
the explicit valid usage block (internal issue 693).
* Fix typos in the descriptions of slink:VkDisplaySurfaceCreateInfoKHR,
flink:vkCreateDisplayModeKHR, and
flink:vkGetDisplayPlaneSupportedDisplaysKHR in the <<display,Presenting
Directly to Display Devices>> section (internal issue 698, 704, 716).
* Clarified that mandatory depth/stencil formats are only a requirement
for 2D images (internal issue 719).
* Clarify that variables decorated with DeviceIndex/ViewIndex must be in
the Input storage class (internal issue 733).
* Work around generator script problem with removal of Unicode literals
from Python 3.0-3.2 using `future` package (internal issue 737).
* Remove nonexistent structure type enums from vk.xml (internal issue
738).
* Fix validextensionstructs attributes for structures in the pname:pNext
chain for VkPresentInfoKHR, fixing implicit valid usage statements for
those structures (internal issue 740).
New Extensions:
2017-03-18 05:53:58 +00:00
changes must: occur prior work provoking commands within the sequence.
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
A single sequence is either strictly targeting
sname:VK_PIPELINE_BIND_POINT_GRAPHICS or
ename:VK_PIPELINE_BIND_POINT_COMPUTE.
The primary input data for each token is provided through sname:VkBuffer
content at command generation time using flink:vkCmdProcessCommandsNVX,
however some functional arguments, for example binding sets, are specified
at layout creation time.
The input size is different for each token.
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
[open,refpage='VkIndirectCommandsTokenTypeNVX',desc='Enum specifying',type='enums']
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
2017-06-05 03:48:43 +00:00
Possible values of those elements of the
slink:VkIndirectCommandsLayoutCreateInfoNVX::pname:pTokens array which
specify command tokens (other elements of the array specify command
parameters) are:
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
include::../../api/enums/VkIndirectCommandsTokenTypeNVX.txt[]
.Supported indirect command tokens
[width="80%",cols="67%,33%",options="header",align="center"]
|====
|Token type | Equivalent command
2017-06-05 03:48:43 +00:00
|ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX | fname:vkCmdBindPipeline
|ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX | fname:vkCmdBindDescriptorSets
|ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX | fname:vkCmdBindIndexBuffer
|ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX | fname:vkCmdBindVertexBuffers
|ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX | fname:vkCmdPushConstants
|ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX | fname:vkCmdDrawIndexedIndirect
|ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX | fname:vkCmdDrawIndirect
|ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX | fname:vkCmdDispatchIndirect
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
|====
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
--
2017-06-05 03:48:43 +00:00
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
[open,refpage='VkIndirectCommandsLayoutTokenNVX',desc='Struct specifying the details of an indirect command layout token',type='structs']
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
The sname:VkIndirectCommandsLayoutTokenNVX structure specifies details to
the function arguments that need to be known at layout creation time:
include::../../api/structs/VkIndirectCommandsLayoutTokenNVX.txt[]
* pname:type specifies the token command type.
* pname:bindingUnit has a different meaning depending on the type, please
refer pseudo code further down for details.
* pname:dynamicCount has a different meaning depending on the type, please
refer pseudo code further down for details.
* pname:divisor defines the rate at which the input data buffers are
accessed.
.Valid Usage
****
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsLayoutTokenNVX-bindingUnit-01342]]
pname:bindingUnit must: stay within device supported limits for the
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
appropriate commands.
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsLayoutTokenNVX-dynamicCount-01343]]
pname:dynamicCount must: stay within device supported limits for the
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
appropriate commands.
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsLayoutTokenNVX-divisor-01344]]
pname:divisor must: be greater than `0` and a power of two.
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
****
include::../../validity/structs/VkIndirectCommandsLayoutTokenNVX.txt[]
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
[open,refpage='VkIndirectCommandsTokenNVX',desc='Structure specifying parameters for the reservation of command buffer space',type='structs']
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
The sname:VkIndirectCommandsTokenNVX structure specifies the input data for
a token at processing time.
include::../../api/structs/VkIndirectCommandsTokenNVX.txt[]
* pname:tokenType specifies the token command type.
2018-06-18 08:46:28 +00:00
* pname:buffer specifies the slink:VkBuffer storing the functional
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
arguments for each squence.
These argumetns can be written by the device.
* pname:offset specified an offset into pname:buffer where the arguments
start.
.Valid Usage
****
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsTokenNVX-buffer-01345]]
The pname:buffer's usage flag must: have the
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
ename:VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set.
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsTokenNVX-offset-01346]]
The pname:offset must: be aligned to
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
sname:VkDeviceGeneratedCommandsLimitsNVX::pname:minCommandsTokenBufferOffsetAlignment.
****
include::../../validity/structs/VkIndirectCommandsTokenNVX.txt[]
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
The following code provides detailed information on how an individual
sequence is processed:
[source,c]
---------------------------------------------------
void cmdProcessSequence(cmd, objectTable, indirectCommandsLayout, pIndirectCommandsTokens, s)
{
for (uint32_t c = 0; c < indirectCommandsLayout.tokenCount; c++){
input = pIndirectCommandsTokens[c];
i = s / indirectCommandsLayout.pTokens[c].divisor;
switch(input.type){
2017-06-05 03:48:43 +00:00
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX:
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
size_t stride = sizeof(uint32_t);
uint32_t* data = input.buffer.pointer( input.offset + stride * i );
uint32_t object = data[0];
vkCmdBindPipeline(cmd, indirectCommandsLayout.pipelineBindPoint,
objectTable.pipelines[ object ].pipeline);
break;
2017-06-05 03:48:43 +00:00
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX:
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
size_t stride = sizeof(uint32_t) + sizeof(uint32_t) * indirectCommandsLayout.pTokens[c].dynamicCount;
uint32_t* data = input.buffer.pointer( input.offset + stride * i);
uint32_t object = data[0];
vkCmdBindDescriptorSets(cmd, indirectCommandsLayout.pipelineBindPoint,
objectTable.descriptorsets[ object ].layout,
indirectCommandsLayout.pTokens[ c ].bindingUnit,
1, &objectTable.descriptorsets[ object ].descriptorSet,
indirectCommandsLayout.pTokens[ c ].dynamicCount, data + 1);
break;
2017-06-05 03:48:43 +00:00
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX:
Change log for August 14, 2017 Vulkan 1.0.58 spec update:
* Bump API patch number and header version number to 58 for this update.
Github Issues:
* Update the <<interfaces-resources-descset,Descriptor Set Interface>>
section to allow multiple variables with the same descriptor set/binding
decorations, and require that all variables that are statically used
must be consistent with the pipeline layout. Allow
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER to be used with texture
and sampler variables (public issues 522, 524).
Internal Issues:
* Replace networkx package used for extension dependency generation with a
homegrown network dependency traverser (internal issue 713).
* Specify in the <<interfaces-fragmentoutput, Fragment Output Interface>>
section that if a fragment shader writes integers that cannot be
represented in the format of the colour attachment, then the result is
undefined (internal issue 893).
* Separate malformed valid usage statement for
slink:VkPipelineRasterizationStateCreateInfo into two (internal issue
918).
* Fix cases where the term 'pNext chain' is incorrectly used in reference
to functions, rather than their parameters. Replace 'pNext list' with
'pNext chain'. Fixed typo in the example code of
+VK_KHR_dedicated_allocation+ (internal issue 944).
* Fix typo in elink:VkExternalSemaphoreHandleTypeFlagBitsKHR enum
descriptions, replacing
etext:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT_KHR with
ename:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR, and make the
description more consistent with
VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR (internal issue 950).
Other Issues:
* Clarify how pipeline stage masks affect
<<synchronization-pipeline-stages-masks, access and synchronization
scopes>>.
* Clarify that dedicated allocations do not allow aliasing in the
flink:vkBindBufferMemory and flink:vkBindImageMemory valid usage
statements.
* Correct specification of pname:dynamicCount for push_constant token in
slink:VkIndirectCommandsLayoutNVX.
New Extensions:
* `VK_EXT_shader_viewport_index_layer`
2017-08-14 08:58:07 +00:00
size_t stride = sizeof(uint32_t) + indirectCommandsLayout.pTokens[c].dynamicCount;
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
uint32_t* data = input.buffer.pointer( input.offset + stride * i );
uint32_t object = data[0];
vkCmdPushConstants(cmd,
objectTable.pushconstants[ object ].layout,
objectTable.pushconstants[ object ].stageFlags,
indirectCommandsLayout.pTokens[ c ].bindingUnit, indirectCommandsLayout.pTokens[c].dynamicCount, data + 1);
break;
2017-06-05 03:48:43 +00:00
VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX:
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
size_t s tride = sizeof(uint32_t) + sizeof(uint32_t) * indirectCommandsLayout.pTokens[c].dynamicCount;
uint32_t* data = input.buffer.pointer( input.offset + stride * i );
uint32_t object = data[0];
vkCmdBindIndexBuffer(cmd,
objectTable.vertexbuffers[ object ].buffer,
indirectCommandsLayout.pTokens[ c ].dynamicCount ? data[1] : 0,
objectTable.vertexbuffers[ object ].indexType);
break;
2017-06-05 03:48:43 +00:00
VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX:
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
size_t stride = sizeof(uint32_t) + sizeof(uint32_t) * indirectCommandsLayout.pTokens[c].dynamicCount;
uint32_t* data = input.buffer.pointer( input.offset + stride * i );
uint32_t object = data[0];
vkCmdBindVertexBuffers(cmd,
indirectCommandsLayout.pTokens[ c ].bindingUnit, 1,
&objectTable.vertexbuffers[ object ].buffer,
indirectCommandsLayout.pTokens[ c ].dynamicCount ? data + 1 : {0}); // device size handled as uint32_t
break;
2017-06-05 03:48:43 +00:00
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX:
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
vkCmdDrawIndexedIndirect(cmd,
input.buffer,
sizeof(VkDrawIndexedIndirectCommand) * i + input.offset, 1, 0);
break;
2017-06-05 03:48:43 +00:00
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX:
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
vkCmdDrawIndirect(cmd,
input.buffer,
sizeof(VkDrawIndirectCommand) * i + input.offset, 1, 0);
break;
2017-06-05 03:48:43 +00:00
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX:
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
vkCmdDispatchIndirect(cmd,
input.buffer,
sizeof(VkDispatchIndirectCommand) * i + input.offset);
break;
}
}
}
---------------------------------------------------
2017-06-05 03:48:43 +00:00
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
=== Creation and Deletion
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
[open,refpage='vkCreateIndirectCommandsLayoutNVX',desc='Create an indirect command layout object',type='protos']
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
Indirect command layouts are created by:
include::../../api/protos/vkCreateIndirectCommandsLayoutNVX.txt[]
Change log for March 16, 2018 Vulkan 1.1.71 spec update:
* First public update for Vulkan 1.1.
Github Issues:
* Refer to standard sparse image block shape format tables explicitly in
the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>>
section (public issue 93).
* Add the missing definition of the code:LocalInvocationIndex decoration
in the <<interfaces-builtin-variables, Built-In Variables>> section
(public issue 532).
* Clarify dynamic state definition in the introduction to the <<pipelines,
Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic
State>> subsection (public issue 620).
* Clarified deprecation statement in the `VK_AMD_negative_viewport_height`
appendix (public issue 674).
* Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX
(public issue 677).
Internal Issues:
* Remove description of <<primsrast-points, rasterization point size>>
being taken from the tessellation control shader, since there are no
circumstances under which you can have TCS without TES (internal issue
522).
* Define <<copies-images-format-size-compatibility, _size-compatible_
image formats>> for flink:vkCmdCopyImage, add it to the glossary, and
use that definition for slink:VkImageViewCreateInfo (internal issue
771).
* Change brief descriptions of enumerant names, and of parameters which
are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for
consistency, and add a markup style guide rule (internal issue 862).
* Clarify how execution dependencies interact with
<<synchronization-submission-order, submission order>> at numerous
places in the <<renderpass, Render Pass>> and <<synchronization,
Synchronization>> chapters (internal issue 1062).
* Clarify statement in the <<interfaces-resources-setandbinding,
DescriptorSet and Binding Assignment>> section that only interface
variables statically used by the entry point used in a pipeline must be
present in the descriptor set layout (internal issue 1172).
* Flip sparse image diagrams with partially full mip levels vertically, to
match graph origins of other image diagrams (internal issue 1176).
* Update new SVG diagrams to have consistent style and base font size,
increase consistency of primitive topology diagrams, and add a section
to the style guide on creating and editing images in a consistent style
(internal issue 1177).
* Resolve problems with valid usage statement extraction by fixing
existing VUID tags for interfaces promoted to version 1.1 and fixing
conditional directives around
VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184).
* Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that
were missed previously (internal issue 1185).
* Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only
work on code:Image operands with their code:Sampled operand set to 1. In
other words, these operations are not defined to work with storage
images (internal issue 1193).
* Recycle extension slot for extension #82 in `vk.xml`. This extension was
never published (internal issue 1195).
* Add an issue to the `VK_KHR_maintenance1` appendix noting that zero
height viewports are allowed when this extension is enabled (internal
issue 1202).
* Fix slink:VkDescriptorSetLayoutBinding description so that shader stages
always use descriptor bindings, not the other way around (internal issue
1206).
* Fix field name for
slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex
(internal issue 1210).
Other Issues:
* Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix.
* Replace a few old refBegin/refEnd tags with open block markup around
interfaces, and remove old KHX VUID tags that were breaking the valid
usage statement extraction.
* Fix error codes accidentally tagged as success codes in `vk.xml` for
flink:vkGetSwapchainCounterEXT.
* Added valid usage statements for ftext:vkBind*Memory2 input structures
stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a
couple of places.
* Fix swapped descriptions of elink:VkDescriptorType enums
ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and
ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet).
New Extensions:
* `VK_ANDROID_external_memory_android_hardware_buffer`
2018-03-17 11:04:05 +00:00
* pname:device is the logical device that creates the indirect command
layout.
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
* pname:pCreateInfo is a pointer to an instance of the
Change log for March 16, 2018 Vulkan 1.1.71 spec update:
* First public update for Vulkan 1.1.
Github Issues:
* Refer to standard sparse image block shape format tables explicitly in
the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>>
section (public issue 93).
* Add the missing definition of the code:LocalInvocationIndex decoration
in the <<interfaces-builtin-variables, Built-In Variables>> section
(public issue 532).
* Clarify dynamic state definition in the introduction to the <<pipelines,
Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic
State>> subsection (public issue 620).
* Clarified deprecation statement in the `VK_AMD_negative_viewport_height`
appendix (public issue 674).
* Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX
(public issue 677).
Internal Issues:
* Remove description of <<primsrast-points, rasterization point size>>
being taken from the tessellation control shader, since there are no
circumstances under which you can have TCS without TES (internal issue
522).
* Define <<copies-images-format-size-compatibility, _size-compatible_
image formats>> for flink:vkCmdCopyImage, add it to the glossary, and
use that definition for slink:VkImageViewCreateInfo (internal issue
771).
* Change brief descriptions of enumerant names, and of parameters which
are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for
consistency, and add a markup style guide rule (internal issue 862).
* Clarify how execution dependencies interact with
<<synchronization-submission-order, submission order>> at numerous
places in the <<renderpass, Render Pass>> and <<synchronization,
Synchronization>> chapters (internal issue 1062).
* Clarify statement in the <<interfaces-resources-setandbinding,
DescriptorSet and Binding Assignment>> section that only interface
variables statically used by the entry point used in a pipeline must be
present in the descriptor set layout (internal issue 1172).
* Flip sparse image diagrams with partially full mip levels vertically, to
match graph origins of other image diagrams (internal issue 1176).
* Update new SVG diagrams to have consistent style and base font size,
increase consistency of primitive topology diagrams, and add a section
to the style guide on creating and editing images in a consistent style
(internal issue 1177).
* Resolve problems with valid usage statement extraction by fixing
existing VUID tags for interfaces promoted to version 1.1 and fixing
conditional directives around
VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184).
* Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that
were missed previously (internal issue 1185).
* Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only
work on code:Image operands with their code:Sampled operand set to 1. In
other words, these operations are not defined to work with storage
images (internal issue 1193).
* Recycle extension slot for extension #82 in `vk.xml`. This extension was
never published (internal issue 1195).
* Add an issue to the `VK_KHR_maintenance1` appendix noting that zero
height viewports are allowed when this extension is enabled (internal
issue 1202).
* Fix slink:VkDescriptorSetLayoutBinding description so that shader stages
always use descriptor bindings, not the other way around (internal issue
1206).
* Fix field name for
slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex
(internal issue 1210).
Other Issues:
* Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix.
* Replace a few old refBegin/refEnd tags with open block markup around
interfaces, and remove old KHX VUID tags that were breaking the valid
usage statement extraction.
* Fix error codes accidentally tagged as success codes in `vk.xml` for
flink:vkGetSwapchainCounterEXT.
* Added valid usage statements for ftext:vkBind*Memory2 input structures
stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a
couple of places.
* Fix swapped descriptions of elink:VkDescriptorType enums
ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and
ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet).
New Extensions:
* `VK_ANDROID_external_memory_android_hardware_buffer`
2018-03-17 11:04:05 +00:00
sname:VkIndirectCommandsLayoutCreateInfoNVX structure containing
parameters affecting creation of the indirect command layout.
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
Change log for March 16, 2018 Vulkan 1.1.71 spec update:
* First public update for Vulkan 1.1.
Github Issues:
* Refer to standard sparse image block shape format tables explicitly in
the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>>
section (public issue 93).
* Add the missing definition of the code:LocalInvocationIndex decoration
in the <<interfaces-builtin-variables, Built-In Variables>> section
(public issue 532).
* Clarify dynamic state definition in the introduction to the <<pipelines,
Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic
State>> subsection (public issue 620).
* Clarified deprecation statement in the `VK_AMD_negative_viewport_height`
appendix (public issue 674).
* Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX
(public issue 677).
Internal Issues:
* Remove description of <<primsrast-points, rasterization point size>>
being taken from the tessellation control shader, since there are no
circumstances under which you can have TCS without TES (internal issue
522).
* Define <<copies-images-format-size-compatibility, _size-compatible_
image formats>> for flink:vkCmdCopyImage, add it to the glossary, and
use that definition for slink:VkImageViewCreateInfo (internal issue
771).
* Change brief descriptions of enumerant names, and of parameters which
are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for
consistency, and add a markup style guide rule (internal issue 862).
* Clarify how execution dependencies interact with
<<synchronization-submission-order, submission order>> at numerous
places in the <<renderpass, Render Pass>> and <<synchronization,
Synchronization>> chapters (internal issue 1062).
* Clarify statement in the <<interfaces-resources-setandbinding,
DescriptorSet and Binding Assignment>> section that only interface
variables statically used by the entry point used in a pipeline must be
present in the descriptor set layout (internal issue 1172).
* Flip sparse image diagrams with partially full mip levels vertically, to
match graph origins of other image diagrams (internal issue 1176).
* Update new SVG diagrams to have consistent style and base font size,
increase consistency of primitive topology diagrams, and add a section
to the style guide on creating and editing images in a consistent style
(internal issue 1177).
* Resolve problems with valid usage statement extraction by fixing
existing VUID tags for interfaces promoted to version 1.1 and fixing
conditional directives around
VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184).
* Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that
were missed previously (internal issue 1185).
* Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only
work on code:Image operands with their code:Sampled operand set to 1. In
other words, these operations are not defined to work with storage
images (internal issue 1193).
* Recycle extension slot for extension #82 in `vk.xml`. This extension was
never published (internal issue 1195).
* Add an issue to the `VK_KHR_maintenance1` appendix noting that zero
height viewports are allowed when this extension is enabled (internal
issue 1202).
* Fix slink:VkDescriptorSetLayoutBinding description so that shader stages
always use descriptor bindings, not the other way around (internal issue
1206).
* Fix field name for
slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex
(internal issue 1210).
Other Issues:
* Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix.
* Replace a few old refBegin/refEnd tags with open block markup around
interfaces, and remove old KHX VUID tags that were breaking the valid
usage statement extraction.
* Fix error codes accidentally tagged as success codes in `vk.xml` for
flink:vkGetSwapchainCounterEXT.
* Added valid usage statements for ftext:vkBind*Memory2 input structures
stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a
couple of places.
* Fix swapped descriptions of elink:VkDescriptorType enums
ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and
ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet).
New Extensions:
* `VK_ANDROID_external_memory_android_hardware_buffer`
2018-03-17 11:04:05 +00:00
* pname:pIndirectCommandsLayout points to a
sname:VkIndirectCommandsLayoutNVX handle in which the resulting indirect
command layout is returned.
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
include::../../validity/protos/vkCreateIndirectCommandsLayoutNVX.txt[]
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
[open,refpage='VkIndirectCommandsLayoutCreateInfoNVX',desc='Structure specifying the parameters of a newly created indirect commands layout object',type='structs']
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
The sname:VkIndirectCommandsLayoutCreateInfoNVX structure is defined as:
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.
2018-06-18 08:46:28 +00:00
* pname:pipelineBindPoint is the slink:VkPipelineBindPoint that this
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
layout targets.
2017-06-05 03:48:43 +00:00
* pname:flags is a bitmask of
elink:VkIndirectCommandsLayoutUsageFlagBitsNVX specifying usage hints of
this layout.
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
* pname:tokenCount is the length of the individual command sequnce.
* pname:pTokens is an array describing each command token in detail.
See elink:VkIndirectCommandsTokenTypeNVX and
slink:VkIndirectCommandsLayoutTokenNVX below for details.
The following code illustrates some of the key flags:
[source,c]
---------------------------------------------------
void cmdProcessAllSequences(cmd, objectTable, indirectCommandsLayout, pIndirectCommandsTokens, sequencesCount, indexbuffer, indexbufferoffset)
{
for (s = 0; s < sequencesCount; s++)
{
sequence = s;
if (indirectCommandsLayout.flags & VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX) {
sequence = incoherent_implementation_dependent_permutation[ sequence ];
}
if (indirectCommandsLayout.flags & VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX) {
sequence = indexbuffer.load_uint32( sequence * sizeof(uint32_t) + indexbufferoffset);
}
cmdProcessSequence( cmd, objectTable, indirectCommandsLayout, pIndirectCommandsTokens, sequence );
}
}
---------------------------------------------------
.Valid Usage
****
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsLayoutCreateInfoNVX-tokenCount-01347]]
pname:tokenCount must: be greater than `0` and below
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
sname:VkDeviceGeneratedCommandsLimitsNVX::pname:maxIndirectCommandsLayoutTokenCount
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsLayoutCreateInfoNVX-computeBindingPointSupport-01348]]
If the
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
sname:VkDeviceGeneratedCommandsFeaturesNVX::pname:computeBindingPointSupport
feature is not enabled, then pname:pipelineBindPoint must: not be
ename:VK_PIPELINE_BIND_POINT_COMPUTE
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsLayoutCreateInfoNVX-pTokens-01349]]
If pname:pTokens contains an entry of
2017-06-05 03:48:43 +00:00
ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX it must: be the first
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
element of the array and there must: be only a single element of such
token type.
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsLayoutCreateInfoNVX-pTokens-01350]]
All state binding tokens in pname:pTokens must: occur prior work
2017-06-05 03:48:43 +00:00
provoking tokens (ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX,
ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX,
ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX).
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-VkIndirectCommandsLayoutCreateInfoNVX-pTokens-01351]]
2017-06-05 03:48:43 +00:00
The content of pname:pTokens must: include one single work provoking
token that is compatible with the pname:pipelineBindPoint.
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
****
include::../../validity/structs/VkIndirectCommandsLayoutCreateInfoNVX.txt[]
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
[open,refpage='VkIndirectCommandsLayoutUsageFlagBitsNVX',desc='Bitmask specifying allowed usage of a indirect commands layout',type='enums']
--
2017-06-05 03:48:43 +00:00
Bits which can: be set in
slink:VkIndirectCommandsLayoutCreateInfoNVX::pname:flags, specifying usage
hints of an indirect command layout, are:
include::../../api/enums/VkIndirectCommandsLayoutUsageFlagBitsNVX.txt[]
* ename:VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX
Change log for March 16, 2018 Vulkan 1.1.71 spec update:
* First public update for Vulkan 1.1.
Github Issues:
* Refer to standard sparse image block shape format tables explicitly in
the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>>
section (public issue 93).
* Add the missing definition of the code:LocalInvocationIndex decoration
in the <<interfaces-builtin-variables, Built-In Variables>> section
(public issue 532).
* Clarify dynamic state definition in the introduction to the <<pipelines,
Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic
State>> subsection (public issue 620).
* Clarified deprecation statement in the `VK_AMD_negative_viewport_height`
appendix (public issue 674).
* Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX
(public issue 677).
Internal Issues:
* Remove description of <<primsrast-points, rasterization point size>>
being taken from the tessellation control shader, since there are no
circumstances under which you can have TCS without TES (internal issue
522).
* Define <<copies-images-format-size-compatibility, _size-compatible_
image formats>> for flink:vkCmdCopyImage, add it to the glossary, and
use that definition for slink:VkImageViewCreateInfo (internal issue
771).
* Change brief descriptions of enumerant names, and of parameters which
are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for
consistency, and add a markup style guide rule (internal issue 862).
* Clarify how execution dependencies interact with
<<synchronization-submission-order, submission order>> at numerous
places in the <<renderpass, Render Pass>> and <<synchronization,
Synchronization>> chapters (internal issue 1062).
* Clarify statement in the <<interfaces-resources-setandbinding,
DescriptorSet and Binding Assignment>> section that only interface
variables statically used by the entry point used in a pipeline must be
present in the descriptor set layout (internal issue 1172).
* Flip sparse image diagrams with partially full mip levels vertically, to
match graph origins of other image diagrams (internal issue 1176).
* Update new SVG diagrams to have consistent style and base font size,
increase consistency of primitive topology diagrams, and add a section
to the style guide on creating and editing images in a consistent style
(internal issue 1177).
* Resolve problems with valid usage statement extraction by fixing
existing VUID tags for interfaces promoted to version 1.1 and fixing
conditional directives around
VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184).
* Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that
were missed previously (internal issue 1185).
* Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only
work on code:Image operands with their code:Sampled operand set to 1. In
other words, these operations are not defined to work with storage
images (internal issue 1193).
* Recycle extension slot for extension #82 in `vk.xml`. This extension was
never published (internal issue 1195).
* Add an issue to the `VK_KHR_maintenance1` appendix noting that zero
height viewports are allowed when this extension is enabled (internal
issue 1202).
* Fix slink:VkDescriptorSetLayoutBinding description so that shader stages
always use descriptor bindings, not the other way around (internal issue
1206).
* Fix field name for
slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex
(internal issue 1210).
Other Issues:
* Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix.
* Replace a few old refBegin/refEnd tags with open block markup around
interfaces, and remove old KHX VUID tags that were breaking the valid
usage statement extraction.
* Fix error codes accidentally tagged as success codes in `vk.xml` for
flink:vkGetSwapchainCounterEXT.
* Added valid usage statements for ftext:vkBind*Memory2 input structures
stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a
couple of places.
* Fix swapped descriptions of elink:VkDescriptorType enums
ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and
ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet).
New Extensions:
* `VK_ANDROID_external_memory_android_hardware_buffer`
2018-03-17 11:04:05 +00:00
specifies that the processing of sequences can: happen at an
2017-06-05 03:48:43 +00:00
implementation-dependent order, which is not guaranteed to be coherent
across multiple invocations.
* ename:VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX
Change log for March 16, 2018 Vulkan 1.1.71 spec update:
* First public update for Vulkan 1.1.
Github Issues:
* Refer to standard sparse image block shape format tables explicitly in
the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>>
section (public issue 93).
* Add the missing definition of the code:LocalInvocationIndex decoration
in the <<interfaces-builtin-variables, Built-In Variables>> section
(public issue 532).
* Clarify dynamic state definition in the introduction to the <<pipelines,
Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic
State>> subsection (public issue 620).
* Clarified deprecation statement in the `VK_AMD_negative_viewport_height`
appendix (public issue 674).
* Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX
(public issue 677).
Internal Issues:
* Remove description of <<primsrast-points, rasterization point size>>
being taken from the tessellation control shader, since there are no
circumstances under which you can have TCS without TES (internal issue
522).
* Define <<copies-images-format-size-compatibility, _size-compatible_
image formats>> for flink:vkCmdCopyImage, add it to the glossary, and
use that definition for slink:VkImageViewCreateInfo (internal issue
771).
* Change brief descriptions of enumerant names, and of parameters which
are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for
consistency, and add a markup style guide rule (internal issue 862).
* Clarify how execution dependencies interact with
<<synchronization-submission-order, submission order>> at numerous
places in the <<renderpass, Render Pass>> and <<synchronization,
Synchronization>> chapters (internal issue 1062).
* Clarify statement in the <<interfaces-resources-setandbinding,
DescriptorSet and Binding Assignment>> section that only interface
variables statically used by the entry point used in a pipeline must be
present in the descriptor set layout (internal issue 1172).
* Flip sparse image diagrams with partially full mip levels vertically, to
match graph origins of other image diagrams (internal issue 1176).
* Update new SVG diagrams to have consistent style and base font size,
increase consistency of primitive topology diagrams, and add a section
to the style guide on creating and editing images in a consistent style
(internal issue 1177).
* Resolve problems with valid usage statement extraction by fixing
existing VUID tags for interfaces promoted to version 1.1 and fixing
conditional directives around
VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184).
* Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that
were missed previously (internal issue 1185).
* Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only
work on code:Image operands with their code:Sampled operand set to 1. In
other words, these operations are not defined to work with storage
images (internal issue 1193).
* Recycle extension slot for extension #82 in `vk.xml`. This extension was
never published (internal issue 1195).
* Add an issue to the `VK_KHR_maintenance1` appendix noting that zero
height viewports are allowed when this extension is enabled (internal
issue 1202).
* Fix slink:VkDescriptorSetLayoutBinding description so that shader stages
always use descriptor bindings, not the other way around (internal issue
1206).
* Fix field name for
slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex
(internal issue 1210).
Other Issues:
* Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix.
* Replace a few old refBegin/refEnd tags with open block markup around
interfaces, and remove old KHX VUID tags that were breaking the valid
usage statement extraction.
* Fix error codes accidentally tagged as success codes in `vk.xml` for
flink:vkGetSwapchainCounterEXT.
* Added valid usage statements for ftext:vkBind*Memory2 input structures
stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a
couple of places.
* Fix swapped descriptions of elink:VkDescriptorType enums
ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and
ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet).
New Extensions:
* `VK_ANDROID_external_memory_android_hardware_buffer`
2018-03-17 11:04:05 +00:00
specifies that there is likely a high difference between allocated
2017-06-05 03:48:43 +00:00
number of sequences and actually used.
* ename:VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX
Change log for March 16, 2018 Vulkan 1.1.71 spec update:
* First public update for Vulkan 1.1.
Github Issues:
* Refer to standard sparse image block shape format tables explicitly in
the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>>
section (public issue 93).
* Add the missing definition of the code:LocalInvocationIndex decoration
in the <<interfaces-builtin-variables, Built-In Variables>> section
(public issue 532).
* Clarify dynamic state definition in the introduction to the <<pipelines,
Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic
State>> subsection (public issue 620).
* Clarified deprecation statement in the `VK_AMD_negative_viewport_height`
appendix (public issue 674).
* Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX
(public issue 677).
Internal Issues:
* Remove description of <<primsrast-points, rasterization point size>>
being taken from the tessellation control shader, since there are no
circumstances under which you can have TCS without TES (internal issue
522).
* Define <<copies-images-format-size-compatibility, _size-compatible_
image formats>> for flink:vkCmdCopyImage, add it to the glossary, and
use that definition for slink:VkImageViewCreateInfo (internal issue
771).
* Change brief descriptions of enumerant names, and of parameters which
are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for
consistency, and add a markup style guide rule (internal issue 862).
* Clarify how execution dependencies interact with
<<synchronization-submission-order, submission order>> at numerous
places in the <<renderpass, Render Pass>> and <<synchronization,
Synchronization>> chapters (internal issue 1062).
* Clarify statement in the <<interfaces-resources-setandbinding,
DescriptorSet and Binding Assignment>> section that only interface
variables statically used by the entry point used in a pipeline must be
present in the descriptor set layout (internal issue 1172).
* Flip sparse image diagrams with partially full mip levels vertically, to
match graph origins of other image diagrams (internal issue 1176).
* Update new SVG diagrams to have consistent style and base font size,
increase consistency of primitive topology diagrams, and add a section
to the style guide on creating and editing images in a consistent style
(internal issue 1177).
* Resolve problems with valid usage statement extraction by fixing
existing VUID tags for interfaces promoted to version 1.1 and fixing
conditional directives around
VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184).
* Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that
were missed previously (internal issue 1185).
* Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only
work on code:Image operands with their code:Sampled operand set to 1. In
other words, these operations are not defined to work with storage
images (internal issue 1193).
* Recycle extension slot for extension #82 in `vk.xml`. This extension was
never published (internal issue 1195).
* Add an issue to the `VK_KHR_maintenance1` appendix noting that zero
height viewports are allowed when this extension is enabled (internal
issue 1202).
* Fix slink:VkDescriptorSetLayoutBinding description so that shader stages
always use descriptor bindings, not the other way around (internal issue
1206).
* Fix field name for
slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex
(internal issue 1210).
Other Issues:
* Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix.
* Replace a few old refBegin/refEnd tags with open block markup around
interfaces, and remove old KHX VUID tags that were breaking the valid
usage statement extraction.
* Fix error codes accidentally tagged as success codes in `vk.xml` for
flink:vkGetSwapchainCounterEXT.
* Added valid usage statements for ftext:vkBind*Memory2 input structures
stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a
couple of places.
* Fix swapped descriptions of elink:VkDescriptorType enums
ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and
ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet).
New Extensions:
* `VK_ANDROID_external_memory_android_hardware_buffer`
2018-03-17 11:04:05 +00:00
specifies that there are likely many draw or dispatch calls that are
2017-06-05 03:48:43 +00:00
zero-sized (zero grid dimension, no primitives to render).
* ename:VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX
Change log for March 16, 2018 Vulkan 1.1.71 spec update:
* First public update for Vulkan 1.1.
Github Issues:
* Refer to standard sparse image block shape format tables explicitly in
the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>>
section (public issue 93).
* Add the missing definition of the code:LocalInvocationIndex decoration
in the <<interfaces-builtin-variables, Built-In Variables>> section
(public issue 532).
* Clarify dynamic state definition in the introduction to the <<pipelines,
Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic
State>> subsection (public issue 620).
* Clarified deprecation statement in the `VK_AMD_negative_viewport_height`
appendix (public issue 674).
* Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX
(public issue 677).
Internal Issues:
* Remove description of <<primsrast-points, rasterization point size>>
being taken from the tessellation control shader, since there are no
circumstances under which you can have TCS without TES (internal issue
522).
* Define <<copies-images-format-size-compatibility, _size-compatible_
image formats>> for flink:vkCmdCopyImage, add it to the glossary, and
use that definition for slink:VkImageViewCreateInfo (internal issue
771).
* Change brief descriptions of enumerant names, and of parameters which
are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for
consistency, and add a markup style guide rule (internal issue 862).
* Clarify how execution dependencies interact with
<<synchronization-submission-order, submission order>> at numerous
places in the <<renderpass, Render Pass>> and <<synchronization,
Synchronization>> chapters (internal issue 1062).
* Clarify statement in the <<interfaces-resources-setandbinding,
DescriptorSet and Binding Assignment>> section that only interface
variables statically used by the entry point used in a pipeline must be
present in the descriptor set layout (internal issue 1172).
* Flip sparse image diagrams with partially full mip levels vertically, to
match graph origins of other image diagrams (internal issue 1176).
* Update new SVG diagrams to have consistent style and base font size,
increase consistency of primitive topology diagrams, and add a section
to the style guide on creating and editing images in a consistent style
(internal issue 1177).
* Resolve problems with valid usage statement extraction by fixing
existing VUID tags for interfaces promoted to version 1.1 and fixing
conditional directives around
VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184).
* Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that
were missed previously (internal issue 1185).
* Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only
work on code:Image operands with their code:Sampled operand set to 1. In
other words, these operations are not defined to work with storage
images (internal issue 1193).
* Recycle extension slot for extension #82 in `vk.xml`. This extension was
never published (internal issue 1195).
* Add an issue to the `VK_KHR_maintenance1` appendix noting that zero
height viewports are allowed when this extension is enabled (internal
issue 1202).
* Fix slink:VkDescriptorSetLayoutBinding description so that shader stages
always use descriptor bindings, not the other way around (internal issue
1206).
* Fix field name for
slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex
(internal issue 1210).
Other Issues:
* Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix.
* Replace a few old refBegin/refEnd tags with open block markup around
interfaces, and remove old KHX VUID tags that were breaking the valid
usage statement extraction.
* Fix error codes accidentally tagged as success codes in `vk.xml` for
flink:vkGetSwapchainCounterEXT.
* Added valid usage statements for ftext:vkBind*Memory2 input structures
stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a
couple of places.
* Fix swapped descriptions of elink:VkDescriptorType enums
ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and
ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet).
New Extensions:
* `VK_ANDROID_external_memory_android_hardware_buffer`
2018-03-17 11:04:05 +00:00
specifies that the input data for the sequences is not implicitly
2017-06-05 03:48:43 +00:00
indexed from 0..sequencesUsed but a user provided sname:VkBuffer
encoding the index is provided.
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
--
2017-06-05 03:48:43 +00:00
Change log for January 15, 2018 Vulkan 1.0.68 spec update:
* Bump API patch number and header version number to 68 for this update.
Github Issues:
* Added more details in the
<<extended-functionality-extensions-compatibility, Extension
Compatibility>> section, allowing explicit incompatibilities, and
simplify corresponding language in the style guide, which now defers to
the API Specification on this point (public issue 638).
* Fix typo in description of slink:VkCommandBufferLevel::pname:level
(public issue 651).
* Only include extension-dependent valid usage statement for
slink:VkImageSubresourceRange, and note that the extension names for
header files described in the <<boilerplate-wsi-header, Window
System-Specific Header Control>> section are only valid links, when the
specification being viewed is built with the corresponding extensions
enabled (public issue 652).
Internal Issues:
* Add language to elink:VkResult specifying that when commands return an
error, output parameter contents are undefined instead of unmodified
(except for pname:sType and pname:pNext). Note that this is a behavior
change. Add notes calling out slink:VkImageFormatProperties as an
exception (internal issue 1118).
* Add "`general-purpose`" to the style guide, and correct existing uses of
"`general purpose`" as an adjective (internal issue 1121).
* Add the ename:VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT token
for the `VK_EXT_validation_cache` extension, following the same naming
pattern as other tokens in the extension, but keep the old
ename:VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT token around for
backwards compatibility (internal issue 1126).
Other Issues:
* Specify that flink:vkCmdSetDiscardRectangleEXT does not affect copies or
clears, matching existing language for the scissor rectangle test.
* Move the <<boilerplate-sType, pname:sType>> definition from the
boilerplate appendix to the Fundamentals chapter, putting it together
with the valid usage of pname:sType rather than having the definition
split across two places.
* Inline all of the etext:Vk*Flags definitions, moving each one from the
boilerplate appendix to appear either after the corresponding
etext:Vk*FlagBits value if one is defined, or after the first structure
that includes them if not.
2018-01-15 13:29:25 +00:00
[open,refpage='VkIndirectCommandsLayoutUsageFlagsNVX',desc='Bitmask of VkIndirectCommandsLayoutUsageFlagBitsNVX',type='enums']
--
include::../../api/flags/VkIndirectCommandsLayoutUsageFlagsNVX.txt[]
sname:VkIndirectCommandsLayoutUsageFlagsNVX is a bitmask type for setting a
mask of zero or more slink:VkIndirectCommandsLayoutUsageFlagBitsNVX.
--
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
[open,refpage='vkDestroyIndirectCommandsLayoutNVX',desc='Destroy a object table',type='protos']
--
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
Indirect command layouts are destroyed by:
include::../../api/protos/vkDestroyIndirectCommandsLayoutNVX.txt[]
* pname:device is the logical device that destroys the layout.
* pname:indirectCommandsLayout is the table to destroy.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
.Valid Usage
****
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-vkDestroyIndirectCommandsLayoutNVX-indirectCommandsLayout-01352]]
All submitted commands that refer to pname:indirectCommandsLayout must:
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
have completed execution
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-vkDestroyIndirectCommandsLayoutNVX-objectTable-01353]]
If sname:VkAllocationCallbacks were provided when pname:objectTable was
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
created, a compatible set of callbacks must: be provided here
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
* [[VUID-vkDestroyIndirectCommandsLayoutNVX-objectTable-01354]]
If no sname:VkAllocationCallbacks were provided when pname:objectTable
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
* Bump API patch number and header version number to 35 for this update.
Github Issues:
* Document in the <<memory-device-hostaccess,Host Access>> section that
mapping and unmapping does not invalidate or flush the mapped memory
(public issues 27, 126).
* Redefine the entire <<synchronization>> chapter in terms of consistent
and well defined terminology, that's called out at the start of the
chapter. This terminology is applied equally to all synchronization
types, including subpass dependencies, submissions, and much of the
implicit ordering stuff dotted around the spec. Key terms are laid out
in the <<synchronization-dependencies,Execution and Memory
Dependencies>> section at the top of the rewritten chapter (public
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
* Specify order of submission for batches in the
<<vkQueueSubmit,vkQueueSubmit>> and
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
* Add valid usage statements to each of the WSI extension sections
indicating that the WSI-specific structure parameters must be valid, and
remove automatically generated valid usage statements now covered by the
manual sections (public issue 383).
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
issue 390).
Internal Issues:
* Update +vk.xml+ to make previously explicit valid usage statements for
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
(internal issue 553).
* Add valid usage statement for slink:VkCreateImageInfo preventing
creation of 1D sparse images (internal issue 573).
* Fix Python scripts to always read/write files in utf-8 encoding, and a
logic error in reflib.py which could cause a fatal error for
malstructured asciidoc (internal issues 578, 586).
2016-11-26 10:33:44 +00:00
was created, pname:pAllocator must: be `NULL`
****
Change log for March 17, 2017 Vulkan 1.0.44 spec update:
* Bump API patch number and header version number to 44 for this update.
Github Issues:
* Fix description of <<features-extentperimagetype, Allowed Extent Values
Based On Image Type>> (public issue 290).
* Better specify VK_DEVICE_LOST behavior around flink:vkQueueSubmit,
flink:vkWaitForFences, and flink:vkGetFenceStatus (public issue 423).
* Clarify definition of flink:vkGetQueryPoolResults::pname:queryCount
(public issue 441).
* Simplify and clean up normative language. Remove shall and replace
recommend and variants with should wherever possible (public issue 448).
* Fix all dangling internal cross-references in the 1.0-extensions
specification, and add scripts/checkXrefs to find these in the future
(public issue 456).
* Reverse order of ChangeLog.txt entries so the most recent version is
documented first (public issue 463)
* Removes "become invalid" which clashes with invalid state for command
buffers. (public issue 467)
* Disallowed pending state in spec text for vkResetCommandBuffer, matching
valid usage (public issue 468)
* Removes sentence describing invalid state "like initial state". (public
issue 469)
* Disallows begin command buffer from resetting command buffers in the
"recording" state. (public issue 470)
* Removes mention of state from description of
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT (public issue 471)
* Removed extra valid usage statement in VkSubmitInfo (public issue 472)
Internal Issues:
* Clarify description of the pname:imageLayout member of
sname:VkDescriptorImageInfo.
* Fix typos where etext:VK_VIEW_TYPE* was used instead of
etext:VK_IMAGE_VIEW_TYPE.
* Removed the <<VK_KHR_display>> and <<VK_KHR_display_swapchain>> example
code from the specification and noted it has been moved to the Vulkan
SDK cube demo (internal issue 179).
* Reorder VkExternalMemoryHandleTypeFlagBitsNV description (internal issue
480).
* Clarify than an implementation is
<<fundamentals-validusage-flags,permitted to return 'undefined' bit
flags>> in a bitfield (internal issue 640).
* Break Valid Usage statements describing unrelated parameters into
separate statements, and add a style guide entry to follow this approach
(internal issue 685).
* Move valid usage statement for slink:VkImageCreateInfo from spec body to
the explicit valid usage block (internal issue 693).
* Fix typos in the descriptions of slink:VkDisplaySurfaceCreateInfoKHR,
flink:vkCreateDisplayModeKHR, and
flink:vkGetDisplayPlaneSupportedDisplaysKHR in the <<display,Presenting
Directly to Display Devices>> section (internal issue 698, 704, 716).
* Clarified that mandatory depth/stencil formats are only a requirement
for 2D images (internal issue 719).
* Clarify that variables decorated with DeviceIndex/ViewIndex must be in
the Input storage class (internal issue 733).
* Work around generator script problem with removal of Unicode literals
from Python 3.0-3.2 using `future` package (internal issue 737).
* Remove nonexistent structure type enums from vk.xml (internal issue
738).
* Fix validextensionstructs attributes for structures in the pname:pNext
chain for VkPresentInfoKHR, fixing implicit valid usage statements for
those structures (internal issue 740).
New Extensions:
2017-03-18 05:53:58 +00:00
include::../../validity/protos/vkDestroyIndirectCommandsLayoutNVX.txt[]
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.
Github Issues:
Internal Issues:
* Clarify mappings of coordinates for mutable, compatible image views in
slink:VkImageViewCreateInfo (internal issue 815).
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
physical devices, so that standard sparse image block dimensions are
only required on systems that support multi-GPU (internal issue 835).
* Convert all files from use of // refBegin .. // refEnd comments to
delimit ref pages, to use of open blocks, and update style guide
accordingly (internal issue 839).
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
to a ename:VK_STORAGE_IMAGE descriptor with layout
ename:VK_IMAGE_LAYOUT_GENERAL.
* Add a hack to the validity generator script to support an odd
interaction between flink:vkCmdFillBuffer and an extension (internal
issue 853).
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
which was already covered by implicit valid usage (internal issue 854).
* Update implicit validity generator script to properly handle the
pname:sType and pname:pNext members of "returnedonly" structures
(internal issue 874).
* Note that slink:VkApplicationInfo::pname:pApplicationName &
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
implicit valid usage statements for flink:vkDestroyInstance.
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
timestamp query pool.
* Simplify and/or split "`non-atomic`" valid usage statements.
New Extensions:
* `VK_AMD_gpu_shader_int16`
* `VK_EXT_blend_operation_advanced`
* `VK_EXT_sampler_filter_minmax`
* `VK_NV_framebuffer_mixed_samples`
-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
* Bump API patch number and header version number to 52 for this update.
Github Issues:
Internal Issues:
* Clarify behavior when non-coherent memory has
<<memory-device-unmap-does-not-flush, not been flushed before being
unmapped>> (internal issue 819).
* Fix description of code:WorkgroupSize builtin to note it decorates an
object, not a variable (internal issue 836).
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
equations are rendered properly (internal issue 845).
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
section of the Procedures and Conventions document stating that any new
handle type requires a corresponding entry in the elink:VkObjectType
enumerated type (internal issue 856).
* Update style guide to use slink macro for Vulkan handle type names, and
define narrow conditions under which to use the *name and *text macros
instead of *link (internal issue 886).
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
appendix.
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.
New Extensions:
* `VK_NV_fill_rectangle`
* `VK_NV_fragment_coverage_to_color`
2017-06-27 02:32:10 +00:00
--