diff options
Diffstat (limited to 'registry')
-rw-r--r-- | registry/validusage.json | 156 | ||||
-rw-r--r-- | registry/vk.xml | 67 |
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->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->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->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->pLibraries</code> is not <code>NULL</code>, <code>pLibraryInfo->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->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->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->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=""VK_AMD_extension_134"" 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=""VK_AMDX_shader_enqueue"" name="VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME"/> + <enum value="2" name="VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION"/> + <enum value=""VK_AMDX_shader_enqueue"" 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=""VK_AMD_extension_479"" 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=""VK_KHR_extension_606"" 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=""VK_KHR_extension_607"" 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=""VK_KHR_extension_608"" 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"> |