aboutsummaryrefslogtreecommitdiffhomepage
path: root/registry
diff options
context:
space:
mode:
authorJon Leech <[email protected]>2024-02-01 05:48:32 -0800
committerJon Leech <[email protected]>2024-02-01 05:51:47 -0800
commit5a5c9a643484d888873e32c5d7d484fae8e71d3d (patch)
tree319d64a4e636e584de985cfdd214d88f9eb70976 /registry
parentea45703effcb01df0856628286f8a890dd313ecd (diff)
downloadVulkan-Headers-5a5c9a643484d888873e32c5d7d484fae8e71d3d.tar.gz
Vulkan-Headers-5a5c9a643484d888873e32c5d7d484fae8e71d3d.zip
Update for Vulkan-Docs 1.3.277v1.3.277
Diffstat (limited to 'registry')
-rw-r--r--registry/validusage.json242
-rw-r--r--registry/video.xml485
-rwxr-xr-xregistry/vk.xml92
-rwxr-xr-xregistry/vkconventions.py1
4 files changed, 773 insertions, 47 deletions
diff --git a/registry/validusage.json b/registry/validusage.json
index 64f2c03..ef46fde 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.276",
- "comment": "from git branch: github-main commit: bf11e6d4ca4b71ae311bb925ae68d215fbe09a86",
- "date": "2024-01-25 08:53:29Z"
+ "api version": "1.3.277",
+ "comment": "from git branch: github-main commit: 8c4e3f27f12060fd0bd1302393c4808fee6ce81f",
+ "date": "2024-02-01 13:38:10Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -5400,7 +5400,7 @@
},
{
"vuid": "VUID-vkCmdPipelineBarrier2-None-09553",
- "text": "If neither the <a href=\"#features-shaderTileImageColorReadAccess\"><code>shaderTileImageColorReadAccess</code></a> nor <a href=\"#features-shaderTileImageDepthReadAccess\"><code>shaderTileImageDepthReadAccess</code></a> features are enabled, and the <a href=\"#features-dynamicRenderingLocalRead\"><code>dynamicRenderingLocalRead</code></a> feature is not enabled, <code>vkCmdPipelineBarrier2</code> <strong class=\"purple\">must</strong> not be called within a render pass instance started with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>",
+ "text": "If none of the <a href=\"#features-shaderTileImageColorReadAccess\"><code>shaderTileImageColorReadAccess</code></a>, <a href=\"#features-shaderTileImageStencilReadAccess\"><code>shaderTileImageStencilReadAccess</code></a>, or <a href=\"#features-shaderTileImageDepthReadAccess\"><code>shaderTileImageDepthReadAccess</code></a> features are enabled, and the <a href=\"#features-dynamicRenderingLocalRead\"><code>dynamicRenderingLocalRead</code></a> feature is not enabled, <code>vkCmdPipelineBarrier2</code> <strong class=\"purple\">must</strong> not be called within a render pass instance started with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>",
"page": "vkspec"
},
{
@@ -5659,7 +5659,7 @@
},
{
"vuid": "VUID-vkCmdPipelineBarrier-None-09553",
- "text": "If neither the <a href=\"#features-shaderTileImageColorReadAccess\"><code>shaderTileImageColorReadAccess</code></a> nor <a href=\"#features-shaderTileImageDepthReadAccess\"><code>shaderTileImageDepthReadAccess</code></a> features are enabled, and the <a href=\"#features-dynamicRenderingLocalRead\"><code>dynamicRenderingLocalRead</code></a> feature is not enabled, <code>vkCmdPipelineBarrier</code> <strong class=\"purple\">must</strong> not be called within a render pass instance started with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>",
+ "text": "If none of the <a href=\"#features-shaderTileImageColorReadAccess\"><code>shaderTileImageColorReadAccess</code></a>, <a href=\"#features-shaderTileImageStencilReadAccess\"><code>shaderTileImageStencilReadAccess</code></a>, or <a href=\"#features-shaderTileImageDepthReadAccess\"><code>shaderTileImageDepthReadAccess</code></a> features are enabled, and the <a href=\"#features-dynamicRenderingLocalRead\"><code>dynamicRenderingLocalRead</code></a> feature is not enabled, <code>vkCmdPipelineBarrier</code> <strong class=\"purple\">must</strong> not be called within a render pass instance started with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>",
"page": "vkspec"
},
{
@@ -11951,7 +11951,7 @@
"core": [
{
"vuid": "VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536",
- "text": "If <code>viewFormatCount</code> is not 0, each element of <code>pViewFormats</code> <strong class=\"purple\">must</strong> not be <code>VK_FORMAT_UNDEFINED</code>",
+ "text": "If <code>viewFormatCount</code> is not 0, and the render pass is not being used with an external format resolve attachment, each element of <code>pViewFormats</code> <strong class=\"purple\">must</strong> not be <code>VK_FORMAT_UNDEFINED</code>",
"page": "vkspec"
},
{
@@ -16133,7 +16133,7 @@
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-06603",
- "text": "If <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output state</a>, and <code>renderPass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>renderPass</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkRenderPass\">VkRenderPass</a> handle",
+ "text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output state</a>, and <code>renderPass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>renderPass</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkRenderPass\">VkRenderPass</a> handle",
"page": "vkspec"
},
{
@@ -16327,6 +16327,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-pLibraries-09567",
+ "text": "If one element of <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>::<code>pLibraries</code> was created with <code>VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT</code> and a value of <code>pMultisampleState-&gt;sampleShadingEnable</code> equal <code>VK_TRUE</code>, and if <a href=\"#VkGraphicsPipelineLibraryCreateInfoEXT\">VkGraphicsPipelineLibraryCreateInfoEXT</a>::<code>flags</code> includes <code>VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT</code>, <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be <em>identically defined</em> to that used to create the library",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06638",
"text": "If <a href=\"#VkGraphicsPipelineLibraryCreateInfoEXT\">VkGraphicsPipelineLibraryCreateInfoEXT</a>::<code>flags</code> includes only one of <code>VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT</code> or <code>VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT</code>, and an element of <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>::<code>pLibraries</code> includes the other flag, values specified in <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a> for both this pipeline and that library <strong class=\"purple\">must</strong> be identical",
"page": "vkspec"
@@ -27133,11 +27138,6 @@
},
{
"vuid": "VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-pBindingFlags-03004",
- "text": "If an element of <code>pBindingFlags</code> includes <code>VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT</code>, then all other elements of <a href=\"#VkDescriptorSetLayoutCreateInfo\">VkDescriptorSetLayoutCreateInfo</a>::<code>pBindings</code> <strong class=\"purple\">must</strong> have a smaller value of <code>binding</code>",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-pBindingFlags-09379",
"text": "If an element of <code>pBindingFlags</code> includes <code>VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT</code>, then it <strong class=\"purple\">must</strong> be the element with the highest <code>binding</code> number",
"page": "vkspec"
},
@@ -27911,11 +27911,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-VkDescriptorSetVariableDescriptorCountAllocateInfo-pSetLayouts-03046",
- "text": "If <a href=\"#VkDescriptorSetAllocateInfo\">VkDescriptorSetAllocateInfo</a>::<code>pSetLayouts</code>[i] has a variable-sized descriptor binding, then <code>pDescriptorCounts</code>[i] <strong class=\"purple\">must</strong> be less than or equal to the descriptor count specified for that binding when the descriptor set layout was created",
- "page": "vkspec"
- },
- {
"vuid": "VUID-VkDescriptorSetVariableDescriptorCountAllocateInfo-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO</code>",
"page": "vkspec"
@@ -29803,13 +29798,8 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkGetDescriptorEXT-pDescriptor-08016",
- "text": "<code>pDescriptor</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of at least <code>dataSize</code> bytes",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkGetDescriptorEXT-pDescriptorInfo-09507",
- "text": "If <code>pDescriptorInfo-&gt;type</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> and <code>pDescriptorInfo-&gt;data.pCombinedImageSampler</code> is <code>NULL</code> or it has a <code>imageView</code> that is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> then <code>dataSize</code> <strong class=\"purple\">must</strong> be equal to the size of <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>combinedImageSamplerDescriptorSize</code>",
+ "text": "If <code>pDescriptorInfo-&gt;type</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> and it has a <code>imageView</code> that is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> then <code>dataSize</code> <strong class=\"purple\">must</strong> be equal to the size of <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>combinedImageSamplerDescriptorSize</code>",
"page": "vkspec"
},
{
@@ -33502,7 +33492,7 @@
},
{
"vuid": "VUID-VkQueryPoolCreateInfo-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkQueryPoolPerformanceCreateInfoKHR\">VkQueryPoolPerformanceCreateInfoKHR</a>, <a href=\"#VkQueryPoolPerformanceQueryCreateInfoINTEL\">VkQueryPoolPerformanceQueryCreateInfoINTEL</a>, <a href=\"#VkQueryPoolVideoEncodeFeedbackCreateInfoKHR\">VkQueryPoolVideoEncodeFeedbackCreateInfoKHR</a>, <a href=\"#VkVideoDecodeH264ProfileInfoKHR\">VkVideoDecodeH264ProfileInfoKHR</a>, <a href=\"#VkVideoDecodeH265ProfileInfoKHR\">VkVideoDecodeH265ProfileInfoKHR</a>, <a href=\"#VkVideoDecodeUsageInfoKHR\">VkVideoDecodeUsageInfoKHR</a>, <a href=\"#VkVideoEncodeH264ProfileInfoKHR\">VkVideoEncodeH264ProfileInfoKHR</a>, <a href=\"#VkVideoEncodeH265ProfileInfoKHR\">VkVideoEncodeH265ProfileInfoKHR</a>, <a href=\"#VkVideoEncodeUsageInfoKHR\">VkVideoEncodeUsageInfoKHR</a>, or <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a>",
+ "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkQueryPoolPerformanceCreateInfoKHR\">VkQueryPoolPerformanceCreateInfoKHR</a>, <a href=\"#VkQueryPoolPerformanceQueryCreateInfoINTEL\">VkQueryPoolPerformanceQueryCreateInfoINTEL</a>, <a href=\"#VkQueryPoolVideoEncodeFeedbackCreateInfoKHR\">VkQueryPoolVideoEncodeFeedbackCreateInfoKHR</a>, <a href=\"#VkVideoDecodeAV1ProfileInfoKHR\">VkVideoDecodeAV1ProfileInfoKHR</a>, <a href=\"#VkVideoDecodeH264ProfileInfoKHR\">VkVideoDecodeH264ProfileInfoKHR</a>, <a href=\"#VkVideoDecodeH265ProfileInfoKHR\">VkVideoDecodeH265ProfileInfoKHR</a>, <a href=\"#VkVideoDecodeUsageInfoKHR\">VkVideoDecodeUsageInfoKHR</a>, <a href=\"#VkVideoEncodeH264ProfileInfoKHR\">VkVideoEncodeH264ProfileInfoKHR</a>, <a href=\"#VkVideoEncodeH265ProfileInfoKHR\">VkVideoEncodeH265ProfileInfoKHR</a>, <a href=\"#VkVideoEncodeUsageInfoKHR\">VkVideoEncodeUsageInfoKHR</a>, or <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a>",
"page": "vkspec"
},
{
@@ -74536,37 +74526,37 @@
"VkPipelineRasterizationLineStateCreateInfoKHR": {
"core": [
{
- "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02768",
+ "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-02768",
"text": "If <code>lineRasterizationMode</code> is <code>VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR</code>, then the <a href=\"#features-rectangularLines\"><code>rectangularLines</code></a> feature <strong class=\"purple\">must</strong> be enabled",
"page": "vkspec"
},
{
- "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02769",
+ "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-02769",
"text": "If <code>lineRasterizationMode</code> is <code>VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR</code>, then the <a href=\"#features-bresenhamLines\"><code>bresenhamLines</code></a> feature <strong class=\"purple\">must</strong> be enabled",
"page": "vkspec"
},
{
- "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02770",
+ "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-02770",
"text": "If <code>lineRasterizationMode</code> is <code>VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR</code>, then the <a href=\"#features-smoothLines\"><code>smoothLines</code></a> feature <strong class=\"purple\">must</strong> be enabled",
"page": "vkspec"
},
{
- "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02771",
+ "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02771",
"text": "If <code>stippledLineEnable</code> is <code>VK_TRUE</code> and <code>lineRasterizationMode</code> is <code>VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR</code>, then the <a href=\"#features-stippledRectangularLines\"><code>stippledRectangularLines</code></a> feature <strong class=\"purple\">must</strong> be enabled",
"page": "vkspec"
},
{
- "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02772",
+ "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02772",
"text": "If <code>stippledLineEnable</code> is <code>VK_TRUE</code> and <code>lineRasterizationMode</code> is <code>VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR</code>, then the <a href=\"#features-stippledBresenhamLines\"><code>stippledBresenhamLines</code></a> feature <strong class=\"purple\">must</strong> be enabled",
"page": "vkspec"
},
{
- "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02773",
+ "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02773",
"text": "If <code>stippledLineEnable</code> is <code>VK_TRUE</code> and <code>lineRasterizationMode</code> is <code>VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR</code>, then the <a href=\"#features-stippledSmoothLines\"><code>stippledSmoothLines</code></a> feature <strong class=\"purple\">must</strong> be enabled",
"page": "vkspec"
},
{
- "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02774",
+ "vuid": "VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02774",
"text": "If <code>stippledLineEnable</code> is <code>VK_TRUE</code> and <code>lineRasterizationMode</code> is <code>VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR</code>, then the <a href=\"#features-stippledRectangularLines\"><code>stippledRectangularLines</code></a> feature <strong class=\"purple\">must</strong> be enabled and <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>strictLines</code> <strong class=\"purple\">must</strong> be <code>VK_TRUE</code>",
"page": "vkspec"
},
@@ -74692,7 +74682,7 @@
"vkCmdSetLineStippleKHR": {
"core": [
{
- "vuid": "VUID-vkCmdSetLineStippleEXT-lineStippleFactor-02776",
+ "vuid": "VUID-vkCmdSetLineStippleKHR-lineStippleFactor-02776",
"text": "<code>lineStippleFactor</code> <strong class=\"purple\">must</strong> be in the range <span class=\"eq\">[1,256]</span>",
"page": "vkspec"
},
@@ -83735,6 +83725,21 @@
"vuid": "VUID-vkReleaseFullScreenExclusiveModeEXT-swapchain-02678",
"text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a swapchain created with a <a href=\"#VkSurfaceFullScreenExclusiveInfoEXT\">VkSurfaceFullScreenExclusiveInfoEXT</a> structure, with <code>fullScreenExclusive</code> set to <code>VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT</code>",
"page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkReleaseFullScreenExclusiveModeEXT-device-parameter",
+ "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkReleaseFullScreenExclusiveModeEXT-swapchain-parameter",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSwapchainKHR\">VkSwapchainKHR</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkReleaseFullScreenExclusiveModeEXT-swapchain-parent",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>",
+ "page": "vkspec"
}
]
},
@@ -86338,7 +86343,7 @@
},
{
"vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-pGeometries-03788",
- "text": "Only one of <code>pGeometries</code> or <code>ppGeometries</code> <strong class=\"purple\">can</strong> be a valid pointer, the other <strong class=\"purple\">must</strong> be <code>NULL</code>",
+ "text": "If <code>geometryCount</code> is not <code>0</code>, exactly one of <code>pGeometries</code> or <code>ppGeometries</code> <strong class=\"purple\">must</strong> be a valid pointer, the other <strong class=\"purple\">must</strong> be <code>NULL</code>",
"page": "vkspec"
},
{
@@ -86798,7 +86803,7 @@
},
{
"vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-query-04880",
- "text": "The sum of <code>query</code> plus <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be less than or equal to the number of queries in <code>queryPool</code>",
+ "text": "The sum of <code>firstQuery</code> plus <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be less than or equal to the number of queries in <code>queryPool</code>",
"page": "vkspec"
},
{
@@ -91456,6 +91461,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkVideoProfileInfoKHR-videoCodecOperation-09256",
+ "text": "If <code>videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoDecodeAV1ProfileInfoKHR\">VkVideoDecodeAV1ProfileInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkVideoProfileInfoKHR-videoCodecOperation-07181",
"text": "If <code>videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264ProfileInfoKHR\">VkVideoEncodeH264ProfileInfoKHR</a> structure",
"page": "vkspec"
@@ -91577,6 +91587,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-09257",
+ "text": "If <code>pVideoProfile-&gt;videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pCapabilities</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoDecodeAV1CapabilitiesKHR\">VkVideoDecodeAV1CapabilitiesKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-07186",
"text": "If <code>pVideoProfile-&gt;videoCodecOperation</code> specifies an encode operation, then the <code>pNext</code> chain of <code>pCapabilities</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a> structure",
"page": "vkspec"
@@ -91617,7 +91632,7 @@
},
{
"vuid": "VUID-VkVideoCapabilitiesKHR-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeCapabilitiesKHR\">VkVideoDecodeCapabilitiesKHR</a>, <a href=\"#VkVideoDecodeH264CapabilitiesKHR\">VkVideoDecodeH264CapabilitiesKHR</a>, <a href=\"#VkVideoDecodeH265CapabilitiesKHR\">VkVideoDecodeH265CapabilitiesKHR</a>, <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>, <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>, or <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>",
+ "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeAV1CapabilitiesKHR\">VkVideoDecodeAV1CapabilitiesKHR</a>, <a href=\"#VkVideoDecodeCapabilitiesKHR\">VkVideoDecodeCapabilitiesKHR</a>, <a href=\"#VkVideoDecodeH264CapabilitiesKHR\">VkVideoDecodeH264CapabilitiesKHR</a>, <a href=\"#VkVideoDecodeH265CapabilitiesKHR\">VkVideoDecodeH265CapabilitiesKHR</a>, <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>, <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>, or <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>",
"page": "vkspec"
},
{
@@ -92084,6 +92099,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-09258",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then <code>videoSessionParametersTemplate</code> <strong class=\"purple\">must</strong> be <code>VK_NULL_HANDLE</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-09259",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoDecodeAV1SessionParametersCreateInfoKHR\">VkVideoDecodeAV1SessionParametersCreateInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07210",
"text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoKHR\">VkVideoEncodeH264SessionParametersCreateInfoKHR</a> structure",
"page": "vkspec"
@@ -92135,7 +92160,7 @@
},
{
"vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeH264SessionParametersCreateInfoKHR\">VkVideoDecodeH264SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoDecodeH265SessionParametersCreateInfoKHR\">VkVideoDecodeH265SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoKHR\">VkVideoEncodeH264SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a>, or <a href=\"#VkVideoEncodeQualityLevelInfoKHR\">VkVideoEncodeQualityLevelInfoKHR</a>",
+ "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeAV1SessionParametersCreateInfoKHR\">VkVideoDecodeAV1SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoDecodeH264SessionParametersCreateInfoKHR\">VkVideoDecodeH264SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoDecodeH265SessionParametersCreateInfoKHR\">VkVideoDecodeH265SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoKHR\">VkVideoEncodeH264SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a>, or <a href=\"#VkVideoEncodeQualityLevelInfoKHR\">VkVideoEncodeQualityLevelInfoKHR</a>",
"page": "vkspec"
},
{
@@ -92267,6 +92292,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-09260",
+ "text": "<code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not have been created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07226",
"text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH264SequenceParameterSet</code> entry with <code>seq_parameter_set_id</code> matching any of the elements of <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a>::<code>pStdSPSs</code>",
"page": "vkspec"
@@ -92529,6 +92559,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkVideoBeginCodingInfoKHR-videoSession-09261",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not be <code>VK_NULL_HANDLE</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkVideoBeginCodingInfoKHR-videoSession-07249",
"text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not be <code>VK_NULL_HANDLE</code>",
"page": "vkspec"
@@ -92599,7 +92634,7 @@
},
{
"vuid": "VUID-VkVideoReferenceSlotInfoKHR-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeH264DpbSlotInfoKHR\">VkVideoDecodeH264DpbSlotInfoKHR</a>, <a href=\"#VkVideoDecodeH265DpbSlotInfoKHR\">VkVideoDecodeH265DpbSlotInfoKHR</a>, <a href=\"#VkVideoEncodeH264DpbSlotInfoKHR\">VkVideoEncodeH264DpbSlotInfoKHR</a>, or <a href=\"#VkVideoEncodeH265DpbSlotInfoKHR\">VkVideoEncodeH265DpbSlotInfoKHR</a>",
+ "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeAV1DpbSlotInfoKHR\">VkVideoDecodeAV1DpbSlotInfoKHR</a>, <a href=\"#VkVideoDecodeH264DpbSlotInfoKHR\">VkVideoDecodeH264DpbSlotInfoKHR</a>, <a href=\"#VkVideoDecodeH265DpbSlotInfoKHR\">VkVideoDecodeH265DpbSlotInfoKHR</a>, <a href=\"#VkVideoEncodeH264DpbSlotInfoKHR\">VkVideoEncodeH264DpbSlotInfoKHR</a>, or <a href=\"#VkVideoEncodeH265DpbSlotInfoKHR\">VkVideoEncodeH265DpbSlotInfoKHR</a>",
"page": "vkspec"
},
{
@@ -92872,7 +92907,7 @@
},
{
"vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-07141",
- "text": "If <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code> and <a href=\"#VkVideoDecodeCapabilitiesKHR\">VkVideoDecodeCapabilitiesKHR</a>::<code>flags</code> does not include <code>VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then the video picture resources specified by <code>pDecodeInfo-&gt;dstPictureResource</code> and <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <strong class=\"purple\">must</strong> <a href=\"#video-picture-resource-matching\">match</a>",
+ "text": "If <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code> and none of the following is true:<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#VkVideoDecodeCapabilitiesKHR\">VkVideoDecodeCapabilitiesKHR</a>::<code>flags</code> includes\n<code>VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR</code>, as\nreturned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video\nprofile the bound video session was created with</p>\n</li>\n<li>\n<p>the bound video session was created with the video codec operation\n<code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code> and\n<a href=\"#VkVideoDecodeAV1ProfileInfoKHR\">VkVideoDecodeAV1ProfileInfoKHR</a>::<code>filmGrainSupport</code> set to\n<code>VK_TRUE</code>, and <a href=\"#decode-av1-film-grain\">film grain</a> is enabled for\nthe decoded picture</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>then the video picture resources specified by\n <code>pDecodeInfo-&gt;dstPictureResource</code> and\n <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <strong class=\"purple\">must</strong>\n <a href=\"#video-picture-resource-matching\">match</a></p>\n</div>",
"page": "vkspec"
},
{
@@ -93101,6 +93136,56 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDecodeVideoKHR-filmGrainSupport-09248",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code> and <a href=\"#VkVideoDecodeAV1ProfileInfoKHR\">VkVideoDecodeAV1ProfileInfoKHR</a>::<code>filmGrainSupport</code> set to <code>VK_FALSE</code>, then <a href=\"#decode-av1-film-grain\">film grain</a> <strong class=\"purple\">must</strong> not be enabled for the decoded picture",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-09249",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, and <a href=\"#decode-av1-film-grain\">film grain</a> is enabled for the decoded picture, then the video picture resources specified by <code>pDecodeInfo-&gt;dstPictureResource</code> and <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <strong class=\"purple\">must</strong> not <a href=\"#video-picture-resource-matching\">match</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-pNext-09250",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pDecodeInfo</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoDecodeAV1PictureInfoKHR\">VkVideoDecodeAV1PictureInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-frameHeaderOffset-09251",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then the <code>frameHeaderOffset</code> member of the <a href=\"#VkVideoDecodeAV1PictureInfoKHR\">VkVideoDecodeAV1PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pDecodeInfo</code> <strong class=\"purple\">must</strong> be less than the minimum of <code>pDecodeInfo-&gt;srcBufferRange</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-pTileOffsets-09253",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then all elements of the <code>pTileOffsets</code> member of the <a href=\"#VkVideoDecodeAV1PictureInfoKHR\">VkVideoDecodeAV1PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pDecodeInfo</code> <strong class=\"purple\">must</strong> be less than <code>pDecodeInfo-&gt;srcBufferRange</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-pTileOffsets-09252",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then for each element <span class=\"eq\">i</span> of the <code>pTileOffsets</code> and <code>pTileSizes</code> members of the <a href=\"#VkVideoDecodeAV1PictureInfoKHR\">VkVideoDecodeAV1PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pDecodeInfo</code> the sum of <code>pTileOffsets</code>[i] and <code>pTileSizes</code>[i] <strong class=\"purple\">must</strong> be less than or equal to <code>pDecodeInfo-&gt;srcBufferRange</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-09254",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code> and <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then the <code>pNext</code> chain of <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoDecodeAV1DpbSlotInfoKHR\">VkVideoDecodeAV1DpbSlotInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-pNext-09255",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then the <code>pNext</code> chain of each element of <code>pDecodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoDecodeAV1DpbSlotInfoKHR\">VkVideoDecodeAV1DpbSlotInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-referenceNameSlotIndices-09262",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then each element of the <code>referenceNameSlotIndices</code> array member of the <a href=\"#VkVideoDecodeAV1PictureInfoKHR\">VkVideoDecodeAV1PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pDecodeInfo</code> <strong class=\"purple\">must</strong> either be negative or <strong class=\"purple\">must</strong> equal the <code>slotIndex</code> member of one of the elements of <code>pDecodeInfo-&gt;pReferenceSlots</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-slotIndex-09263",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR</code>, then the <code>slotIndex</code> member of each element of <code>pDecodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> equal one of the elements of the <code>referenceNameSlotIndices</code> array member of the <a href=\"#VkVideoDecodeAV1PictureInfoKHR\">VkVideoDecodeAV1PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pDecodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDecodeVideoKHR-commandBuffer-parameter",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
"page": "vkspec"
@@ -93181,7 +93266,7 @@
},
{
"vuid": "VUID-VkVideoDecodeInfoKHR-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeH264PictureInfoKHR\">VkVideoDecodeH264PictureInfoKHR</a>, <a href=\"#VkVideoDecodeH265PictureInfoKHR\">VkVideoDecodeH265PictureInfoKHR</a>, or <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a>",
+ "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeAV1PictureInfoKHR\">VkVideoDecodeAV1PictureInfoKHR</a>, <a href=\"#VkVideoDecodeH264PictureInfoKHR\">VkVideoDecodeH264PictureInfoKHR</a>, <a href=\"#VkVideoDecodeH265PictureInfoKHR\">VkVideoDecodeH265PictureInfoKHR</a>, or <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a>",
"page": "vkspec"
},
{
@@ -93429,6 +93514,81 @@
}
]
},
+ "VkVideoDecodeAV1ProfileInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkVideoDecodeAV1ProfileInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkVideoDecodeAV1CapabilitiesKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkVideoDecodeAV1CapabilitiesKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkVideoDecodeAV1SessionParametersCreateInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkVideoDecodeAV1SessionParametersCreateInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoDecodeAV1SessionParametersCreateInfoKHR-pStdSequenceHeader-parameter",
+ "text": "<code>pStdSequenceHeader</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoAV1SequenceHeader</code> value",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkVideoDecodeAV1PictureInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkVideoDecodeAV1PictureInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoDecodeAV1PictureInfoKHR-pStdPictureInfo-parameter",
+ "text": "<code>pStdPictureInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoDecodeAV1PictureInfo</code> value",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoDecodeAV1PictureInfoKHR-pTileOffsets-parameter",
+ "text": "<code>pTileOffsets</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>tileCount</code> <code>uint32_t</code> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoDecodeAV1PictureInfoKHR-pTileSizes-parameter",
+ "text": "<code>pTileSizes</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>tileCount</code> <code>uint32_t</code> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoDecodeAV1PictureInfoKHR-tileCount-arraylength",
+ "text": "<code>tileCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkVideoDecodeAV1DpbSlotInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkVideoDecodeAV1DpbSlotInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoDecodeAV1DpbSlotInfoKHR-pStdReferenceInfo-parameter",
+ "text": "<code>pStdReferenceInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoDecodeAV1ReferenceInfo</code> value",
+ "page": "vkspec"
+ }
+ ]
+ },
"VkVideoEncodeCapabilitiesKHR": {
"core": [
{
@@ -103107,12 +103267,12 @@
},
{
"vuid": "VUID-RuntimeSpirv-pNext-09226",
- "text": "If a <code>OpImageBlockMatchWindow*QCOM</code> operation is used, then <code>target</code> <code>sampled</code> <code>image</code> <strong class=\"purple\">must</strong> have been created using asampler object that included <a href=\"#VkSamplerBlockMatchWindowCreateInfoQCOM\">VkSamplerBlockMatchWindowCreateInfoQCOM</a> in the <code>pNext</code> chain. ifdef:VK_KHR_shader_maximal_reconvergence[]",
+ "text": "If a <code>OpImageBlockMatchWindow*QCOM</code> operation is used, then <code>target</code> <code>sampled</code> <code>image</code> <strong class=\"purple\">must</strong> have been created using asampler object that included <a href=\"#VkSamplerBlockMatchWindowCreateInfoQCOM\">VkSamplerBlockMatchWindowCreateInfoQCOM</a> in the <code>pNext</code> chain.",
"page": "vkspec"
},
{
"vuid": "VUID-RuntimeSpirv-MaximallyReconvergesKHR-09565",
- "text": "The execution mode <code>MaximallyReconvergesKHR</code> <strong class=\"purple\">must</strong> not be applied to an entry point unless the entry point does not execute any <a href=\"#ray-tracing-repack\"><em>invocation repack instructions</em></a>. endif:VK_KHR_shader_maximal_reconvergence[]",
+ "text": "The execution mode <code>MaximallyReconvergesKHR</code> <strong class=\"purple\">must</strong> not be applied to an entry point unless the entry point does not execute any <a href=\"#ray-tracing-repack\"><em>invocation repack instructions</em></a>.",
"page": "vkspec"
},
{
diff --git a/registry/video.xml b/registry/video.xml
index 38b087e..d570742 100644
--- a/registry/video.xml
+++ b/registry/video.xml
@@ -23,11 +23,13 @@ The current public version of video.xml is maintained in the default branch
<type name="uint16_t" requires="stdint"/>
<type name="uint8_t" requires="stdint"/>
<type name="int32_t" requires="stdint"/>
+ <type name="int16_t" requires="stdint"/>
<type name="int8_t" requires="stdint"/>
<type category="include" name="vk_video/vulkan_video_codecs_common.h">#include "vulkan_video_codecs_common.h"</type>
<type category="include" name="vk_video/vulkan_video_codec_h264std.h">#include "vulkan_video_codec_h264std.h"</type>
<type category="include" name="vk_video/vulkan_video_codec_h265std.h">#include "vulkan_video_codec_h265std.h"</type>
+ <type category="include" name="vk_video/vulkan_video_codec_av1std.h">#include "vulkan_video_codec_av1std.h"</type>
<!-- vulkan_video_codecs_common macros -->
<type category="define">#define <name>VK_MAKE_VIDEO_STD_VERSION</name>(major, minor, patch) \
@@ -49,6 +51,10 @@ The current public version of video.xml is maintained in the default branch
<type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">
#define <name>VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(1, 0, 0)</type>
+ <!-- vulkan_video_codec_av1std_decode.h macros -->
+ <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">
+#define <name>VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(1, 0, 0)</type>
+
<!-- vulkan_video_codec_h264std.h enumerated types -->
<type name="StdVideoH264ChromaFormatIdc" category="enum"/>
<type name="StdVideoH264ProfileIdc" category="enum"/>
@@ -832,6 +838,277 @@ The current public version of video.xml is maintained in the default branch
<member><type>int32_t</type> <name>PicOrderCntVal</name><comment>Picture order count derived as specified in 8.3.1</comment></member>
<member><type>uint8_t</type> <name>TemporalId</name><comment>Temporal ID, as defined in 7.4.2.2</comment></member>
</type>
+
+ <!-- vulkan_video_codec_av1std.h enumerated types -->
+ <type name="StdVideoAV1Profile" category="enum"/>
+ <type name="StdVideoAV1Level" category="enum"/>
+ <type name="StdVideoAV1FrameType" category="enum"/>
+ <type name="StdVideoAV1ReferenceName" category="enum"/>
+ <type name="StdVideoAV1InterpolationFilter" category="enum"/>
+ <type name="StdVideoAV1TxMode" category="enum"/>
+ <type name="StdVideoAV1FrameRestorationType" category="enum"/>
+ <type name="StdVideoAV1ColorPrimaries" category="enum"/>
+ <type name="StdVideoAV1TransferCharacteristics" category="enum"/>
+ <type name="StdVideoAV1MatrixCoefficients" category="enum"/>
+ <type name="StdVideoAV1ChromaSamplePosition" category="enum"/>
+
+ <type category="struct" name="StdVideoAV1ColorConfigFlags">
+ <comment>Syntax defined in section 5.5.2, semantics defined in section 6.4.2</comment>
+ <member><type>uint32_t</type> <name>mono_chrome</name> : 1</member>
+ <member><type>uint32_t</type> <name>color_range</name> : 1</member>
+ <member><type>uint32_t</type> <name>separate_uv_delta_q</name> : 1</member>
+ <member><type>uint32_t</type> <name>color_description_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>reserved</name> : 28</member>
+ </type>
+ <type category="struct" name="StdVideoAV1ColorConfig">
+ <comment>Syntax defined in section 5.5.2, semantics defined in section 6.4.2</comment>
+ <member><type>StdVideoAV1ColorConfigFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>BitDepth</name></member>
+ <member><type>uint8_t</type> <name>subsampling_x</name></member>
+ <member><type>uint8_t</type> <name>subsampling_y</name></member>
+ <member><type>uint8_t</type> <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
+ <member><type>StdVideoAV1ColorPrimaries</type> <name>color_primaries</name></member>
+ <member><type>StdVideoAV1TransferCharacteristics</type> <name>transfer_characteristics</name></member>
+ <member><type>StdVideoAV1MatrixCoefficients</type> <name>matrix_coefficients</name></member>
+ <member><type>StdVideoAV1ChromaSamplePosition</type> <name>chroma_sample_position</name></member>
+ </type>
+ <type category="struct" name="StdVideoAV1TimingInfoFlags">
+ <comment>Syntax defined in section 5.5.3, semantics defined in section 6.4.3</comment>
+ <member><type>uint32_t</type> <name>equal_picture_interval</name> : 1</member>
+ <member><type>uint32_t</type> <name>reserved</name> : 31</member>
+ </type>
+ <type category="struct" name="StdVideoAV1TimingInfo">
+ <comment>Syntax defined in section 5.5.3, semantics defined in section 6.4.3</comment>
+ <member><type>StdVideoAV1TimingInfoFlags</type> <name>flags</name></member>
+ <member><type>uint32_t</type> <name>num_units_in_display_tick</name></member>
+ <member><type>uint32_t</type> <name>time_scale</name></member>
+ <member><type>uint32_t</type> <name>num_ticks_per_picture_minus_1</name></member>
+ </type>
+ <type category="struct" name="StdVideoAV1SequenceHeaderFlags">
+ <comment>Syntax defined in section 5.5, semantics defined in section 6.4</comment>
+ <member><type>uint32_t</type> <name>still_picture</name> : 1</member>
+ <member><type>uint32_t</type> <name>reduced_still_picture_header</name> : 1</member>
+ <member><type>uint32_t</type> <name>use_128x128_superblock</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_filter_intra</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_intra_edge_filter</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_interintra_compound</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_masked_compound</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_warped_motion</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_dual_filter</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_order_hint</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_jnt_comp</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_ref_frame_mvs</name> : 1</member>
+ <member><type>uint32_t</type> <name>frame_id_numbers_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_superres</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_cdef</name> : 1</member>
+ <member><type>uint32_t</type> <name>enable_restoration</name> : 1</member>
+ <member><type>uint32_t</type> <name>film_grain_params_present</name> : 1</member>
+ <member><type>uint32_t</type> <name>timing_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>initial_display_delay_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>reserved</name> : 13</member>
+ </type>
+ <type category="struct" name="StdVideoAV1SequenceHeader">
+ <comment>Syntax defined in section 5.5, semantics defined in section 6.4</comment>
+ <member><type>StdVideoAV1SequenceHeaderFlags</type> <name>flags</name></member>
+ <member><type>StdVideoAV1Profile</type> <name>seq_profile</name></member>
+ <member><type>uint8_t</type> <name>frame_width_bits_minus_1</name></member>
+ <member><type>uint8_t</type> <name>frame_height_bits_minus_1</name></member>
+ <member><type>uint16_t</type> <name>max_frame_width_minus_1</name></member>
+ <member><type>uint16_t</type> <name>max_frame_height_minus_1</name></member>
+ <member><type>uint8_t</type> <name>delta_frame_id_length_minus_2</name></member>
+ <member><type>uint8_t</type> <name>additional_frame_id_length_minus_1</name></member>
+ <member><type>uint8_t</type> <name>order_hint_bits_minus_1</name></member>
+ <member><type>uint8_t</type> <name>seq_force_integer_mv</name><comment>The final value of of seq_force_integer_mv per the value of seq_choose_integer_mv.</comment></member>
+ <member><type>uint8_t</type> <name>seq_force_screen_content_tools</name><comment>The final value of of seq_force_screen_content_tools per the value of seq_choose_screen_content_tools.</comment></member>
+ <member><type>uint8_t</type> <name>reserved1</name>[5]<comment>Reserved for future use and must be initialized with 0.</comment></member>
+ <member>const <type>StdVideoAV1ColorConfig</type>* <name>pColorConfig</name></member>
+ <member>const <type>StdVideoAV1TimingInfo</type>* <name>pTimingInfo</name></member>
+ </type>
+ <type category="struct" name="StdVideoAV1LoopFilterFlags">
+ <comment>Syntax defined in section 5.9.11, semantics defined in section 6.8.10</comment>
+ <member><type>uint32_t</type> <name>loop_filter_delta_enabled</name> : 1</member>
+ <member><type>uint32_t</type> <name>loop_filter_delta_update</name> : 1</member>
+ <member><type>uint32_t</type> <name>reserved</name> : 30</member>
+ </type>
+ <type category="struct" name="StdVideoAV1LoopFilter">
+ <comment>Syntax defined in section 5.9.11, semantics defined in section 6.8.10</comment>
+ <member><type>StdVideoAV1LoopFilterFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>loop_filter_level</name>[<enum>STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS</enum>]</member>
+ <member><type>uint8_t</type> <name>loop_filter_sharpness</name></member>
+ <member><type>uint8_t</type> <name>update_ref_delta</name></member>
+ <member><type>int8_t</type> <name>loop_filter_ref_deltas</name>[<enum>STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME</enum>]</member>
+ <member><type>uint8_t</type> <name>update_mode_delta</name></member>
+ <member><type>int8_t</type> <name>loop_filter_mode_deltas</name>[<enum>STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS</enum>]</member>
+ </type>
+ <type category="struct" name="StdVideoAV1QuantizationFlags">
+ <comment>Syntax defined in section 5.9.12, semantics defined in section 6.8.11</comment>
+ <member><type>uint32_t</type> <name>using_qmatrix</name> : 1</member>
+ <member><type>uint32_t</type> <name>diff_uv_delta</name> : 1</member>
+ <member><type>uint32_t</type> <name>reserved</name> : 30</member>
+ </type>
+ <type category="struct" name="StdVideoAV1Quantization">
+ <comment>Syntax defined in section 5.9.12, semantics defined in section 6.8.11</comment>
+ <member><type>StdVideoAV1QuantizationFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>base_q_idx</name></member>
+ <member><type>int8_t</type> <name>DeltaQYDc</name></member>
+ <member><type>int8_t</type> <name>DeltaQUDc</name></member>
+ <member><type>int8_t</type> <name>DeltaQUAc</name></member>
+ <member><type>int8_t</type> <name>DeltaQVDc</name></member>
+ <member><type>int8_t</type> <name>DeltaQVAc</name></member>
+ <member><type>uint8_t</type> <name>qm_y</name></member>
+ <member><type>uint8_t</type> <name>qm_u</name></member>
+ <member><type>uint8_t</type> <name>qm_v</name></member>
+ </type>
+ <type category="struct" name="StdVideoAV1Segmentation">
+ <comment>Syntax defined in section 5.9.14, semantics defined in section 6.8.13</comment>
+ <member><type>uint8_t</type> <name>FeatureEnabled</name>[<enum>STD_VIDEO_AV1_MAX_SEGMENTS</enum>]<comment>Each element contains 8 (SEG_LVL_MAX) bits, one bit for each feature within the segment</comment></member>
+ <member><type>int16_t</type> <name>FeatureData</name>[<enum>STD_VIDEO_AV1_MAX_SEGMENTS</enum>][<enum>STD_VIDEO_AV1_SEG_LVL_MAX</enum>]</member>
+ </type>
+ <type category="struct" name="StdVideoAV1TileInfoFlags">
+ <comment>Syntax defined in section 5.9.15, semantics defined in section 6.8.14</comment>
+ <member><type>uint32_t</type> <name>uniform_tile_spacing_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>reserved</name> : 31</member>
+ </type>
+ <type category="struct" name="StdVideoAV1TileInfo">
+ <comment>Syntax defined in section 5.9.15, semantics defined in section 6.8.14</comment>
+ <member><type>StdVideoAV1TileInfoFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>TileCols</name></member>
+ <member><type>uint8_t</type> <name>TileRows</name></member>
+ <member><type>uint16_t</type> <name>context_update_tile_id</name></member>
+ <member><type>uint8_t</type> <name>tile_size_bytes_minus_1</name></member>
+ <member><type>uint8_t</type> <name>reserved1</name>[7]<comment>Reserved for future use and must be initialized with 0.</comment></member>
+ <member>const <type>uint16_t</type>* <name>pMiColStarts</name><comment>TileCols number of elements</comment></member>
+ <member>const <type>uint16_t</type>* <name>pMiRowStarts</name><comment>TileRows number of elements</comment></member>
+ <member>const <type>uint16_t</type>* <name>pWidthInSbsMinus1</name><comment>TileCols number of elements</comment></member>
+ <member>const <type>uint16_t</type>* <name>pHeightInSbsMinus1</name><comment>TileRows number of elements</comment></member>
+ </type>
+ <type category="struct" name="StdVideoAV1CDEF">
+ <comment>Syntax defined in section 5.9.19, semantics defined in section 6.10.14</comment>
+ <member><type>uint8_t</type> <name>cdef_damping_minus_3</name></member>
+ <member><type>uint8_t</type> <name>cdef_bits</name></member>
+ <member><type>uint8_t</type> <name>cdef_y_pri_strength</name>[<enum>STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS</enum>]</member>
+ <member><type>uint8_t</type> <name>cdef_y_sec_strength</name>[<enum>STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS</enum>]</member>
+ <member><type>uint8_t</type> <name>cdef_uv_pri_strength</name>[<enum>STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS</enum>]</member>
+ <member><type>uint8_t</type> <name>cdef_uv_sec_strength</name>[<enum>STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS</enum>]</member>
+ </type>
+ <type category="struct" name="StdVideoAV1LoopRestoration">
+ <comment>Syntax defined in section 5.9.20, semantics defined in section 6.10.15</comment>
+ <member><type>StdVideoAV1FrameRestorationType</type> <name>FrameRestorationType</name>[<enum>STD_VIDEO_AV1_MAX_NUM_PLANES</enum>]</member>
+ <member><type>uint16_t</type> <name>LoopRestorationSize</name>[<enum>STD_VIDEO_AV1_MAX_NUM_PLANES</enum>]</member>
+ </type>
+ <type category="struct" name="StdVideoAV1GlobalMotion">
+ <comment>Syntax defined in section 5.9.24, semantics defined in section 7.10</comment>
+ <member><type>uint8_t</type> <name>GmType</name>[<enum>STD_VIDEO_AV1_NUM_REF_FRAMES</enum>]</member>
+ <member><type>int32_t</type> <name>gm_params</name>[<enum>STD_VIDEO_AV1_NUM_REF_FRAMES</enum>][<enum>STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS</enum>]</member>
+ </type>
+ <type category="struct" name="StdVideoAV1FilmGrainFlags">
+ <comment>Syntax defined in section 5.9.30, semantics defined in section 6.8.20</comment>
+ <member><type>uint32_t</type> <name>chroma_scaling_from_luma</name> : 1</member>
+ <member><type>uint32_t</type> <name>overlap_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>clip_to_restricted_range</name> : 1</member>
+ <member><type>uint32_t</type> <name>update_grain</name> : 1</member>
+ <member><type>uint32_t</type> <name>reserved</name> : 28</member>
+ </type>
+ <type category="struct" name="StdVideoAV1FilmGrain">
+ <comment>Syntax defined in section 5.9.30, semantics defined in section 6.8.20</comment>
+ <member><type>StdVideoAV1FilmGrainFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>grain_scaling_minus_8</name></member>
+ <member><type>uint8_t</type> <name>ar_coeff_lag</name></member>
+ <member><type>uint8_t</type> <name>ar_coeff_shift_minus_6</name></member>
+ <member><type>uint8_t</type> <name>grain_scale_shift</name></member>
+ <member><type>uint16_t</type> <name>grain_seed</name></member>
+ <member><type>uint8_t</type> <name>film_grain_params_ref_idx</name></member>
+ <member><type>uint8_t</type> <name>num_y_points</name></member>
+ <member><type>uint8_t</type> <name>point_y_value</name>[<enum>STD_VIDEO_AV1_MAX_NUM_Y_POINTS</enum>]</member>
+ <member><type>uint8_t</type> <name>point_y_scaling</name>[<enum>STD_VIDEO_AV1_MAX_NUM_Y_POINTS</enum>]</member>
+ <member><type>uint8_t</type> <name>num_cb_points</name></member>
+ <member><type>uint8_t</type> <name>point_cb_value</name>[<enum>STD_VIDEO_AV1_MAX_NUM_CB_POINTS</enum>]</member>
+ <member><type>uint8_t</type> <name>point_cb_scaling</name>[<enum>STD_VIDEO_AV1_MAX_NUM_CB_POINTS</enum>]</member>
+ <member><type>uint8_t</type> <name>num_cr_points</name></member>
+ <member><type>uint8_t</type> <name>point_cr_value</name>[<enum>STD_VIDEO_AV1_MAX_NUM_CR_POINTS</enum>]</member>
+ <member><type>uint8_t</type> <name>point_cr_scaling</name>[<enum>STD_VIDEO_AV1_MAX_NUM_CR_POINTS</enum>]</member>
+ <member><type>int8_t</type> <name>ar_coeffs_y_plus_128</name>[<enum>STD_VIDEO_AV1_MAX_NUM_POS_LUMA</enum>]</member>
+ <member><type>int8_t</type> <name>ar_coeffs_cb_plus_128</name>[<enum>STD_VIDEO_AV1_MAX_NUM_POS_CHROMA</enum>]</member>
+ <member><type>int8_t</type> <name>ar_coeffs_cr_plus_128</name>[<enum>STD_VIDEO_AV1_MAX_NUM_POS_CHROMA</enum>]</member>
+ <member><type>uint8_t</type> <name>cb_mult</name></member>
+ <member><type>uint8_t</type> <name>cb_luma_mult</name></member>
+ <member><type>uint16_t</type> <name>cb_offset</name></member>
+ <member><type>uint8_t</type> <name>cr_mult</name></member>
+ <member><type>uint8_t</type> <name>cr_luma_mult</name></member>
+ <member><type>uint16_t</type> <name>cr_offset</name></member>
+ </type>
+ <type category="struct" name="StdVideoDecodeAV1PictureInfoFlags">
+ <comment>Syntax defined in section 5.9, semantics defined in section 6.8</comment>
+ <member><type>uint32_t</type> <name>error_resilient_mode</name> : 1</member>
+ <member><type>uint32_t</type> <name>disable_cdf_update</name> : 1</member>
+ <member><type>uint32_t</type> <name>use_superres</name> : 1</member>
+ <member><type>uint32_t</type> <name>render_and_frame_size_different</name> : 1</member>
+ <member><type>uint32_t</type> <name>allow_screen_content_tools</name> : 1</member>
+ <member><type>uint32_t</type> <name>is_filter_switchable</name> : 1</member>
+ <member><type>uint32_t</type> <name>force_integer_mv</name> : 1</member>
+ <member><type>uint32_t</type> <name>frame_size_override_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>buffer_removal_time_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>allow_intrabc</name> : 1</member>
+ <member><type>uint32_t</type> <name>frame_refs_short_signaling</name> : 1</member>
+ <member><type>uint32_t</type> <name>allow_high_precision_mv</name> : 1</member>
+ <member><type>uint32_t</type> <name>is_motion_mode_switchable</name> : 1</member>
+ <member><type>uint32_t</type> <name>use_ref_frame_mvs</name> : 1</member>
+ <member><type>uint32_t</type> <name>disable_frame_end_update_cdf</name> : 1</member>
+ <member><type>uint32_t</type> <name>allow_warped_motion</name> : 1</member>
+ <member><type>uint32_t</type> <name>reduced_tx_set</name> : 1</member>
+ <member><type>uint32_t</type> <name>reference_select</name> : 1</member>
+ <member><type>uint32_t</type> <name>skip_mode_present</name> : 1</member>
+ <member><type>uint32_t</type> <name>delta_q_present</name> : 1</member>
+ <member><type>uint32_t</type> <name>delta_lf_present</name> : 1</member>
+ <member><type>uint32_t</type> <name>delta_lf_multi</name> : 1</member>
+ <member><type>uint32_t</type> <name>segmentation_enabled</name> : 1</member>
+ <member><type>uint32_t</type> <name>segmentation_update_map</name> : 1</member>
+ <member><type>uint32_t</type> <name>segmentation_temporal_update</name> : 1</member>
+ <member><type>uint32_t</type> <name>segmentation_update_data</name> : 1</member>
+ <member><type>uint32_t</type> <name>UsesLr</name> : 1</member>
+ <member><type>uint32_t</type> <name>usesChromaLr</name> : 1</member>
+ <member><type>uint32_t</type> <name>apply_grain</name> : 1</member>
+ <member><type>uint32_t</type> <name>reserved</name> : 3</member>
+ </type>
+ <type category="struct" name="StdVideoDecodeAV1PictureInfo">
+ <comment>Syntax defined in sections 5.9 and 5.11.1, semantics defined in sections 6.8 and 6.10.1</comment>
+ <member><type>StdVideoDecodeAV1PictureInfoFlags</type> <name>flags</name></member>
+ <member><type>StdVideoAV1FrameType</type> <name>frame_type</name></member>
+ <member><type>uint32_t</type> <name>current_frame_id</name></member>
+ <member><type>uint8_t</type> <name>OrderHint</name></member>
+ <member><type>uint8_t</type> <name>primary_ref_frame</name></member>
+ <member><type>uint8_t</type> <name>refresh_frame_flags</name></member>
+ <member><type>uint8_t</type> <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
+ <member><type>StdVideoAV1InterpolationFilter</type> <name>interpolation_filter</name></member>
+ <member><type>StdVideoAV1TxMode</type> <name>TxMode</name></member>
+ <member><type>uint8_t</type> <name>delta_q_res</name></member>
+ <member><type>uint8_t</type> <name>delta_lf_res</name></member>
+ <member><type>uint8_t</type> <name>SkipModeFrame</name>[<enum>STD_VIDEO_AV1_SKIP_MODE_FRAMES</enum>]</member>
+ <member><type>uint8_t</type> <name>coded_denom</name></member>
+ <member><type>uint8_t</type> <name>reserved2</name>[3]<comment>Reserved for future use and must be initialized with 0.</comment></member>
+ <member><type>uint8_t</type> <name>OrderHints</name>[<enum>STD_VIDEO_AV1_NUM_REF_FRAMES</enum>]</member>
+ <member><type>uint32_t</type> <name>expectedFrameId</name>[<enum>STD_VIDEO_AV1_NUM_REF_FRAMES</enum>]</member>
+ <member>const <type>StdVideoAV1TileInfo</type>* <name>pTileInfo</name></member>
+ <member>const <type>StdVideoAV1Quantization</type>* <name>pQuantization</name></member>
+ <member>const <type>StdVideoAV1Segmentation</type>* <name>pSegmentation</name></member>
+ <member>const <type>StdVideoAV1LoopFilter</type>* <name>pLoopFilter</name></member>
+ <member>const <type>StdVideoAV1CDEF</type>* <name>pCDEF</name></member>
+ <member>const <type>StdVideoAV1LoopRestoration</type>* <name>pLoopRestoration</name></member>
+ <member>const <type>StdVideoAV1GlobalMotion</type>* <name>pGlobalMotion</name></member>
+ <member>const <type>StdVideoAV1FilmGrain</type>* <name>pFilmGrain</name></member>
+ </type>
+ <type category="struct" name="StdVideoDecodeAV1ReferenceInfoFlags">
+ <member><type>uint32_t</type> <name>disable_frame_end_update_cdf</name> : 1</member>
+ <member><type>uint32_t</type> <name>segmentation_enabled</name> : 1</member>
+ <member><type>uint32_t</type> <name>reserved</name> : 30</member>
+ </type>
+ <type category="struct" name="StdVideoDecodeAV1ReferenceInfo">
+ <member><type>StdVideoDecodeAV1ReferenceInfoFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>frame_type</name></member>
+ <member><type>uint8_t</type> <name>RefFrameSignBias</name></member>
+ <member><type>uint8_t</type> <name>OrderHint</name></member>
+ <member><type>uint8_t</type> <name>SavedOrderHints</name>[<enum>STD_VIDEO_AV1_NUM_REF_FRAMES</enum>]</member>
+ </type>
</types>
<!-- vulkan_video_codec_h264std.h enums -->
@@ -1039,6 +1316,142 @@ The current public version of video.xml is maintained in the default branch
<enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID" value="0x7FFFFFFF"/>
</enums>
+ <!-- vulkan_video_codec_av1std.h enums -->
+ <enums name="StdVideoAV1Profile" type="enum">
+ <enum name="STD_VIDEO_AV1_PROFILE_MAIN" value="0"/>
+ <enum name="STD_VIDEO_AV1_PROFILE_HIGH" value="1"/>
+ <enum name="STD_VIDEO_AV1_PROFILE_PROFESSIONAL" value="2"/>
+ <enum name="STD_VIDEO_AV1_PROFILE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1Level" type="enum">
+ <enum name="STD_VIDEO_AV1_LEVEL_2_0" value="0"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_2_1" value="1"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_2_2" value="2"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_2_3" value="3"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_3_0" value="4"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_3_1" value="5"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_3_2" value="6"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_3_3" value="7"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_4_0" value="8"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_4_1" value="9"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_4_2" value="10"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_4_3" value="11"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_5_0" value="12"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_5_1" value="13"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_5_2" value="14"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_5_3" value="15"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_6_0" value="16"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_6_1" value="17"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_6_2" value="18"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_6_3" value="19"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_7_0" value="20"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_7_1" value="21"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_7_2" value="22"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_7_3" value="23"/>
+ <enum name="STD_VIDEO_AV1_LEVEL_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1FrameType" type="enum">
+ <enum name="STD_VIDEO_AV1_FRAME_TYPE_KEY" value="0"/>
+ <enum name="STD_VIDEO_AV1_FRAME_TYPE_INTER" value="1"/>
+ <enum name="STD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY" value="2"/>
+ <enum name="STD_VIDEO_AV1_FRAME_TYPE_SWITCH" value="3"/>
+ <enum name="STD_VIDEO_AV1_FRAME_TYPE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1ReferenceName" type="enum">
+ <enum name="STD_VIDEO_AV1_REFERENCE_NAME_INTRA_FRAME" value="0"/>
+ <enum name="STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME" value="1"/>
+ <enum name="STD_VIDEO_AV1_REFERENCE_NAME_LAST2_FRAME" value="2"/>
+ <enum name="STD_VIDEO_AV1_REFERENCE_NAME_LAST3_FRAME" value="3"/>
+ <enum name="STD_VIDEO_AV1_REFERENCE_NAME_GOLDEN_FRAME" value="4"/>
+ <enum name="STD_VIDEO_AV1_REFERENCE_NAME_BWDREF_FRAME" value="5"/>
+ <enum name="STD_VIDEO_AV1_REFERENCE_NAME_ALTREF2_FRAME" value="6"/>
+ <enum name="STD_VIDEO_AV1_REFERENCE_NAME_ALTREF_FRAME" value="7"/>
+ <enum name="STD_VIDEO_AV1_REFERENCE_NAME_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1InterpolationFilter" type="enum">
+ <enum name="STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP" value="0"/>
+ <enum name="STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH" value="1"/>
+ <enum name="STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP" value="2"/>
+ <enum name="STD_VIDEO_AV1_INTERPOLATION_FILTER_BILINEAR" value="3"/>
+ <enum name="STD_VIDEO_AV1_INTERPOLATION_FILTER_SWITCHABLE" value="4"/>
+ <enum name="STD_VIDEO_AV1_INTERPOLATION_FILTER_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1TxMode" type="enum">
+ <enum name="STD_VIDEO_AV1_TX_MODE_ONLY_4X4" value="0"/>
+ <enum name="STD_VIDEO_AV1_TX_MODE_LARGEST" value="1"/>
+ <enum name="STD_VIDEO_AV1_TX_MODE_SELECT" value="2"/>
+ <enum name="STD_VIDEO_AV1_TX_MODE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1FrameRestorationType" type="enum">
+ <enum name="STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_NONE" value="0"/>
+ <enum name="STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER" value="1"/>
+ <enum name="STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ" value="2"/>
+ <enum name="STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SWITCHABLE" value="3"/>
+ <enum name="STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1ColorPrimaries">
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709" value="1"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED" value="2"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M" value="4"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G" value="5"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601" value="6"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240" value="7"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM" value="8"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020" value="9"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ" value="10"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431" value="11"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432" value="12"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213" value="22"/>
+ <enum name="STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1TransferCharacteristics">
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_0" value="0"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_709" value="1"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_UNSPECIFIED" value="2"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_3" value="3"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_M" value="4"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_B_G" value="5"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_601" value="6"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_240" value="7"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LINEAR" value="8"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100" value="9"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100_SQRT10" value="10"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_IEC_61966" value="11"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_1361" value="12"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SRGB" value="13"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_10_BIT" value="14"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_12_BIT" value="15"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_2084" value="16"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_428" value="17"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_HLG" value="18"/>
+ <enum name="STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1MatrixCoefficients">
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_IDENTITY" value="0"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_709" value="1"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_UNSPECIFIED" value="2"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_RESERVED_3" value="3"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_FCC" value="4"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_470_B_G" value="5"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_601" value="6"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_240" value="7"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_YCGCO" value="8"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_NCL" value="9"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_CL" value="10"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_2085" value="11"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_NCL" value="12"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_CL" value="13"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_ICTCP" value="14"/>
+ <enum name="STD_VIDEO_AV1_MATRIX_COEFFICIENTS_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoAV1ChromaSamplePosition">
+ <enum name="STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_UNKNOWN" value="0"/>
+ <enum name="STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_VERTICAL" value="1"/>
+ <enum name="STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_COLOCATED" value="2"/>
+ <enum name="STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED" value="3"/>
+ <enum name="STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+
<extensions>
<extension name="vulkan_video_codecs_common" comment="protect with VULKAN_VIDEO_CODEC_COMMON_H_" supported="vulkan">
<require>
@@ -1214,5 +1627,77 @@ The current public version of video.xml is maintained in the default branch
<type name="StdVideoEncodeH265ReferenceInfo"/>
</require>
</extension>
+ <extension name="vulkan_video_codec_av1std" comment="protect with VULKAN_VIDEO_CODEC_AV1STD_H_" supported="vulkan">
+ <require>
+ <type name="vk_video/vulkan_video_codecs_common.h"/>
+
+ <enum name="STD_VIDEO_AV1_NUM_REF_FRAMES" value="8"/>
+ <enum name="STD_VIDEO_AV1_REFS_PER_FRAME" value="7"/>
+ <enum name="STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME" value="8"/>
+ <enum name="STD_VIDEO_AV1_MAX_TILE_COLS" value="64"/>
+ <enum name="STD_VIDEO_AV1_MAX_TILE_ROWS" value="64"/>
+ <enum name="STD_VIDEO_AV1_MAX_SEGMENTS" value="8"/>
+ <enum name="STD_VIDEO_AV1_SEG_LVL_MAX" value="8"/>
+ <enum name="STD_VIDEO_AV1_PRIMARY_REF_NONE" value="7"/>
+ <enum name="STD_VIDEO_AV1_SELECT_INTEGER_MV" value="2"/>
+ <enum name="STD_VIDEO_AV1_SELECT_SCREEN_CONTENT_TOOLS" value="2"/>
+ <enum name="STD_VIDEO_AV1_SKIP_MODE_FRAMES" value="2"/>
+ <enum name="STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS" value="4"/>
+ <enum name="STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS" value="2"/>
+ <enum name="STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS" value="8"/>
+ <enum name="STD_VIDEO_AV1_MAX_NUM_PLANES" value="3"/>
+ <enum name="STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS" value="6"/>
+ <enum name="STD_VIDEO_AV1_MAX_NUM_Y_POINTS" value="14"/>
+ <enum name="STD_VIDEO_AV1_MAX_NUM_CB_POINTS" value="10"/>
+ <enum name="STD_VIDEO_AV1_MAX_NUM_CR_POINTS" value="10"/>
+ <enum name="STD_VIDEO_AV1_MAX_NUM_POS_LUMA" value="24"/>
+ <enum name="STD_VIDEO_AV1_MAX_NUM_POS_CHROMA" value="25"/>
+
+ <type name="StdVideoAV1Profile"/>
+ <type name="StdVideoAV1Level"/>
+ <type name="StdVideoAV1FrameType"/>
+ <type name="StdVideoAV1ReferenceName"/>
+ <type name="StdVideoAV1InterpolationFilter"/>
+ <type name="StdVideoAV1TxMode"/>
+ <type name="StdVideoAV1FrameRestorationType"/>
+ <type name="StdVideoAV1ColorPrimaries"/>
+ <type name="StdVideoAV1TransferCharacteristics"/>
+ <type name="StdVideoAV1MatrixCoefficients"/>
+ <type name="StdVideoAV1ChromaSamplePosition"/>
+
+ <type name="StdVideoAV1ColorConfigFlags"/>
+ <type name="StdVideoAV1ColorConfig"/>
+ <type name="StdVideoAV1TimingInfoFlags"/>
+ <type name="StdVideoAV1TimingInfo"/>
+ <type name="StdVideoAV1LoopFilterFlags"/>
+ <type name="StdVideoAV1LoopFilter"/>
+ <type name="StdVideoAV1QuantizationFlags"/>
+ <type name="StdVideoAV1Quantization"/>
+ <type name="StdVideoAV1Segmentation"/>
+ <type name="StdVideoAV1TileInfoFlags"/>
+ <type name="StdVideoAV1TileInfo"/>
+ <type name="StdVideoAV1CDEF"/>
+ <type name="StdVideoAV1LoopRestoration"/>
+ <type name="StdVideoAV1GlobalMotion"/>
+ <type name="StdVideoAV1FilmGrainFlags"/>
+ <type name="StdVideoAV1FilmGrain"/>
+ <type name="StdVideoAV1SequenceHeaderFlags"/>
+ <type name="StdVideoAV1SequenceHeader"/>
+ </require>
+ </extension>
+ <extension name="vulkan_video_codec_av1std_decode" comment="protect with VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_" supported="vulkan">
+ <require>
+ <type name="vk_video/vulkan_video_codec_av1std.h"/>
+
+ <type name="VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION" value="VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME" value="&quot;VK_STD_vulkan_video_codec_av1_decode&quot;"/>
+
+ <type name="StdVideoDecodeAV1PictureInfoFlags"/>
+ <type name="StdVideoDecodeAV1PictureInfo"/>
+ <type name="StdVideoDecodeAV1ReferenceInfoFlags"/>
+ <type name="StdVideoDecodeAV1ReferenceInfo"/>
+ </require>
+ </extension>
</extensions>
</registry>
diff --git a/registry/vk.xml b/registry/vk.xml
index 82ec5eb..fb92b7c 100755
--- 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> 276</type>
+#define <name>VK_HEADER_VERSION</name> 277</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
@@ -6866,6 +6866,44 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member>const <type>StdVideoDecodeH265ReferenceInfo</type>* <name>pStdReferenceInfo</name></member>
</type>
+ <type category="include" name="vk_video/vulkan_video_codec_av1std.h">#include "vk_video/vulkan_video_codec_av1std.h"</type>
+ <type requires="vk_video/vulkan_video_codec_av1std.h" name="StdVideoAV1Profile"/>
+ <type requires="vk_video/vulkan_video_codec_av1std.h" name="StdVideoAV1Level"/>
+ <type requires="vk_video/vulkan_video_codec_av1std.h" name="StdVideoAV1SequenceHeader"/>
+ <type category="include" name="vk_video/vulkan_video_codec_av1std_decode.h">#include "vk_video/vulkan_video_codec_av1std_decode.h"</type>
+ <type requires="vk_video/vulkan_video_codec_av1std_decode.h" name="StdVideoDecodeAV1PictureInfo"/>
+ <type requires="vk_video/vulkan_video_codec_av1std_decode.h" name="StdVideoDecodeAV1ReferenceInfo"/>
+ <type category="struct" name="VkVideoDecodeAV1ProfileInfoKHR" structextends="VkVideoProfileInfoKHR,VkQueryPoolCreateInfo">
+ <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>StdVideoAV1Profile</type> <name>stdProfile</name></member>
+ <member><type>VkBool32</type> <name>filmGrainSupport</name></member>
+ </type>
+ <type category="struct" name="VkVideoDecodeAV1CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
+ <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>StdVideoAV1Level</type> <name>maxLevel</name></member>
+ </type>
+ <type category="struct" name="VkVideoDecodeAV1SessionParametersCreateInfoKHR" structextends="VkVideoSessionParametersCreateInfoKHR">
+ <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member>const <type>StdVideoAV1SequenceHeader</type>* <name>pStdSequenceHeader</name></member>
+ </type>
+ <type category="struct" name="VkVideoDecodeAV1PictureInfoKHR" structextends="VkVideoDecodeInfoKHR">
+ <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member>const <type>StdVideoDecodeAV1PictureInfo</type>* <name>pStdPictureInfo</name></member>
+ <member><type>int32_t</type> <name>referenceNameSlotIndices</name>[<enum>VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR</enum>]</member>
+ <member><type>uint32_t</type> <name>frameHeaderOffset</name></member>
+ <member><type>uint32_t</type> <name>tileCount</name></member>
+ <member len="tileCount">const <type>uint32_t</type>* <name>pTileOffsets</name></member>
+ <member len="tileCount">const <type>uint32_t</type>* <name>pTileSizes</name></member>
+ </type>
+ <type category="struct" name="VkVideoDecodeAV1DpbSlotInfoKHR" structextends="VkVideoReferenceSlotInfoKHR">
+ <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member>const <type>StdVideoDecodeAV1ReferenceInfo</type>* <name>pStdReferenceInfo</name></member>
+ </type>
<type category="struct" name="VkVideoSessionCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -9078,6 +9116,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum type="uint32_t" value="16" name="VK_MAX_GLOBAL_PRIORITY_SIZE_KHR"/>
<enum name="VK_MAX_GLOBAL_PRIORITY_SIZE_EXT" alias="VK_MAX_GLOBAL_PRIORITY_SIZE_KHR"/>
<enum type="uint32_t" value="32" name="VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT"/>
+ <enum type="uint32_t" value="7" name="VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR"/>
<enum type="uint32_t" value="(~0U)" name="VK_SHADER_INDEX_UNUSED_AMDX"/>
</enums>
@@ -20414,7 +20453,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum bitpos="19" extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_RESERVED_19_BIT_EXT"/>
</require>
</extension>
- <extension name="VK_EXT_line_rasterization" number="260" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Jeff Bolz @jeffbolznv" specialuse="cadsupport" supported="vulkan,vulkansc">
+ <extension name="VK_EXT_line_rasterization" number="260" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Jeff Bolz @jeffbolznv" specialuse="cadsupport" supported="vulkan,vulkansc" promotedto="VK_KHR_line_rasterization">
<require>
<enum value="1" name="VK_EXT_LINE_RASTERIZATION_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_line_rasterization&quot;" name="VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME"/>
@@ -22472,9 +22511,11 @@ typedef void* <name>MTLSharedEvent_id</name>;
</extension>
<extension name="VK_KHR_shader_subgroup_rotate" number="417" author="KHR" contact="Kevin Petit @kpet" type="device" supported="vulkan" ratified="vulkan">
<require>
- <enum value="1" name="VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION"/>
+ <enum value="2" name="VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_shader_subgroup_rotate&quot;" name="VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR"/>
+ <enum bitpos="9" extends="VkSubgroupFeatureFlagBits" name="VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR"/>
+ <enum bitpos="10" extends="VkSubgroupFeatureFlagBits" name="VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR"/>
<type name="VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR"/>
</require>
</extension>
@@ -23738,10 +23779,22 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_EXT_extension_512&quot;" name="VK_EXT_EXTENSION_512_EXTENSION_NAME"/>
</require>
</extension>
- <extension name="VK_KHR_extension_513" number="513" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" type="device" supported="disabled">
+ <extension name="VK_KHR_video_decode_av1" number="513" author="KHR" depends="VK_KHR_video_decode_queue" contact="Daniel Rakos @aqnuep" type="device" supported="vulkan" ratified="vulkan">
<require>
- <enum value="0" name="VK_KHR_EXTENSION_513_SPEC_VERSION"/>
- <enum value="&quot;VK_KHR_extension_513&quot;" name="VK_KHR_EXTENSION_513_EXTENSION_NAME"/>
+ <enum value="1" name="VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION"/>
+ <enum value="&quot;VK_KHR_video_decode_av1&quot;" name="VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME"/>
+ <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR"/>
+ <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR"/>
+ <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR"/>
+ <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR"/>
+ <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR"/>
+ <enum bitpos="2" extends="VkVideoCodecOperationFlagBitsKHR" name="VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR"/>
+ <enum name="VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR"/>
+ <type name="VkVideoDecodeAV1ProfileInfoKHR"/>
+ <type name="VkVideoDecodeAV1CapabilitiesKHR"/>
+ <type name="VkVideoDecodeAV1SessionParametersCreateInfoKHR"/>
+ <type name="VkVideoDecodeAV1PictureInfoKHR"/>
+ <type name="VkVideoDecodeAV1DpbSlotInfoKHR"/>
</require>
</extension>
<extension name="VK_KHR_extension_514" number="514" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" type="device" supported="disabled">
@@ -24134,6 +24187,30 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_KHR_extension_559&quot;" name="VK_KHR_EXTENSION_559_EXTENSION_NAME"/>
</require>
</extension>
+ <extension name="VK_NV_extension_560" number="560" author="NV" contact="Lujin Wang @lwnv" supported="disabled">
+ <require>
+ <enum value="0" name="VK_NV_EXTENSION_560_SPEC_VERSION"/>
+ <enum value="&quot;VK_NV_extension_560&quot;" name="VK_NV_EXTENSION_560_EXTENSION_NAME"/>
+ </require>
+ </extension>
+ <extension name="VK_EXT_extension_561" number="561" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="disabled">
+ <require>
+ <enum value="0" name="VK_EXT_EXTENSION_561_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_561&quot;" name="VK_EXT_EXTENSION_561_EXTENSION_NAME"/>
+ </require>
+ </extension>
+ <extension name="VK_KHR_extension_562" number="562" author="KHR" contact="Piers Daniell @pdaniell-nv" supported="disabled">
+ <require>
+ <enum value="0" name="VK_KHR_EXTENSION_562_SPEC_VERSION"/>
+ <enum value="&quot;VK_KHR_extension_562&quot;" name="VK_KHR_EXTENSION_562_EXTENSION_NAME"/>
+ </require>
+ </extension>
+ <extension name="VK_KHR_extension_563" number="563" author="KHR" contact="Jon Leech @oddhack" supported="disabled">
+ <require>
+ <enum value="0" name="VK_KHR_EXTENSION_563_SPEC_VERSION"/>
+ <enum value="&quot;VK_KHR_extension_563&quot;" name="VK_KHR_EXTENSION_563_EXTENSION_NAME"/>
+ </require>
+ </extension>
</extensions>
<formats>
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">
@@ -26284,6 +26361,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<spirvcapability name="QuadControlKHR">
<enable struct="VkPhysicalDeviceShaderQuadControlFeaturesKHR" feature="shaderQuadControl" requires="VK_KHR_shader_quad_control"/>
</spirvcapability>
+ <spirvcapability name="MaximallyReconvergesKHR">
+ <enable struct="VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR" feature="shaderMaximalReconvergence" requires="VK_KHR_shader_maximal_reconvergence"/>
+ </spirvcapability>
</spirvcapabilities>
<sync comment="Machine readable representation of the synchronization objects and their mappings">
<syncstage name="VK_PIPELINE_STAGE_2_NONE" alias="VK_PIPELINE_STAGE_NONE">
diff --git a/registry/vkconventions.py b/registry/vkconventions.py
index 07ccebe..cf0803b 100755
--- a/registry/vkconventions.py
+++ b/registry/vkconventions.py
@@ -119,6 +119,7 @@ class VulkanConventions(ConventionsBase):
# The simple-minded rules need modification for some structure names
subpats = [
[ r'_H_(26[45])_', r'_H\1_' ],
+ [ r'_AV_1_', r'_AV1_' ],
[ r'_VULKAN_([0-9])([0-9])_', r'_VULKAN_\1_\2_' ],
[ r'_VULKAN_SC_([0-9])([0-9])_',r'_VULKAN_SC_\1_\2_' ],
[ r'_DIRECT_FB_', r'_DIRECTFB_' ],