aboutsummaryrefslogtreecommitdiffhomepage
path: root/registry
diff options
context:
space:
mode:
authorJon Leech <[email protected]>2024-10-11 01:34:23 -0700
committerJon Leech <[email protected]>2024-10-11 01:41:38 -0700
commitd91597a82f881d473887b560a03a7edf2720b72c (patch)
tree5c04a18d1e7f1251e04548051d6438189eb8c88c /registry
parent14345dab231912ee9601136e96ca67a6e1f632e7 (diff)
downloadVulkan-Headers-d91597a82f881d473887b560a03a7edf2720b72c.tar.gz
Vulkan-Headers-d91597a82f881d473887b560a03a7edf2720b72c.zip
Update for Vulkan-Docs 1.3.298v1.3.298
Diffstat (limited to 'registry')
-rw-r--r--registry/validusage.json156
-rw-r--r--registry/vk.xml67
2 files changed, 159 insertions, 64 deletions
diff --git a/registry/validusage.json b/registry/validusage.json
index 431baa6..d4cf45e 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.297",
- "comment": "from git branch: github-main commit: 4f8b03b46334ca0abb992b3d7e38ea90f4f68a23",
- "date": "2024-10-04 12:37:52Z"
+ "api version": "1.3.298",
+ "comment": "from git branch: github-main commit: 05d5444cce55e340e07ead87d552407da5ea8771",
+ "date": "2024-10-11 07:51:42Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -15821,6 +15821,31 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-shaderMeshEnqueue-10187",
+ "text": "If <a href=\"#features-shaderMeshEnqueue\"><code>shaderMeshEnqueue</code></a> is not enabled, shaders specified by <code>pStages</code> <strong class=\"purple\">must</strong> not declare the <code>ShaderEnqueueAMDX</code> capability",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-10188",
+ "text": "If <code>flags</code> does not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>, shaders specified by <code>pStages</code> <strong class=\"purple\">must</strong> not declare the <code>ShaderEnqueueAMDX</code> capability",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-10189",
+ "text": "If any shader stages in <code>pStages</code> declare the <code>ShaderEnqueueAMDX</code> capability, <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code> and <code>VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR</code> <strong class=\"purple\">must</strong> be included in <code>flags</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-10190",
+ "text": "If <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code> is included in <code>flags</code>, and the pipeline requires <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, there <strong class=\"purple\">must</strong> not be a task or vertex shader specified in <code>pStages</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-10191",
+ "text": "If <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code> is included in <code>flags</code>, all elements of <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>::<code>pLibraries</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-03372",
"text": "<code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>",
"page": "vkspec"
@@ -16377,12 +16402,12 @@
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-graphicsPipelineLibrary-06606",
- "text": "If the <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>",
+ "text": "If the <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> feature is not enabled, and if the <a href=\"#features-shaderMeshEnqueue\"><code>shaderMeshEnqueue</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>",
"page": "vkspec"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06608",
- "text": "If the pipeline defines, or includes as libraries, all the state subsets required for a <a href=\"#pipelines-graphics-subsets-complete\">complete graphics pipeline</a>, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>",
+ "text": "If <a href=\"#features-shaderMeshEnqueue\"><code>shaderMeshEnqueue</code> feature</a> is not enabled, and the pipeline is being created with <a href=\"#pipelines-graphics-subsets-complete\">all possible state subsets</a>, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>",
"page": "vkspec"
},
{
@@ -77604,7 +77629,7 @@
},
{
"vuid": "VUID-VkIndirectCommandsLayoutTokenEXT-pPushConstant-parameter",
- "text": "If <code>type</code> is <code>VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT</code>, the <code>pPushConstant</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkIndirectCommandsPushConstantTokenEXT\">VkIndirectCommandsPushConstantTokenEXT</a> structure",
+ "text": "If <code>type</code> is <code>VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT</code>,VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT, the <code>pPushConstant</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkIndirectCommandsPushConstantTokenEXT\">VkIndirectCommandsPushConstantTokenEXT</a> structure",
"page": "vkspec"
},
{
@@ -97098,7 +97123,22 @@
},
{
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-09133",
- "text": "If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of <code>pLibraryInfo-&gt;libraries</code> <strong class=\"purple\">must</strong> be either a compute pipeline or an execution graph pipeline",
+ "text": "If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of <code>pLibraryInfo-&gt;pLibraries</code> <strong class=\"purple\">must</strong> be either a compute pipeline, an execution graph pipeline, or a graphics pipeline",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-10181",
+ "text": "If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of <code>pLibraryInfo-&gt;pLibraries</code> that is a compute pipeline or a graphics pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX</code> set",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-shaderMeshEnqueue-10182",
+ "text": "If the <a href=\"#features-shaderMeshEnqueue\"><code>shaderMeshEnqueue</code></a> feature is not enabled, and <code>pLibraryInfo-&gt;pLibraries</code> is not <code>NULL</code>, <code>pLibraryInfo-&gt;pLibraries</code> <strong class=\"purple\">must</strong> not contain any graphics pipelines",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-10183",
+ "text": "Any element of <code>pLibraryInfo-&gt;pLibraries</code> identifying a graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#pipelines-graphics-subsets-complete\">all possible state subsets</a>",
"page": "vkspec"
},
{
@@ -97132,6 +97172,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-10184",
+ "text": "If <code>flags</code> does not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>, and an output payload declared in any shader in the pipeline does not have a <code>PayloadNodeSparseArrayAMDX</code> decoration, there <strong class=\"purple\">must</strong> be a node in the graph corresponding to every index from 0 to its <code>PayloadNodeArraySizeAMDX</code> decoration",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX</code>",
"page": "vkspec"
@@ -97262,8 +97307,13 @@
"vkCmdInitializeGraphScratchMemoryAMDX": {
"core": [
{
- "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratch-09143",
- "text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratch-10185",
+ "text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as <code>scratchSize</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratchSize-10186",
+ "text": "<code>scratchSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>minSize</code> returned by <a href=\"#vkGetExecutionGraphPipelineScratchSizeAMDX\">vkGetExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"page": "vkspec"
},
{
@@ -97277,6 +97327,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-executionGraph-parameter",
+ "text": "<code>executionGraph</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-recording",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>",
"page": "vkspec"
@@ -97287,11 +97342,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-renderpass",
- "text": "This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-videocoding",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
"page": "vkspec"
@@ -97300,6 +97350,11 @@
"vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-bufferlevel",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a primary <code>VkCommandBuffer</code>",
"page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-commonparent",
+ "text": "Both of <code>commandBuffer</code>, and <code>executionGraph</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>",
+ "page": "vkspec"
}
]
},
@@ -97661,8 +97716,13 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-09183",
- "text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-10192",
+ "text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as <code>scratchSize</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-scratchSize-10193",
+ "text": "<code>scratchSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>minSize</code> returned by <a href=\"#vkGetExecutionGraphPipelineScratchSizeAMDX\">vkGetExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"page": "vkspec"
},
{
@@ -97671,8 +97731,8 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-09185",
- "text": "Device memory in the range [<code>scratch</code>,<code>scratch</code><br> <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code>) <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-10194",
+ "text": "The device memory range [<code>scratch</code>,<code>scratch</code><br> <code>scratchSize</code>] <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
"page": "vkspec"
},
{
@@ -97691,6 +97751,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-10195",
+ "text": "If the currently bound execution graph pipeline includes draw nodes, this command <strong class=\"purple\">must</strong> be called within a render pass instance that is compatible with the graphics pipeline used to create each of those nodes",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDispatchGraphAMDX-pCountInfo-09145",
"text": "<code>pCountInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a host pointer to a memory allocation at least as large as the product of <code>count</code> and <code>stride</code>",
"page": "vkspec"
@@ -97736,11 +97801,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDispatchGraphAMDX-renderpass",
- "text": "This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDispatchGraphAMDX-videocoding",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
"page": "vkspec"
@@ -98110,8 +98170,13 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09183",
- "text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-10192",
+ "text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as <code>scratchSize</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratchSize-10193",
+ "text": "<code>scratchSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>minSize</code> returned by <a href=\"#vkGetExecutionGraphPipelineScratchSizeAMDX\">vkGetExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"page": "vkspec"
},
{
@@ -98120,8 +98185,8 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09185",
- "text": "Device memory in the range [<code>scratch</code>,<code>scratch</code><br> <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code>) <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-10194",
+ "text": "The device memory range [<code>scratch</code>,<code>scratch</code><br> <code>scratchSize</code>] <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
"page": "vkspec"
},
{
@@ -98140,6 +98205,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-10195",
+ "text": "If the currently bound execution graph pipeline includes draw nodes, this command <strong class=\"purple\">must</strong> be called within a render pass instance that is compatible with the graphics pipeline used to create each of those nodes",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09150",
"text": "<code>pCountInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a device pointer to a memory allocation at least as large as the product of <code>count</code> and <code>stride</code> when this command is executed on the device",
"page": "vkspec"
@@ -98205,11 +98275,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-renderpass",
- "text": "This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-videocoding",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
"page": "vkspec"
@@ -98579,8 +98644,13 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09183",
- "text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-10192",
+ "text": "<code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as <code>scratchSize</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratchSize-10193",
+ "text": "<code>scratchSize</code> <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>minSize</code> returned by <a href=\"#vkGetExecutionGraphPipelineScratchSizeAMDX\">vkGetExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline",
"page": "vkspec"
},
{
@@ -98589,8 +98659,8 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09185",
- "text": "Device memory in the range [<code>scratch</code>,<code>scratch</code><br> <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code>) <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-10194",
+ "text": "The device memory range [<code>scratch</code>,<code>scratch</code><br> <code>scratchSize</code>] <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command",
"page": "vkspec"
},
{
@@ -98609,6 +98679,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-10195",
+ "text": "If the currently bound execution graph pipeline includes draw nodes, this command <strong class=\"purple\">must</strong> be called within a render pass instance that is compatible with the graphics pipeline used to create each of those nodes",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09159",
"text": "<code>countInfo</code> <strong class=\"purple\">must</strong> be a device pointer to a memory allocation containing a valid <a href=\"#VkDispatchGraphCountInfoAMDX\">VkDispatchGraphCountInfoAMDX</a> structure when this command is executed on the device",
"page": "vkspec"
@@ -98684,11 +98759,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-renderpass",
- "text": "This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-videocoding",
"text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
"page": "vkspec"
@@ -104997,12 +105067,12 @@
},
{
"vuid": "VUID-RuntimeSpirv-ShaderEnqueueAMDX-09191",
- "text": "The <code>ShaderEnqueueAMDX</code> capability <strong class=\"purple\">must</strong> only be used in shaders with the <code>GLCompute</code> execution model",
+ "text": "The <code>ShaderEnqueueAMDX</code> capability <strong class=\"purple\">must</strong> only be used in shaders with the <code>GLCompute</code> or <code>MeshEXT</code> execution model",
"page": "vkspec"
},
{
"vuid": "VUID-RuntimeSpirv-NodePayloadAMDX-09192",
- "text": "Variables in the <code>NodePayloadAMDX</code> storage class <strong class=\"purple\">must</strong> only be declared in the <code>GLCompute</code> execution model",
+ "text": "Variables in the <code>NodePayloadAMDX</code> storage class <strong class=\"purple\">must</strong> only be declared in the <code>GLCompute</code> or <code>MeshEXT</code> execution model",
"page": "vkspec"
},
{
diff --git a/registry/vk.xml b/registry/vk.xml
index 6c2246c..be068ae 100644
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -175,7 +175,7 @@ branch of the member gitlab server.
#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type>
<type api="vulkan" category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 297</type>
+#define <name>VK_HEADER_VERSION</name> 298</type>
<type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type>
<type api="vulkansc" category="define">// Version of this file
@@ -6410,10 +6410,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsTokenCount</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsTokenOffset</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsIndirectStride</name></member>
- <member><type>VkIndirectCommandsInputModeFlagsEXT</type> <name>supportedIndirectCommandsInputModes</name></member>
- <member><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStages</name></member>
- <member><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStagesPipelineBinding</name></member>
- <member><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStagesShaderBinding</name></member>
+ <member limittype="bitmask"><type>VkIndirectCommandsInputModeFlagsEXT</type> <name>supportedIndirectCommandsInputModes</name></member>
+ <member limittype="bitmask"><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStages</name></member>
+ <member limittype="bitmask"><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStagesPipelineBinding</name></member>
+ <member limittype="bitmask"><type>VkShaderStageFlags</type> <name>supportedIndirectCommandsShaderStagesShaderBinding</name></member>
<member><type>VkBool32</type> <name>deviceGeneratedCommandsTransformFeedback</name></member>
<member><type>VkBool32</type> <name>deviceGeneratedCommandsMultiDrawIndirectCount</name></member>
</type>
@@ -6430,7 +6430,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type>
<type category="struct" name="VkGeneratedCommandsMemoryRequirementsInfoEXT">
<member values="VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
- <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkIndirectExecutionSetEXT</type> <name>indirectExecutionSet</name></member>
<member><type>VkIndirectCommandsLayoutEXT</type> <name>indirectCommandsLayout</name></member>
<member><type>uint32_t</type> <name>maxSequenceCount</name></member>
@@ -6540,7 +6540,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member><type>VkShaderStageFlags</type> <name>shaderStages</name></member>
</type>
<type category="union" name="VkIndirectCommandsTokenDataEXT">
- <member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT">const <type>VkIndirectCommandsPushConstantTokenEXT</type>* <name>pPushConstant</name></member>
+ <member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT,VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT">const <type>VkIndirectCommandsPushConstantTokenEXT</type>* <name>pPushConstant</name></member>
<member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT">const <type>VkIndirectCommandsVertexBufferTokenEXT</type>* <name>pVertexBuffer</name></member>
<member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT">const <type>VkIndirectCommandsIndexBufferTokenEXT</type>* <name>pIndexBuffer</name></member>
<member selection="VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT">const <type>VkIndirectCommandsExecutionSetTokenEXT</type>* <name>pExecutionSet</name></member>
@@ -8994,11 +8994,14 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphShaderPayloadSize</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphShaderPayloadCount</name></member>
<member limittype="noauto"><type>uint32_t</type> <name>executionGraphDispatchAddressAlignment</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphWorkgroupCount</name>[3]</member>
+ <member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphWorkgroups</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceShaderEnqueueFeaturesAMDX" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX"><type>VkStructureType</type> <name>sType</name></member>
<member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>shaderEnqueue</name></member>
+ <member><type>VkBool32</type> <name>shaderMeshEnqueue</name></member>
</type>
<type category="struct" name="VkExecutionGraphPipelineCreateInfoAMDX">
<member values="VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX"><type>VkStructureType</type> <name>sType</name></member>
@@ -9020,7 +9023,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkExecutionGraphPipelineScratchSizeAMDX">
<member values="VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX"><type>VkStructureType</type> <name>sType</name></member>
<member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>VkDeviceSize</type> <name>size</name></member>
+ <member><type>VkDeviceSize</type> <name>minSize</name></member>
+ <member><type>VkDeviceSize</type> <name>maxSize</name></member>
+ <member><type>VkDeviceSize</type> <name>sizeGranularity</name></member>
</type>
<type category="struct" name="VkDispatchGraphInfoAMDX">
<member><type>uint32_t</type> <name>nodeIndex</name></member>
@@ -15718,13 +15723,13 @@ typedef void* <name>MTLSharedEvent_id</name>;
<proto><type>VkResult</type> <name>vkGetExecutionGraphPipelineScratchSizeAMDX</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkPipeline</type> <name>executionGraph</name></param>
- <param><type>VkExecutionGraphPipelineScratchSizeAMDX</type>* <name>pSizeInfo</name></param>
+ <param><type>VkExecutionGraphPipelineScratchSizeAMDX</type>* <name>pSizeInfo</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
<proto><type>VkResult</type> <name>vkGetExecutionGraphPipelineNodeIndexAMDX</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkPipeline</type> <name>executionGraph</name></param>
- <param>const <type>VkPipelineShaderStageNodeCreateInfoAMDX</type>* <name>pNodeInfo</name></param>
+ <param>const <type>VkPipelineShaderStageNodeCreateInfoAMDX</type>* <name>pNodeInfo</name></param>
<param><type>uint32_t</type>* <name>pNodeIndex</name></param>
</command>
<command successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
@@ -15736,27 +15741,32 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
<param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param>
</command>
- <command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
+ <command queues="graphics,compute" tasks="action" renderpass="both" cmdbufferlevel="primary">
<proto><type>void</type> <name>vkCmdInitializeGraphScratchMemoryAMDX</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param><type>VkPipeline</type> <name>executionGraph</name></param>
<param><type>VkDeviceAddress</type> <name>scratch</name></param>
+ <param><type>VkDeviceSize</type> <name>scratchSize</name></param>
</command>
- <command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
+ <command queues="graphics,compute" tasks="action" renderpass="both" cmdbufferlevel="primary">
<proto><type>void</type> <name>vkCmdDispatchGraphAMDX</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkDeviceAddress</type> <name>scratch</name></param>
- <param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
+ <param><type>VkDeviceSize</type> <name>scratchSize</name></param>
+ <param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
</command>
- <command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
+ <command queues="graphics,compute" tasks="action" renderpass="both" cmdbufferlevel="primary">
<proto><type>void</type> <name>vkCmdDispatchGraphIndirectAMDX</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkDeviceAddress</type> <name>scratch</name></param>
- <param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
+ <param><type>VkDeviceSize</type> <name>scratchSize</name></param>
+ <param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
</command>
- <command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
+ <command queues="graphics,compute" tasks="action" renderpass="both" cmdbufferlevel="primary">
<proto><type>void</type> <name>vkCmdDispatchGraphIndirectCountAMDX</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkDeviceAddress</type> <name>scratch</name></param>
+ <param><type>VkDeviceSize</type> <name>scratchSize</name></param>
<param><type>VkDeviceAddress</type> <name>countInfo</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state">
@@ -19265,10 +19275,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_AMD_extension_134&quot;" name="VK_AMD_EXTENSION_134_EXTENSION_NAME"/>
</require>
</extension>
- <extension name="VK_AMDX_shader_enqueue" number="135" author="AMD" depends="(((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3)+VK_KHR_pipeline_library+VK_KHR_spirv_1_4" type="device" contact="Tobias Hector @tobski" provisional="true" platform="provisional" supported="vulkan">
+ <extension name="VK_AMDX_shader_enqueue" number="135" author="AMD" depends="((VK_KHR_synchronization2+VK_KHR_spirv_1_4+VK_EXT_extended_dynamic_state),VK_VERSION_1_3)+VK_KHR_maintenance5+VK_KHR_pipeline_library" type="device" contact="Tobias Hector @tobski" provisional="true" platform="provisional" supported="vulkan">
<require>
- <enum value="1" name="VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION"/>
- <enum value="&quot;VK_AMDX_shader_enqueue&quot;" name="VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME"/>
+ <enum value="2" name="VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION"/>
+ <enum value="&quot;VK_AMDX_shader_enqueue&quot;" name="VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME"/>
<enum name="VK_SHADER_INDEX_UNUSED_AMDX"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
@@ -19295,7 +19305,11 @@ typedef void* <name>MTLSharedEvent_id</name>;
<feature name="shaderEnqueue" struct="VkPhysicalDeviceShaderEnqueueFeaturesAMDX"/>
</require>
<require depends="VK_KHR_maintenance5">
- <enum bitpos="25" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX"/>
+ <enum bitpos="25" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ <enum bitpos="32" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ </require>
+ <require depends="VK_EXT_mesh_shader">
+ <feature name="shaderMeshEnqueue" struct="VkPhysicalDeviceShaderEnqueueFeaturesAMDX"/>
</require>
</extension>
<extension name="VK_KHR_extension_136" number="136" type="device" depends="VK_KHR_maintenance5" author="KHR" contact="Tobias Hector @tobski" supported="disabled">
@@ -24074,7 +24088,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require>
<enum value="0" name="VK_AMD_EXTENSION_479_SPEC_VERSION"/>
<enum value="&quot;VK_AMD_extension_479&quot;" name="VK_AMD_EXTENSION_479_EXTENSION_NAME"/>
- <enum bitpos="32" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RESERVED_32_BIT_KHR"/>
</require>
</extension>
<extension name="VK_EXT_extension_480" number="480" author="EXT" contact="Daniel Stone" supported="disabled">
@@ -25424,6 +25437,18 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_KHR_extension_606&quot;" name="VK_KHR_EXTENSION_606_EXTENSION_NAME"/>
</require>
</extension>
+ <extension name="VK_KHR_extension_607" number="607" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled">
+ <require>
+ <enum value="0" name="VK_KHR_EXTENSION_607_SPEC_VERSION"/>
+ <enum value="&quot;VK_KHR_extension_607&quot;" name="VK_KHR_EXTENSION_607_EXTENSION_NAME"/>
+ </require>
+ </extension>
+ <extension name="VK_KHR_extension_608" number="608" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled">
+ <require>
+ <enum value="0" name="VK_KHR_EXTENSION_608_SPEC_VERSION"/>
+ <enum value="&quot;VK_KHR_extension_608&quot;" name="VK_KHR_EXTENSION_608_EXTENSION_NAME"/>
+ </require>
+ </extension>
</extensions>
<formats>
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">