aboutsummaryrefslogtreecommitdiffhomepage
path: root/registry
diff options
context:
space:
mode:
authorJon Leech <[email protected]>2022-04-05 04:54:33 -0700
committerJon Leech <[email protected]>2022-04-05 04:54:59 -0700
commit23842a31df9c9c2b3bc7c6c2bb56044bc5e51c05 (patch)
treeac8652677194d77ce208949191ec6bfb6278d0ba /registry
parent628eaec640e117b859cfd80e4b1abb2570e08ccd (diff)
downloadVulkan-Headers-23842a31df9c9c2b3bc7c6c2bb56044bc5e51c05.tar.gz
Vulkan-Headers-23842a31df9c9c2b3bc7c6c2bb56044bc5e51c05.zip
Update for Vulkan-Docs 1.3.211v1.3.211
Diffstat (limited to 'registry')
-rw-r--r--registry/validusage.json194
-rw-r--r--registry/video.xml1113
-rw-r--r--registry/vk.xml123
-rw-r--r--registry/vkconventions.py2
4 files changed, 1307 insertions, 125 deletions
diff --git a/registry/validusage.json b/registry/validusage.json
index 2a1b9c1..5259a68 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.210",
- "comment": "from git branch: github-main commit: 45af5eb1f66898c9f382edc5afd691aeb32c10c0",
- "date": "2022-03-29 10:49:12Z"
+ "api version": "1.3.211",
+ "comment": "from git branch: github-main commit: 2a31e99cbaa07dba4e2036c0bfe76aa3ebe8b2a4",
+ "date": "2022-04-05 10:29:26Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -652,7 +652,7 @@
},
{
"vuid": "VUID-VkDeviceCreateInfo-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=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</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=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>"
},
{
"vuid": "VUID-VkDeviceCreateInfo-sType-unique",
@@ -10317,8 +10317,8 @@
"text": " If <code>stage</code> is <code>VK_SHADER_STAGE_FRAGMENT_BIT</code>, and the identified entry point writes to <code>FragDepth</code> in any execution path, all execution paths that are not exclusive to helper invocations <strong class=\"purple\">must</strong> either discard the fragment, or write or initialize the value of <code>FragDepth</code>"
},
{
- "vuid": "VUID-VkPipelineShaderStageCreateInfo-module-04145",
- "text": " The SPIR-V code that was used to create <code>module</code> <strong class=\"purple\">must</strong> be valid as described by the <a href=\"#spirv-spec\">Khronos SPIR-V Specification</a> after applying the specializations provided in <code>pSpecializationInfo</code>, if any, and then converting all specialization constants into fixed constants"
+ "vuid": "VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06719",
+ "text": " The shader code used by the pipeline <strong class=\"purple\">must</strong> be valid as described by the <a href=\"#spirv-spec\">Khronos SPIR-V Specification</a> after applying the specializations provided in <code>pSpecializationInfo</code>, if any, and then converting all specialization constants into fixed constants"
},
{
"vuid": "VUID-VkPipelineShaderStageCreateInfo-sType-sType",
@@ -10410,6 +10410,22 @@
"vuid": "VUID-VkPipelineShaderStageCreateInfo-flags-02759",
"text": " If <code>flags</code> has the <code>VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT</code> flag set and <code>flags</code> does not have the <code>VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT</code> flag set and no <a href=\"#VkPipelineShaderStageRequiredSubgroupSizeCreateInfo\">VkPipelineShaderStageRequiredSubgroupSizeCreateInfo</a> structure is included in the <code>pNext</code> chain, the local workgroup size in the X dimension of the pipeline <strong class=\"purple\">must</strong> be a multiple of <a href=\"#limits-subgroup-size\"><code>subgroupSize</code></a>"
}
+ ],
+ "!(VK_EXT_graphics_pipeline_library)": [
+ {
+ "vuid": "VUID-VkPipelineShaderStageCreateInfo-module-06716",
+ "text": " <code>module</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModule\">VkShaderModule</a>"
+ }
+ ],
+ "(VK_EXT_graphics_pipeline_library)": [
+ {
+ "vuid": "VUID-VkPipelineShaderStageCreateInfo-graphicsPipelineLibrary-06717",
+ "text": " If the <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> feature is not enabled, <code>module</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModule\">VkShaderModule</a>"
+ },
+ {
+ "vuid": "VUID-VkPipelineShaderStageCreateInfo-module-06718",
+ "text": " If <code>module</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, there <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModuleCreateInfo\">VkShaderModuleCreateInfo</a> structure in the <code>pNext</code> chain"
+ }
]
},
"VkPipelineShaderStageRequiredSubgroupSizeCreateInfo": {
@@ -12320,7 +12336,7 @@
"(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_pipeline_library)": [
{
"vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-03482",
- "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have not been created with <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
+ "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
}
]
},
@@ -12370,6 +12386,12 @@
"vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-parent",
"text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
}
+ ],
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_KHR_pipeline_library)": [
+ {
+ "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-06720",
+ "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
+ }
]
},
"vkCompileDeferredNV": {
@@ -12757,6 +12779,10 @@
{
"vuid": "VUID-vkCmdBindPipeline-pipelineBindPoint-02392",
"text": " If <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR</code>, <code>pipeline</code> <strong class=\"purple\">must</strong> be a ray tracing pipeline"
+ },
+ {
+ "vuid": "VUID-vkCmdBindPipeline-pipelineBindPoint-06721",
+ "text": " If <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR</code>, <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
}
],
"(VK_KHR_pipeline_library)": [
@@ -15463,8 +15489,8 @@
],
"(VK_VERSION_1_2,VK_KHR_image_format_list)": [
{
- "vuid": "VUID-VkImageCreateInfo-pNext-04737",
- "text": " If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero, then all of the formats in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> <strong class=\"purple\">must</strong> be compatible with the <code>format</code> as described in the <a href=\"#formats-compatibility\">compatibility table</a>"
+ "vuid": "VUID-VkImageCreateInfo-pNext-06722",
+ "text": " If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero, then each format in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> <strong class=\"purple\">must</strong> either be compatible with the <code>format</code> as described in the <a href=\"#formats-compatibility\">compatibility table</a> or, if <code>flags</code> contains <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code>, be an uncompressed format that is size-compatible with <code>format</code>"
},
{
"vuid": "VUID-VkImageCreateInfo-flags-04738",
@@ -15961,8 +15987,8 @@
],
"(VK_VERSION_1_1,VK_KHR_maintenance1)": [
{
- "vuid": "VUID-VkImageViewCreateInfo-image-01005",
- "text": " If <code>image</code> was created with <code>VK_IMAGE_TYPE_3D</code> but without <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set then <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>"
+ "vuid": "VUID-VkImageViewCreateInfo-image-06723",
+ "text": " If <code>image</code> was created with <code>VK_IMAGE_TYPE_3D</code> but without <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set then <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>"
},
{
"vuid": "VUID-VkImageViewCreateInfo-image-04970",
@@ -15977,20 +16003,40 @@
"text": " If <code>image</code> was created with a <code>samples</code> value not equal to <code>VK_SAMPLE_COUNT_1_BIT</code> then <code>viewType</code> <strong class=\"purple\">must</strong> be either <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>"
},
{
+ "vuid": "VUID-VkImageViewCreateInfo-image-02724",
+ "text": " If <code>image</code> is a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, and <code>viewType</code> is <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.baseArrayLayer</code> <strong class=\"purple\">must</strong> be less than the depth computed from <code>baseMipLevel</code> and <code>extent.depth</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created, according to the formula defined in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>"
+ },
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-subresourceRange-02725",
+ "text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <code>image</code> is a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, and <code>viewType</code> is <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be non-zero and <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> &#43; <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the depth computed from <code>baseMipLevel</code> and <code>extent.depth</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created, according to the formula defined in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>"
+ }
+ ],
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)+!(VK_EXT_image_2d_view_of_3d)": [
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-image-06727",
+ "text": " If <code>image</code> was created with <code>VK_IMAGE_TYPE_3D</code> but without <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set then <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_2D</code>"
+ },
+ {
"vuid": "VUID-VkImageViewCreateInfo-image-01482",
"text": " If <code>image</code> is not a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, or <code>viewType</code> is not <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.baseArrayLayer</code> <strong class=\"purple\">must</strong> be less than the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
},
{
"vuid": "VUID-VkImageViewCreateInfo-subresourceRange-01483",
"text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <code>image</code> is not a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, or <code>viewType</code> is not <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be non-zero and <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> &#43; <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
+ }
+ ],
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)+(VK_EXT_image_2d_view_of_3d)": [
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-image-06728",
+ "text": " If <code>image</code> was created with <code>VK_IMAGE_TYPE_3D</code> but without <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> or <code>VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT</code> set, then <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_2D</code>"
},
{
- "vuid": "VUID-VkImageViewCreateInfo-image-02724",
- "text": " If <code>image</code> is a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, and <code>viewType</code> is <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.baseArrayLayer</code> <strong class=\"purple\">must</strong> be less than the depth computed from <code>baseMipLevel</code> and <code>extent.depth</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created, according to the formula defined in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>"
+ "vuid": "VUID-VkImageViewCreateInfo-image-06724",
+ "text": " If <code>image</code> is not a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> or <code>VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT</code> set, or <code>viewType</code> is not <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.baseArrayLayer</code> <strong class=\"purple\">must</strong> be less than the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
},
{
- "vuid": "VUID-VkImageViewCreateInfo-subresourceRange-02725",
- "text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <code>image</code> is a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, and <code>viewType</code> is <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be non-zero and <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> &#43; <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the depth computed from <code>baseMipLevel</code> and <code>extent.depth</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created, according to the formula defined in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>"
+ "vuid": "VUID-VkImageViewCreateInfo-subresourceRange-06725",
+ "text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <code>image</code> is not a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> or <code>VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT</code> set, or <code>viewType</code> is not <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be non-zero and <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> &#43; <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
}
],
"(VK_NV_linear_color_attachment)": [
@@ -18546,7 +18592,13 @@
"(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)": [
{
"vuid": "VUID-VkSamplerCreateInfo-None-01647",
- "text": " The sampler reduction mode <strong class=\"purple\">must</strong> be set to <code>VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE</code> if <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a> is enabled"
+ "text": " if <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a> is enabled and the <code>pNext</code> chain includes a <a href=\"#VkSamplerReductionModeCreateInfo\">VkSamplerReductionModeCreateInfo</a> structure, then the sampler reduction mode <strong class=\"purple\">must</strong> be set to <code>VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE</code>"
+ }
+ ],
+ "(VK_VERSION_1_2)": [
+ {
+ "vuid": "VUID-VkSamplerCreateInfo-pNext-06726",
+ "text": " If <a href=\"#features-samplerFilterMinmax\">samplerFilterMinmax</a> is not enabled and the <code>pNext</code> chain includes a <a href=\"#VkSamplerReductionModeCreateInfo\">VkSamplerReductionModeCreateInfo</a> structure, then the sampler reduction mode <strong class=\"purple\">must</strong> be set to <code>VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE</code>"
}
],
"(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [
@@ -20020,11 +20072,11 @@
},
{
"vuid": "VUID-VkWriteDescriptorSet-descriptorType-00332",
- "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code>, the <code>range</code> member of each element of <code>pBufferInfo</code>, or the effective range if <code>range</code> is <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxUniformBufferRange</code>"
+ "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code>, the <code>range</code> member of each element of <code>pBufferInfo</code>, or the <a href=\"#buffer-info-effective-range\">effective range</a> if <code>range</code> is <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxUniformBufferRange</code>"
},
{
"vuid": "VUID-VkWriteDescriptorSet-descriptorType-00333",
- "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>, the <code>range</code> member of each element of <code>pBufferInfo</code>, or the effective range if <code>range</code> is <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxStorageBufferRange</code>"
+ "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>, the <code>range</code> member of each element of <code>pBufferInfo</code>, or the <a href=\"#buffer-info-effective-range\">effective range</a> if <code>range</code> is <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxStorageBufferRange</code>"
},
{
"vuid": "VUID-VkWriteDescriptorSet-descriptorType-00334",
@@ -20135,6 +20187,12 @@
"text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, and <code>dstSet</code> was allocated with a layout that included immutable samplers for <code>dstBinding</code>, then the <code>imageView</code> member of each element of <code>pImageInfo</code> which corresponds to an immutable sampler that enables <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a> <strong class=\"purple\">must</strong> have been created with a <code>VkSamplerYcbcrConversionInfo</code> structure in its <code>pNext</code> chain with an <em>identically defined</em> <code>VkSamplerYcbcrConversionInfo</code> to the corresponding immutable sampler"
}
],
+ "(VK_EXT_image_2d_view_of_3d)": [
+ {
+ "vuid": "VUID-VkWriteDescriptorSet-descriptorType-06710",
+ "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code>, or <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, each <code>imageView</code> member of each element of <code>pImageInfo</code> that is a 2D image view created from a 3D image <strong class=\"purple\">must</strong> have been created from an image created with <code>VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT</code> set"
+ }
+ ],
"(VK_VALVE_mutable_descriptor_type)": [
{
"vuid": "VUID-VkWriteDescriptorSet-dstSet-04611",
@@ -20179,10 +20237,26 @@
]
},
"VkDescriptorImageInfo": {
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)+!(VK_EXT_image_2d_view_of_3d)": [
+ {
+ "vuid": "VUID-VkDescriptorImageInfo-imageView-06711",
+ "text": " <code>imageView</code> <strong class=\"purple\">must</strong> not be 2D image view created from a 3D image"
+ }
+ ],
"(VK_VERSION_1_1,VK_KHR_maintenance1)": [
{
- "vuid": "VUID-VkDescriptorImageInfo-imageView-00343",
- "text": " <code>imageView</code> <strong class=\"purple\">must</strong> not be 2D or 2D array image view created from a 3D image"
+ "vuid": "VUID-VkDescriptorImageInfo-imageView-06712",
+ "text": " <code>imageView</code> <strong class=\"purple\">must</strong> not be a 2D array image view created from a 3D image"
+ }
+ ],
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)+(VK_EXT_image_2d_view_of_3d)": [
+ {
+ "vuid": "VUID-VkDescriptorImageInfo-descriptorType-06713",
+ "text": " If the <a href=\"#features-image2DViewOf3D\">image2DViewOf3D</a> feature is not enabled and <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code> then <code>imageView</code> <strong class=\"purple\">must</strong> not be a 2D view created from a 3D image"
+ },
+ {
+ "vuid": "VUID-VkDescriptorImageInfo-descriptorType-06714",
+ "text": " If the <a href=\"#features-sampler2DViewOf3D\">sampler2DViewOf3D</a> feature is not enabled and <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code> or <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> then <code>imageView</code> <strong class=\"purple\">must</strong> not be a 2D view created from a 3D image"
}
],
"core": [
@@ -20580,7 +20654,11 @@
},
{
"vuid": "VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979",
- "text": " For each dynamic uniform or storage buffer binding in <code>pDescriptorSets</code>, the sum of the effective offset, as defined above, and the range of the binding <strong class=\"purple\">must</strong> be less than or equal to the size of the buffer"
+ "text": " For each dynamic uniform or storage buffer binding in <code>pDescriptorSets</code>, the sum of the <a href=\"#dynamic-effective-offset\">effective offset</a> and the range of the binding <strong class=\"purple\">must</strong> be less than or equal to the size of the buffer"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets-pDescriptorSets-06715",
+ "text": " For each dynamic uniform or storage buffer binding in <code>pDescriptorSets</code>, if the range was set with <code>VK_WHOLE_SIZE</code> then <code>pDynamicOffsets</code> which corresponds to the descriptor binding <strong class=\"purple\">must</strong> be 0"
},
{
"vuid": "VUID-vkCmdBindDescriptorSets-commandBuffer-parameter",
@@ -20634,7 +20712,7 @@
"(VK_EXT_graphics_pipeline_library)": [
{
"vuid": "VUID-vkCmdBindDescriptorSets-layout-06564",
- "text": " If <code>layout</code> was not created with <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a>"
+ "text": " If <code>layout</code> was not created with <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSet\">VkDescriptorSet</a>"
}
]
},
@@ -24558,7 +24636,7 @@
},
{
"vuid": "VUID-vkCmdCopyImage-srcOffset-00147",
- "text": " For each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+ "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
},
{
"vuid": "VUID-vkCmdCopyImage-srcImage-01785",
@@ -24590,7 +24668,7 @@
},
{
"vuid": "VUID-vkCmdCopyImage-dstOffset-00153",
- "text": " For each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+ "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
},
{
"vuid": "VUID-vkCmdCopyImage-srcImage-01727",
@@ -24998,7 +25076,7 @@
},
{
"vuid": "VUID-VkCopyImageInfo2-srcOffset-00147",
- "text": " For each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
+ "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>"
},
{
"vuid": "VUID-VkCopyImageInfo2-srcImage-01785",
@@ -25030,7 +25108,7 @@
},
{
"vuid": "VUID-VkCopyImageInfo2-dstOffset-00153",
- "text": " For each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
+ "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> &#43; <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>"
},
{
"vuid": "VUID-VkCopyImageInfo2-srcImage-01727",
@@ -45699,14 +45777,6 @@
{
"vuid": "VUID-VkVideoEncodeCapabilitiesKHR-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR</code>"
- },
- {
- "vuid": "VUID-VkVideoEncodeCapabilitiesKHR-rateControlModes-parameter",
- "text": " <code>rateControlModes</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeRateControlModeFlagBitsKHR\">VkVideoEncodeRateControlModeFlagBitsKHR</a> values"
- },
- {
- "vuid": "VUID-VkVideoEncodeCapabilitiesKHR-rateControlModes-requiredbitmask",
- "text": " <code>rateControlModes</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
}
]
},
@@ -45835,22 +45905,6 @@
{
"vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT</code>"
- },
- {
- "vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-inputModeFlags-parameter",
- "text": " <code>inputModeFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH264InputModeFlagBitsEXT\">VkVideoEncodeH264InputModeFlagBitsEXT</a> values"
- },
- {
- "vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-inputModeFlags-requiredbitmask",
- "text": " <code>inputModeFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
- },
- {
- "vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-outputModeFlags-parameter",
- "text": " <code>outputModeFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH264OutputModeFlagBitsEXT\">VkVideoEncodeH264OutputModeFlagBitsEXT</a> values"
- },
- {
- "vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-outputModeFlags-requiredbitmask",
- "text": " <code>outputModeFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
}
]
},
@@ -46075,38 +46129,6 @@
{
"vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT</code>"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-parameter",
- "text": " <code>inputModeFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265InputModeFlagBitsEXT\">VkVideoEncodeH265InputModeFlagBitsEXT</a> values"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-requiredbitmask",
- "text": " <code>inputModeFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-parameter",
- "text": " <code>outputModeFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265OutputModeFlagBitsEXT\">VkVideoEncodeH265OutputModeFlagBitsEXT</a> values"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-requiredbitmask",
- "text": " <code>outputModeFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-parameter",
- "text": " <code>ctbSizes</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265CtbSizeFlagBitsEXT\">VkVideoEncodeH265CtbSizeFlagBitsEXT</a> values"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-requiredbitmask",
- "text": " <code>ctbSizes</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-transformBlockSizes-parameter",
- "text": " <code>transformBlockSizes</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265TransformBlockSizeFlagBitsEXT\">VkVideoEncodeH265TransformBlockSizeFlagBitsEXT</a> values"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-transformBlockSizes-requiredbitmask",
- "text": " <code>transformBlockSizes</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
}
]
},
@@ -47330,6 +47352,14 @@
}
]
},
+ "VkPhysicalDeviceImage2DViewOf3DFeaturesEXT": {
+ "(VK_EXT_image_2d_view_of_3d)": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceImage2DViewOf3DFeaturesEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT</code>"
+ }
+ ]
+ },
"VkPhysicalDevicePushDescriptorPropertiesKHR": {
"(VK_KHR_push_descriptor)": [
{
diff --git a/registry/video.xml b/registry/video.xml
new file mode 100644
index 0000000..4d9e020
--- /dev/null
+++ b/registry/video.xml
@@ -0,0 +1,1113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<registry>
+ <comment>
+Copyright 2021-2022 The Khronos Group Inc.
+SPDX-License-Identifier: Apache-2.0 OR MIT
+ </comment>
+
+ <comment>
+This file, video.xml, is NOT a normative part of the Vulkan Specification.
+It includes a machine-readable definition of data structures and
+enumerations that are associated with externally-provided video standards,
+and are non-normatively referred to by Khronos extensions to Vulkan.
+
+The current public version of video.xml is maintained in the default branch
+(currently named main) of the Khronos Vulkan GitHub project.
+ </comment>
+
+ <types comment="Video type definitions">
+ <!-- base types -->
+ <type name="stdint" category="include">#include &lt;stdint.h&gt;</type>
+ <type name="uint32_t" requires="stdint"/>
+ <type name="uint16_t" requires="stdint"/>
+ <type name="uint8_t" requires="stdint"/>
+ <type name="int32_t" requires="stdint"/>
+ <type name="int8_t" requires="stdint"/>
+
+ <!-- vulkan_video_codecs_common macros -->
+ <type category="define">#define <name>VK_MAKE_VIDEO_STD_VERSION</name>(major, minor, patch) \
+ ((((uint32_t)(major)) &lt;&lt; 22) | (((uint32_t)(minor)) &lt;&lt; 12) | ((uint32_t)(patch)))</type>
+
+ <!-- vulkan_video_codec_h264std_decode.h macros -->
+ <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.264 decode std specification version number
+#define <name>VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 6) // Patch version should always be set to 0</type>
+
+ <!-- vulkan_video_codec_h264std_encode.h macros -->
+ <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.264 encode std specification version number
+#define <name>VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 6) // Patch version should always be set to 0</type>
+
+ <!-- vulkan_video_codec_h265std_decode.h macros -->
+ <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.265 decode std specification version number
+#define <name>VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 6) // Patch version should always be set to 0</type>
+
+ <!-- vulkan_video_codec_h265std_encode.h macros -->
+ <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.265 encode std specification version number
+#define <name>VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 6) // Patch version should always be set to 0</type>
+
+ <!-- vulkan_video_codec_h264std.h enumerated types -->
+ <type name="StdVideoH264ChromaFormatIdc" category="enum"/>
+ <type name="StdVideoH264ProfileIdc" category="enum"/>
+ <type name="StdVideoH264Level" category="enum"/>
+ <type name="StdVideoH264PocType" category="enum"/>
+ <type name="StdVideoH264AspectRatioIdc" category="enum"/>
+ <type name="StdVideoH264WeightedBipredIdc" category="enum"/>
+ <type name="StdVideoH264ModificationOfPicNumsIdc" category="enum"/>
+ <type name="StdVideoH264MemMgmtControlOp" category="enum"/>
+ <type name="StdVideoH264CabacInitIdc" category="enum"/>
+ <type name="StdVideoH264DisableDeblockingFilterIdc" category="enum"/>
+ <type name="StdVideoH264SliceType" category="enum"/>
+ <type name="StdVideoH264PictureType" category="enum"/>
+ <type name="StdVideoH264NonVclNaluType" category="enum"/>
+
+ <!-- vulkan_video_codec_h264std.h structs -->
+ <type category="struct" name="StdVideoH264SpsVuiFlags">
+ <member><type>uint32_t</type> <name>aspect_ratio_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>overscan_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>overscan_appropriate_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>video_signal_type_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>video_full_range_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>color_description_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>chroma_loc_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>timing_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>fixed_frame_rate_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>bitstream_restriction_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>nal_hrd_parameters_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vcl_hrd_parameters_present_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoH264HrdParameters" comment="hrd_parameters">
+ <member><type>uint8_t</type> <name>cpb_cnt_minus1</name></member>
+ <member><type>uint8_t</type> <name>bit_rate_scale</name></member>
+ <member><type>uint8_t</type> <name>cpb_size_scale</name></member>
+ <member><type>uint32_t</type> <name>bit_rate_value_minus1</name>[<enum>STD_VIDEO_H264_CPB_CNT_LIST_SIZE</enum>]<comment>cpb_cnt_minus1 number of valid elements</comment></member>
+ <member><type>uint32_t</type> <name>cpb_size_value_minus1</name>[<enum>STD_VIDEO_H264_CPB_CNT_LIST_SIZE</enum>]<comment>cpb_cnt_minus1 number of valid elements</comment></member>
+ <member><type>uint8_t</type> <name>cbr_flag</name>[<enum>STD_VIDEO_H264_CPB_CNT_LIST_SIZE</enum>]<comment>cpb_cnt_minus1 number of valid elements</comment></member>
+ <member><type>uint32_t</type> <name>initial_cpb_removal_delay_length_minus1</name></member>
+ <member><type>uint32_t</type> <name>cpb_removal_delay_length_minus1</name></member>
+ <member><type>uint32_t</type> <name>dpb_output_delay_length_minus1</name></member>
+ <member><type>uint32_t</type> <name>time_offset_length</name></member>
+ </type>
+ <type category="struct" name="StdVideoH264SequenceParameterSetVui">
+ <member><type>StdVideoH264SpsVuiFlags</type> <name>flags</name></member>
+ <member><type>StdVideoH264AspectRatioIdc</type> <name>aspect_ratio_idc</name></member>
+ <member><type>uint16_t</type> <name>sar_width</name></member>
+ <member><type>uint16_t</type> <name>sar_height</name></member>
+ <member><type>uint8_t</type> <name>video_format</name></member>
+ <member><type>uint8_t</type> <name>color_primaries</name></member>
+ <member><type>uint8_t</type> <name>transfer_characteristics</name></member>
+ <member><type>uint8_t</type> <name>matrix_coefficients</name></member>
+ <member><type>uint32_t</type> <name>num_units_in_tick</name></member>
+ <member><type>uint32_t</type> <name>time_scale</name></member>
+ <member>const <type>StdVideoH264HrdParameters</type>* <name>pHrdParameters</name><comment>must be a valid ptr to hrd_parameters, if nal_hrd_parameters_present_flag or vcl_hrd_parameters_present_flag are set</comment></member>
+ <member><type>uint8_t</type> <name>max_num_reorder_frames</name></member>
+ <member><type>uint8_t</type> <name>max_dec_frame_buffering</name></member>
+ </type>
+ <type category="struct" name="StdVideoH264SpsFlags">
+ <member><type>uint32_t</type> <name>constraint_set0_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>constraint_set1_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>constraint_set2_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>constraint_set3_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>constraint_set4_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>constraint_set5_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>direct_8x8_inference_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>mb_adaptive_frame_field_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>frame_mbs_only_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>delta_pic_order_always_zero_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>separate_colour_plane_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>gaps_in_frame_num_value_allowed_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>qpprime_y_zero_transform_bypass_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>frame_cropping_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>seq_scaling_matrix_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vui_parameters_present_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoH264ScalingLists">
+ <comment>
+ scaling_list_present_mask has one bit for each
+ seq_scaling_list_present_flag[i] for SPS OR
+ pic_scaling_list_present_flag[i] for PPS,
+ bit 0 - 5 are for each entry of ScalingList4x4
+ bit 6 - 7 are for each entry plus 6 for ScalingList8x8
+ </comment>
+ <member><type>uint8_t</type> <name>scaling_list_present_mask</name></member>
+ <comment>
+ use_default_scaling_matrix_mask has one bit for each
+ UseDefaultScalingMatrix4x4Flag[ i ] and
+ UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS
+ bit 0 - 5 are for each entry of ScalingList4x4
+ bit 6 - 7 are for each entry plus 6 for ScalingList8x8
+ </comment>
+ <member><type>uint8_t</type> <name>use_default_scaling_matrix_mask</name></member>
+ <member><type>uint8_t</type> <name>ScalingList4x4</name>[<enum>STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS</enum>][<enum>STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS</enum>]</member>
+ <member><type>uint8_t</type> <name>ScalingList8x8</name>[<enum>STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS</enum>][<enum>STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS</enum>]</member>
+ </type>
+ <type category="struct" name="StdVideoH264SequenceParameterSet">
+ <member><type>StdVideoH264SpsFlags</type> <name>flags</name></member>
+ <member><type>StdVideoH264ProfileIdc</type> <name>profile_idc</name></member>
+ <member><type>StdVideoH264Level</type> <name>level_idc</name></member>
+ <member><type>uint8_t</type> <name>seq_parameter_set_id</name></member>
+ <member><type>StdVideoH264ChromaFormatIdc</type> <name>chroma_format_idc</name></member>
+ <member><type>uint8_t</type> <name>bit_depth_luma_minus8</name></member>
+ <member><type>uint8_t</type> <name>bit_depth_chroma_minus8</name></member>
+ <member><type>uint8_t</type> <name>log2_max_frame_num_minus4</name></member>
+ <member><type>StdVideoH264PocType</type> <name>pic_order_cnt_type</name></member>
+ <member><type>uint8_t</type> <name>log2_max_pic_order_cnt_lsb_minus4</name></member>
+ <member><type>int32_t</type> <name>offset_for_non_ref_pic</name></member>
+ <member><type>int32_t</type> <name>offset_for_top_to_bottom_field</name></member>
+ <member><type>uint8_t</type> <name>num_ref_frames_in_pic_order_cnt_cycle</name></member>
+ <member><type>uint8_t</type> <name>max_num_ref_frames</name></member>
+ <member><type>uint32_t</type> <name>pic_width_in_mbs_minus1</name></member>
+ <member><type>uint32_t</type> <name>pic_height_in_map_units_minus1</name></member>
+ <member><type>uint32_t</type> <name>frame_crop_left_offset</name></member>
+ <member><type>uint32_t</type> <name>frame_crop_right_offset</name></member>
+ <member><type>uint32_t</type> <name>frame_crop_top_offset</name></member>
+ <member><type>uint32_t</type> <name>frame_crop_bottom_offset</name></member>
+ <comment>
+ pOffsetForRefFrame is a pointer representing the offset_for_ref_frame array with num_ref_frames_in_pic_order_cnt_cycle number of elements.
+ If pOffsetForRefFrame has nullptr value, then num_ref_frames_in_pic_order_cnt_cycle must also be "0".
+ </comment>
+ <member>const <type>int32_t</type>* <name>pOffsetForRefFrame</name></member>
+ <member>const <type>StdVideoH264ScalingLists</type>* <name>pScalingLists</name><comment>Must be a valid pointer if seq_scaling_matrix_present_flag is set</comment></member>
+ <member>const <type>StdVideoH264SequenceParameterSetVui</type>* <name>pSequenceParameterSetVui</name><comment>Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set</comment></member>
+ </type>
+ <type category="struct" name="StdVideoH264PpsFlags">
+ <member><type>uint32_t</type> <name>transform_8x8_mode_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>redundant_pic_cnt_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>constrained_intra_pred_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>deblocking_filter_control_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>weighted_bipred_idc_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>weighted_pred_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pic_order_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>entropy_coding_mode_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pic_scaling_matrix_present_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoH264PictureParameterSet">
+ <member><type>StdVideoH264PpsFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>seq_parameter_set_id</name></member>
+ <member><type>uint8_t</type> <name>pic_parameter_set_id</name></member>
+ <member><type>uint8_t</type> <name>num_ref_idx_l0_default_active_minus1</name></member>
+ <member><type>uint8_t</type> <name>num_ref_idx_l1_default_active_minus1</name></member>
+ <member><type>StdVideoH264WeightedBipredIdc</type> <name>weighted_bipred_idc</name></member>
+ <member><type>int8_t</type> <name>pic_init_qp_minus26</name></member>
+ <member><type>int8_t</type> <name>pic_init_qs_minus26</name></member>
+ <member><type>int8_t</type> <name>chroma_qp_index_offset</name></member>
+ <member><type>int8_t</type> <name>second_chroma_qp_index_offset</name></member>
+ <member>const <type>StdVideoH264ScalingLists</type>* <name>pScalingLists</name><comment>Must be a valid pointer if StdVideoH264PpsFlags::pic_scaling_matrix_present_flag is set.</comment></member>
+ </type>
+
+ <!-- vulkan_video_codec_h264std_decode.h enumerated types -->
+ <type name="StdVideoDecodeH264FieldOrderCount" category="enum"/>
+
+ <!-- vulkan_video_codec_h264std_decode.h structs -->
+ <type category="struct" name="StdVideoDecodeH264PictureInfoFlags">
+ <member><type>uint32_t</type> <name>field_pic_flag</name> : 1<comment>Is field picture</comment></member>
+ <member><type>uint32_t</type> <name>is_intra</name> : 1<comment>Is intra picture</comment></member>
+ <member><type>uint32_t</type> <name>IdrPicFlag</name> : 1<comment>instantaneous decoding refresh (IDR) picture</comment></member>
+ <member><type>uint32_t</type> <name>bottom_field_flag</name> : 1<comment>bottom (true) or top (false) field if field_pic_flag is set.</comment></member>
+ <member><type>uint32_t</type> <name>is_reference</name> : 1<comment>This only applies to picture info, and not to the DPB lists.</comment></member>
+ <member><type>uint32_t</type> <name>complementary_field_pair</name> : 1<comment>complementary field pair, complementary non-reference field pair, complementary reference field pair</comment></member>
+ </type>
+ <type category="struct" name="StdVideoDecodeH264PictureInfo" requires="StdVideoDecodeH264FieldOrderCount" comment="requires tag is for PicOrderCnt, which needs the enum type">
+ <member><type>StdVideoDecodeH264PictureInfoFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
+ <member><type>uint8_t</type> <name>pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member>
+ <member><type>uint16_t</type> <name>reserved</name><comment>for structure members 32-bit packing/alignment</comment></member>
+ <member><type>uint16_t</type> <name>frame_num</name><comment>7.4.3 Slice header semantics</comment></member>
+ <member><type>uint16_t</type> <name>idr_pic_id</name><comment>7.4.3 Slice header semantics</comment></member>
+ <comment>
+ PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2
+ </comment>
+ <member><type>int32_t</type> <name>PicOrderCnt</name>[<enum>STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE</enum>]<comment>TopFieldOrderCnt and BottomFieldOrderCnt fields.</comment></member>
+ </type>
+ <type category="struct" name="StdVideoDecodeH264ReferenceInfoFlags">
+ <member><type>uint32_t</type> <name>top_field_flag</name> : 1<comment>Reference is used for top field reference.</comment></member>
+ <member><type>uint32_t</type> <name>bottom_field_flag</name> : 1<comment>Reference is used for bottom field reference.</comment></member>
+ <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>: A picture that is marked as "used for long-term reference", derived binary value from clause 8.2.5.1 Sequence of operations for decoded reference picture marking process</comment></member>
+ <member><type>uint32_t</type> <name>is_non_existing</name> : 1<comment>Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num</comment></member>
+ </type>
+ <type category="struct" name="StdVideoDecodeH264ReferenceInfo">
+ <member><type>StdVideoDecodeH264ReferenceInfoFlags</type> <name>flags</name></member>
+ <comment>
+ FrameNum = used_for_long_term_reference ? long_term_frame_idx : frame_num
+ </comment>
+ <member><type>uint16_t</type> <name>FrameNum</name><comment>7.4.3.3 Decoded reference picture marking semantics</comment></member>
+ <member><type>uint16_t</type> <name>reserved</name><comment>for structure members 32-bit packing/alignment</comment></member>
+ <member><type>int32_t</type> <name>PicOrderCnt</name>[2]<comment>TopFieldOrderCnt and BottomFieldOrderCnt fields.</comment></member>
+ </type>
+ <type category="struct" name="StdVideoDecodeH264MvcElementFlags">
+ <member><type>uint32_t</type> <name>non_idr</name> : 1</member>
+ <member><type>uint32_t</type> <name>anchor_pic</name> : 1</member>
+ <member><type>uint32_t</type> <name>inter_view</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoDecodeH264MvcElement">
+ <member><type>StdVideoDecodeH264MvcElementFlags</type> <name>flags</name></member>
+ <member><type>uint16_t</type> <name>viewOrderIndex</name></member>
+ <member><type>uint16_t</type> <name>viewId</name></member>
+ <member><type>uint16_t</type> <name>temporalId</name><comment>move out?</comment></member>
+ <member><type>uint16_t</type> <name>priorityId</name><comment>move out?</comment></member>
+ <member><type>uint16_t</type> <name>numOfAnchorRefsInL0</name></member>
+ <member><type>uint16_t</type> <name>viewIdOfAnchorRefsInL0</name>[<enum>STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE</enum>]</member>
+ <member><type>uint16_t</type> <name>numOfAnchorRefsInL1</name></member>
+ <member><type>uint16_t</type> <name>viewIdOfAnchorRefsInL1</name>[<enum>STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE</enum>]</member>
+ <member><type>uint16_t</type> <name>numOfNonAnchorRefsInL0</name></member>
+ <member><type>uint16_t</type> <name>viewIdOfNonAnchorRefsInL0</name>[<enum>STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE</enum>]</member>
+ <member><type>uint16_t</type> <name>numOfNonAnchorRefsInL1</name></member>
+ <member><type>uint16_t</type> <name>viewIdOfNonAnchorRefsInL1</name>[<enum>STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE</enum>]</member>
+ </type>
+ <type category="struct" name="StdVideoDecodeH264Mvc">
+ <member><type>uint32_t</type> <name>viewId0</name></member>
+ <member><type>uint32_t</type> <name>mvcElementCount</name></member>
+ <member>const <type>StdVideoDecodeH264MvcElement</type>* <name>pMvcElements</name></member>
+ </type>
+
+ <!-- vulkan_video_codec_h264std_encode.h structs -->
+ <type category="struct" name="StdVideoEncodeH264WeightTableFlags">
+ <member><type>uint32_t</type> <name>luma_weight_l0_flag</name><comment>each bit n represents the nth entry in reference list l0, n &lt;= num_ref_idx_l0_active_minus1</comment></member>
+ <member><type>uint32_t</type> <name>chroma_weight_l0_flag</name><comment>each bit n represents the nth entry in reference list l0, n &lt;= num_ref_idx_l0_active_minus1</comment></member>
+ <member><type>uint32_t</type> <name>luma_weight_l1_flag</name><comment>each bit n represents the nth entry in reference list l1, n &lt;= num_ref_idx_l1_active_minus1</comment></member>
+ <member><type>uint32_t</type> <name>chroma_weight_l1_flag</name><comment>each bit n represents the nth entry in reference list l1, n &lt;= num_ref_idx_l1_active_minus1</comment></member>
+ </type>
+
+ <type category="struct" name="StdVideoEncodeH264WeightTable">
+ <comment>
+ StdVideoEncodeH264WeightTable corresponds to the values produced by pred_weight_table() for the h.264 specification.
+ For details, refer to weighted_pred_flag, weighted_bipred_idc, pre_pred_weight_table_src and pred_weight_table().
+ </comment>
+ <member><type>StdVideoEncodeH264WeightTableFlags</type> <name>flags</name><comment></comment></member>
+ <member><type>uint8_t</type> <name>luma_log2_weight_denom</name><comment></comment></member>
+ <member><type>uint8_t</type> <name>chroma_log2_weight_denom</name><comment></comment></member>
+ <member><type>int8_t</type> <name>luma_weight_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l0_active_minus1]</comment></member>
+ <member><type>int8_t</type> <name>luma_offset_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l0_active_minus1]</comment></member>
+ <member><type>int8_t</type> <name>chroma_weight_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
+ <member><type>int8_t</type> <name>chroma_offset_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
+ <member><type>int8_t</type> <name>luma_weight_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l1_active_minus1]</comment></member>
+ <member><type>int8_t</type> <name>luma_offset_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l1_active_minus1]</comment></member>
+ <member><type>int8_t</type> <name>chroma_weight_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
+ <member><type>int8_t</type> <name>chroma_offset_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
+ </type>
+
+ <type category="struct" name="StdVideoEncodeH264SliceHeaderFlags">
+ <member><type>uint32_t</type> <name>direct_spatial_mv_pred_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>num_ref_idx_active_override_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>no_output_of_prior_pics_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>adaptive_ref_pic_marking_mode_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>no_prior_references_available_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH264PictureInfoFlags">
+ <member><type>uint32_t</type> <name>idr_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>is_reference_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>: A picture that is marked as "used for long-term reference", derived binary value from clause 8.2.5.1 Sequence of operations for decoded reference picture marking process</comment></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH264ReferenceInfoFlags">
+ <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>: A picture that is marked as "used for long-term reference", derived binary value from clause 8.2.5.1 Sequence of operations for decoded reference picture marking process</comment></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH264RefMgmtFlags">
+ <member><type>uint32_t</type> <name>ref_pic_list_modification_l0_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>ref_pic_list_modification_l1_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH264RefListModEntry">
+ <member><type>StdVideoH264ModificationOfPicNumsIdc</type> <name>modification_of_pic_nums_idc</name></member>
+ <member><type>uint16_t</type> <name>abs_diff_pic_num_minus1</name></member>
+ <member><type>uint16_t</type> <name>long_term_pic_num</name></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH264RefPicMarkingEntry">
+ <member><type>StdVideoH264MemMgmtControlOp</type> <name>operation</name></member>
+ <member><type>uint16_t</type> <name>difference_of_pic_nums_minus1</name></member>
+ <member><type>uint16_t</type> <name>long_term_pic_num</name></member>
+ <member><type>uint16_t</type> <name>long_term_frame_idx</name></member>
+ <member><type>uint16_t</type> <name>max_long_term_frame_idx_plus1</name></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH264RefMemMgmtCtrlOperations">
+ <member><type>StdVideoEncodeH264RefMgmtFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>refList0ModOpCount</name></member>
+ <member>const <type>StdVideoEncodeH264RefListModEntry</type>* <name>pRefList0ModOperations</name></member>
+ <member><type>uint8_t</type> <name>refList1ModOpCount</name></member>
+ <member>const <type>StdVideoEncodeH264RefListModEntry</type>* <name>pRefList1ModOperations</name></member>
+ <member><type>uint8_t</type> <name>refPicMarkingOpCount</name></member>
+ <member>const <type>StdVideoEncodeH264RefPicMarkingEntry</type>* <name>pRefPicMarkingOperations</name></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH264PictureInfo">
+ <member><type>StdVideoEncodeH264PictureInfoFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
+ <member><type>uint8_t</type> <name>pic_parameter_set_id</name><comment>Selecting PPS from the Picture Parameters for all StdVideoEncodeH264SliceHeader(s)</comment></member>
+ <member><type>StdVideoH264PictureType</type> <name>pictureType</name></member>
+ <member><type>uint32_t</type> <name>frame_num</name></member>
+ <member><type>int32_t</type> <name>PicOrderCnt</name></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH264ReferenceInfo">
+ <member><type>StdVideoEncodeH264ReferenceInfoFlags</type> <name>flags</name></member>
+ <member><type>uint32_t</type> <name>FrameNum</name></member>
+ <member><type>int32_t</type> <name>PicOrderCnt</name></member>
+ <member><type>uint16_t</type> <name>long_term_pic_num</name></member>
+ <member><type>uint16_t</type> <name>long_term_frame_idx</name></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH264SliceHeader">
+ <member><type>StdVideoEncodeH264SliceHeaderFlags</type> <name>flags</name></member>
+ <member><type>uint32_t</type> <name>first_mb_in_slice</name></member>
+ <member><type>StdVideoH264SliceType</type> <name>slice_type</name></member>
+ <member><type>uint16_t</type> <name>idr_pic_id</name></member>
+ <member><type>uint8_t</type> <name>num_ref_idx_l0_active_minus1</name></member>
+ <member><type>uint8_t</type> <name>num_ref_idx_l1_active_minus1</name></member>
+ <member><type>StdVideoH264CabacInitIdc</type> <name>cabac_init_idc</name></member>
+ <member><type>StdVideoH264DisableDeblockingFilterIdc</type> <name>disable_deblocking_filter_idc</name></member>
+ <member><type>int8_t</type> <name>slice_alpha_c0_offset_div2</name></member>
+ <member><type>int8_t</type> <name>slice_beta_offset_div2</name></member>
+ <member>const <type>StdVideoEncodeH264WeightTable</type>* <name>pWeightTable</name><comment></comment></member>
+ </type>
+
+ <!-- vulkan_video_codec_h265std.h enumerated types -->
+ <type name="StdVideoH265ChromaFormatIdc" category="enum"/>
+ <type name="StdVideoH265ProfileIdc" category="enum"/>
+ <type name="StdVideoH265Level" category="enum"/>
+ <type name="StdVideoH265SliceType" category="enum"/>
+ <type name="StdVideoH265PictureType" category="enum"/>
+
+ <!-- vulkan_video_codec_h265std.h structs -->
+ <type category="struct" name="StdVideoH265DecPicBufMgr">
+ <member><type>uint32_t</type> <name>max_latency_increase_plus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member>
+ <member><type>uint8_t</type> <name>max_dec_pic_buffering_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member>
+ <member><type>uint8_t</type> <name>max_num_reorder_pics</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member>
+ </type>
+ <type category="struct" name="StdVideoH265SubLayerHrdParameters" comment="sub_layer_hrd_parameters">
+ <member><type>uint32_t</type> <name>bit_rate_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
+ <member><type>uint32_t</type> <name>cpb_size_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
+ <member><type>uint32_t</type> <name>cpb_size_du_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
+ <member><type>uint32_t</type> <name>bit_rate_du_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
+ <member><type>uint32_t</type> <name>cbr_flag</name><comment>each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer</comment></member>
+ </type>
+ <type category="struct" name="StdVideoH265HrdFlags">
+ <member><type>uint32_t</type> <name>nal_hrd_parameters_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vcl_hrd_parameters_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sub_pic_hrd_params_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sub_pic_cpb_params_in_pic_timing_sei_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>fixed_pic_rate_general_flag</name> : 8<comment>each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1</comment></member>
+ <member><type>uint32_t</type> <name>fixed_pic_rate_within_cvs_flag</name> : 8<comment>each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1</comment></member>
+ <member><type>uint32_t</type> <name>low_delay_hrd_flag</name> : 8<comment>each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1</comment></member>
+ </type>
+ <type category="struct" name="StdVideoH265HrdParameters">
+ <member><type>StdVideoH265HrdFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>tick_divisor_minus2</name></member>
+ <member><type>uint8_t</type> <name>du_cpb_removal_delay_increment_length_minus1</name></member>
+ <member><type>uint8_t</type> <name>dpb_output_delay_du_length_minus1</name></member>
+ <member><type>uint8_t</type> <name>bit_rate_scale</name></member>
+ <member><type>uint8_t</type> <name>cpb_size_scale</name></member>
+ <member><type>uint8_t</type> <name>cpb_size_du_scale</name></member>
+ <member><type>uint8_t</type> <name>initial_cpb_removal_delay_length_minus1</name></member>
+ <member><type>uint8_t</type> <name>au_cpb_removal_delay_length_minus1</name></member>
+ <member><type>uint8_t</type> <name>dpb_output_delay_length_minus1</name></member>
+ <member><type>uint8_t</type> <name>cpb_cnt_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member>
+ <member><type>uint16_t</type> <name>elemental_duration_in_tc_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member>
+ <member>const <type>StdVideoH265SubLayerHrdParameters</type>* <name>pSubLayerHrdParametersNal</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]<comment>NAL per layer ptr to sub_layer_hrd_parameters</comment></member>
+ <member>const <type>StdVideoH265SubLayerHrdParameters</type>* <name>pSubLayerHrdParametersVcl</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]<comment>VCL per layer ptr to sub_layer_hrd_parameters</comment></member>
+ </type>
+ <type category="struct" name="StdVideoH265VpsFlags">
+ <member><type>uint32_t</type> <name>vps_temporal_id_nesting_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vps_sub_layer_ordering_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vps_timing_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vps_poc_proportional_to_timing_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoH265VideoParameterSet">
+ <member><type>StdVideoH265VpsFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>vps_video_parameter_set_id</name></member>
+ <member><type>uint8_t</type> <name>vps_max_sub_layers_minus1</name></member>
+ <member><type>uint32_t</type> <name>vps_num_units_in_tick</name></member>
+ <member><type>uint32_t</type> <name>vps_time_scale</name></member>
+ <member><type>uint32_t</type> <name>vps_num_ticks_poc_diff_one_minus1</name></member>
+ <member>const <type>StdVideoH265DecPicBufMgr</type>* <name>pDecPicBufMgr</name></member>
+ <member>const <type>StdVideoH265HrdParameters</type>* <name>pHrdParameters</name></member>
+ </type>
+ <type category="struct" name="StdVideoH265ScalingLists">
+ <member><type>uint8_t</type> <name>ScalingList4x4</name>[<enum>STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS</enum>]<comment>ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0)</comment></member>
+ <member><type>uint8_t</type> <name>ScalingList8x8</name>[<enum>STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS</enum>]<comment>ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1)</comment></member>
+ <member><type>uint8_t</type> <name>ScalingList16x16</name>[<enum>STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS</enum>]<comment>ScalingList[ 2 ][ Matri]xID ][ i ] (sizeID = 2)</comment></member>
+ <member><type>uint8_t</type> <name>ScalingList32x32</name>[<enum>STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS</enum>]<comment>ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3)</comment></member>
+ <member><type>uint8_t</type> <name>ScalingListDCCoef16x16</name>[<enum>STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS</enum>]<comment>scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2</comment></member>
+ <member><type>uint8_t</type> <name>ScalingListDCCoef32x32</name>[<enum>STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS</enum>]<comment>scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3</comment></member>
+ </type>
+ <type category="struct" name="StdVideoH265SpsVuiFlags">
+ <member><type>uint32_t</type> <name>aspect_ratio_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>overscan_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>overscan_appropriate_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>video_signal_type_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>video_full_range_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>colour_description_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>chroma_loc_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>neutral_chroma_indication_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>field_seq_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>frame_field_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>default_display_window_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vui_timing_info_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vui_poc_proportional_to_timing_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vui_hrd_parameters_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>bitstream_restriction_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>tiles_fixed_structure_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>motion_vectors_over_pic_boundaries_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>restricted_ref_pic_lists_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoH265SequenceParameterSetVui">
+ <member><type>StdVideoH265SpsVuiFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>aspect_ratio_idc</name></member>
+ <member><type>uint16_t</type> <name>sar_width</name></member>
+ <member><type>uint16_t</type> <name>sar_height</name></member>
+ <member><type>uint8_t</type> <name>video_format</name></member>
+ <member><type>uint8_t</type> <name>colour_primaries</name></member>
+ <member><type>uint8_t</type> <name>transfer_characteristics</name></member>
+ <member><type>uint8_t</type> <name>matrix_coeffs</name></member>
+ <member><type>uint8_t</type> <name>chroma_sample_loc_type_top_field</name></member>
+ <member><type>uint8_t</type> <name>chroma_sample_loc_type_bottom_field</name></member>
+ <member><type>uint16_t</type> <name>def_disp_win_left_offset</name></member>
+ <member><type>uint16_t</type> <name>def_disp_win_right_offset</name></member>
+ <member><type>uint16_t</type> <name>def_disp_win_top_offset</name></member>
+ <member><type>uint16_t</type> <name>def_disp_win_bottom_offset</name></member>
+ <member><type>uint32_t</type> <name>vui_num_units_in_tick</name></member>
+ <member><type>uint32_t</type> <name>vui_time_scale</name></member>
+ <member><type>uint32_t</type> <name>vui_num_ticks_poc_diff_one_minus1</name></member>
+ <member>const <type>StdVideoH265HrdParameters</type>* <name>pHrdParameters</name></member>
+ <member><type>uint16_t</type> <name>min_spatial_segmentation_idc</name></member>
+ <member><type>uint8_t</type> <name>max_bytes_per_pic_denom</name></member>
+ <member><type>uint8_t</type> <name>max_bits_per_min_cu_denom</name></member>
+ <member><type>uint8_t</type> <name>log2_max_mv_length_horizontal</name></member>
+ <member><type>uint8_t</type> <name>log2_max_mv_length_vertical</name></member>
+ </type>
+ <type category="struct" name="StdVideoH265PredictorPaletteEntries">
+ <member><type>uint16_t</type> <name>PredictorPaletteEntries</name>[<enum>STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE</enum>][<enum>STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE</enum>]</member>
+ </type>
+ <type category="struct" name="StdVideoH265SpsFlags">
+ <member><type>uint32_t</type> <name>sps_temporal_id_nesting_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>separate_colour_plane_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>scaling_list_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sps_scaling_list_data_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>amp_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sample_adaptive_offset_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pcm_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pcm_loop_filter_disabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>long_term_ref_pics_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sps_temporal_mvp_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>strong_intra_smoothing_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>vui_parameters_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sps_extension_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sps_range_extension_flag</name> : 1</member>
+ <comment>
+ extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
+ </comment>
+ <member><type>uint32_t</type> <name>transform_skip_rotation_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>transform_skip_context_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>implicit_rdpcm_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>explicit_rdpcm_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>extended_precision_processing_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>intra_smoothing_disabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>high_precision_offsets_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>persistent_rice_adaptation_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>cabac_bypass_alignment_enabled_flag</name> : 1</member>
+ <comment>
+ extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
+ </comment>
+ <member><type>uint32_t</type> <name>sps_scc_extension_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sps_curr_pic_ref_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>palette_mode_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sps_palette_predictor_initializer_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>intra_boundary_filtering_disabled_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoH265SequenceParameterSet">
+ <member><type>StdVideoH265SpsFlags</type> <name>flags</name></member>
+ <member><type>StdVideoH265ProfileIdc</type> <name>profile_idc</name></member>
+ <member><type>StdVideoH265Level</type> <name>level_idc</name></member>
+ <member><type>uint32_t</type> <name>pic_width_in_luma_samples</name></member>
+ <member><type>uint32_t</type> <name>pic_height_in_luma_samples</name></member>
+ <member><type>uint8_t</type> <name>sps_video_parameter_set_id</name></member>
+ <member><type>uint8_t</type> <name>sps_max_sub_layers_minus1</name></member>
+ <member><type>uint8_t</type> <name>sps_seq_parameter_set_id</name></member>
+ <member><type>uint8_t</type> <name>chroma_format_idc</name></member>
+ <member><type>uint8_t</type> <name>bit_depth_luma_minus8</name></member>
+ <member><type>uint8_t</type> <name>bit_depth_chroma_minus8</name></member>
+ <member><type>uint8_t</type> <name>log2_max_pic_order_cnt_lsb_minus4</name></member>
+ <member><type>uint8_t</type> <name>sps_max_dec_pic_buffering_minus1</name>[<enum>STD_VIDEO_H265_SPS_MAX_SUB_LAYERS</enum>]</member>
+ <member><type>uint8_t</type> <name>log2_min_luma_coding_block_size_minus3</name></member>
+ <member><type>uint8_t</type> <name>log2_diff_max_min_luma_coding_block_size</name></member>
+ <member><type>uint8_t</type> <name>log2_min_luma_transform_block_size_minus2</name></member>
+ <member><type>uint8_t</type> <name>log2_diff_max_min_luma_transform_block_size</name></member>
+ <member><type>uint8_t</type> <name>max_transform_hierarchy_depth_inter</name></member>
+ <member><type>uint8_t</type> <name>max_transform_hierarchy_depth_intra</name></member>
+ <member><type>uint8_t</type> <name>num_short_term_ref_pic_sets</name></member>
+ <member><type>uint8_t</type> <name>num_long_term_ref_pics_sps</name></member>
+ <member><type>uint8_t</type> <name>pcm_sample_bit_depth_luma_minus1</name></member>
+ <member><type>uint8_t</type> <name>pcm_sample_bit_depth_chroma_minus1</name></member>
+ <member><type>uint8_t</type> <name>log2_min_pcm_luma_coding_block_size_minus3</name></member>
+ <member><type>uint8_t</type> <name>log2_diff_max_min_pcm_luma_coding_block_size</name></member>
+ <member><type>uint32_t</type> <name>conf_win_left_offset</name></member>
+ <member><type>uint32_t</type> <name>conf_win_right_offset</name></member>
+ <member><type>uint32_t</type> <name>conf_win_top_offset</name></member>
+ <member><type>uint32_t</type> <name>conf_win_bottom_offset</name></member>
+ <member>const <type>StdVideoH265DecPicBufMgr</type>* <name>pDecPicBufMgr</name></member>
+ <member>const <type>StdVideoH265ScalingLists</type>* <name>pScalingLists</name><comment>Must be a valid pointer if sps_scaling_list_data_present_flag is set</comment></member>
+ <member>const <type>StdVideoH265SequenceParameterSetVui</type>* <name>pSequenceParameterSetVui</name><comment>Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size</comment></member>
+ <comment>
+ extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
+ </comment>
+ <member><type>uint8_t</type> <name>palette_max_size</name></member>
+ <member><type>uint8_t</type> <name>delta_palette_max_predictor_size</name></member>
+ <member><type>uint8_t</type> <name>motion_vector_resolution_control_idc</name></member>
+ <member><type>uint8_t</type> <name>sps_num_palette_predictor_initializer_minus1</name></member>
+ <member>const <type>StdVideoH265PredictorPaletteEntries</type>* <name>pPredictorPaletteEntries</name><comment>Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set</comment></member>
+ </type>
+ <type category="struct" name="StdVideoH265PpsFlags">
+ <member><type>uint32_t</type> <name>dependent_slice_segments_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>output_flag_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>sign_data_hiding_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>cabac_init_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>constrained_intra_pred_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>transform_skip_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>cu_qp_delta_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pps_slice_chroma_qp_offsets_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>weighted_pred_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>weighted_bipred_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>transquant_bypass_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>tiles_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>entropy_coding_sync_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>uniform_spacing_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>loop_filter_across_tiles_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pps_loop_filter_across_slices_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>deblocking_filter_control_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>deblocking_filter_override_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pps_deblocking_filter_disabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pps_scaling_list_data_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>lists_modification_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>slice_segment_header_extension_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pps_extension_present_flag</name> : 1</member>
+ <comment>
+ extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
+ </comment>
+ <member><type>uint32_t</type> <name>cross_component_prediction_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>chroma_qp_offset_list_enabled_flag</name> : 1</member>
+ <comment>
+ extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
+ </comment>
+ <member><type>uint32_t</type> <name>pps_curr_pic_ref_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>residual_adaptive_colour_transform_enabled_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pps_slice_act_qp_offsets_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pps_palette_predictor_initializer_present_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>monochrome_palette_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pps_range_extension_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoH265PictureParameterSet">
+ <member><type>StdVideoH265PpsFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>pps_pic_parameter_set_id</name></member>
+ <member><type>uint8_t</type> <name>pps_seq_parameter_set_id</name></member>
+ <member><type>uint8_t</type> <name>num_extra_slice_header_bits</name></member>
+ <member><type>uint8_t</type> <name>num_ref_idx_l0_default_active_minus1</name></member>
+ <member><type>uint8_t</type> <name>num_ref_idx_l1_default_active_minus1</name></member>
+ <member><type>int8_t</type> <name>init_qp_minus26</name></member>
+ <member><type>uint8_t</type> <name>diff_cu_qp_delta_depth</name></member>
+ <member><type>int8_t</type> <name>pps_cb_qp_offset</name></member>
+ <member><type>int8_t</type> <name>pps_cr_qp_offset</name></member>
+ <member><type>uint8_t</type> <name>num_tile_columns_minus1</name></member>
+ <member><type>uint8_t</type> <name>num_tile_rows_minus1</name></member>
+ <member><type>uint16_t</type> <name>column_width_minus1</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE</enum>]</member>
+ <member><type>uint16_t</type> <name>row_height_minus1</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE</enum>]</member>
+ <member><type>int8_t</type> <name>pps_beta_offset_div2</name></member>
+ <member><type>int8_t</type> <name>pps_tc_offset_div2</name></member>
+ <member><type>uint8_t</type> <name>log2_parallel_merge_level_minus2</name></member>
+ <member>const <type>StdVideoH265ScalingLists</type>* <name>pScalingLists</name><comment>Must be a valid pointer if pps_scaling_list_data_present_flag is set</comment></member>
+ <comment>
+ extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
+ </comment>
+ <member><type>uint8_t</type> <name>log2_max_transform_skip_block_size_minus2</name></member>
+ <member><type>uint8_t</type> <name>diff_cu_chroma_qp_offset_depth</name></member>
+ <member><type>uint8_t</type> <name>chroma_qp_offset_list_len_minus1</name></member>
+ <member><type>int8_t</type> <name>cb_qp_offset_list</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE</enum>]</member>
+ <member><type>int8_t</type> <name>cr_qp_offset_list</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE</enum>]</member>
+ <member><type>uint8_t</type> <name>log2_sao_offset_scale_luma</name></member>
+ <member><type>uint8_t</type> <name>log2_sao_offset_scale_chroma</name></member>
+ <comment>
+ extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
+ </comment>
+ <member><type>int8_t</type> <name>pps_act_y_qp_offset_plus5</name></member>
+ <member><type>int8_t</type> <name>pps_act_cb_qp_offset_plus5</name></member>
+ <member><type>int8_t</type> <name>pps_act_cr_qp_offset_plus5</name></member>
+ <member><type>uint8_t</type> <name>pps_num_palette_predictor_initializer</name></member>
+ <member><type>uint8_t</type> <name>luma_bit_depth_entry_minus8</name></member>
+ <member><type>uint8_t</type> <name>chroma_bit_depth_entry_minus8</name></member>
+ <member>const <type>StdVideoH265PredictorPaletteEntries</type>* <name>pPredictorPaletteEntries</name><comment>Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set</comment></member>
+ </type>
+
+ <!-- vulkan_video_codec_h265std_decode.h structs -->
+ <type category="struct" name="StdVideoDecodeH265PictureInfoFlags">
+ <member><type>uint32_t</type> <name>IrapPicFlag</name> : 1</member>
+ <member><type>uint32_t</type> <name>IdrPicFlag</name> : 1</member>
+ <member><type>uint32_t</type> <name>IsReference</name> : 1</member>
+ <member><type>uint32_t</type> <name>short_term_ref_pic_set_sps_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoDecodeH265PictureInfo">
+ <member><type>StdVideoDecodeH265PictureInfoFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>sps_video_parameter_set_id</name><comment>Selecting VPS id from the Video Parameters Set</comment></member>
+ <member><type>uint8_t</type> <name>pps_seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
+ <member><type>uint8_t</type> <name>pps_pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member>
+ <member><type>uint8_t</type> <name>num_short_term_ref_pic_sets</name></member>
+ <member><type>int32_t</type> <name>PicOrderCntVal</name></member>
+ <member><type>uint16_t</type> <name>NumBitsForSTRefPicSetInSlice</name><comment>number of bits used in st_ref_pic_set() when short_term_ref_pic_set_sps_flag is 0otherwise set to 0.</comment></member>
+ <member><type>uint8_t</type> <name>NumDeltaPocsOfRefRpsIdx</name><comment>NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0</comment></member>
+ <member><type>uint8_t</type> <name>RefPicSetStCurrBefore</name>[<enum>STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE</enum>]<comment>slotIndex as used in VkVideoReferenceSlotKHR structures representing pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex</comment></member>
+ <member><type>uint8_t</type> <name>RefPicSetStCurrAfter</name>[<enum>STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE</enum>]<comment>slotIndex as used in VkVideoReferenceSlotKHR structures representing pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex</comment></member>
+ <member><type>uint8_t</type> <name>RefPicSetLtCurr</name>[<enum>STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE</enum>]<comment>slotIndex as used in VkVideoReferenceSlotKHR structures representing pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex</comment></member>
+ </type>
+ <type category="struct" name="StdVideoDecodeH265ReferenceInfoFlags">
+ <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>A picture that is marked as "used for long-term reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member>
+ <member><type>uint32_t</type> <name>unused_for_reference</name> : 1<comment>A picture that is marked as "unused for reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member>
+ <member><type>uint32_t</type> <name>is_non_existing</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoDecodeH265ReferenceInfo">
+ <member><type>StdVideoDecodeH265ReferenceInfoFlags</type> <name>flags</name></member>
+ <member><type>int32_t</type> <name>PicOrderCntVal</name></member>
+ </type>
+
+ <!-- vulkan_video_codec_h265std_encode.h structs -->
+ <type category="struct" name="StdVideoEncodeH265WeightTableFlags">
+ <member><type>uint16_t</type> <name>luma_weight_l0_flag</name><comment>bit 0 - num_ref_idx_l0_active_minus1</comment></member>
+ <member><type>uint16_t</type> <name>chroma_weight_l0_flag</name><comment>bit 0 - num_ref_idx_l0_active_minus1</comment></member>
+ <member><type>uint16_t</type> <name>luma_weight_l1_flag</name><comment>bit 0 - num_ref_idx_l1_active_minus1</comment></member>
+ <member><type>uint16_t</type> <name>chroma_weight_l1_flag</name><comment>bit 0 - num_ref_idx_l1_active_minus1</comment></member>
+ </type>
+
+ <type category="struct" name="StdVideoEncodeH265WeightTable">
+ <comment>
+ StdVideoEncodeH265WeightTable corresponds to the values produced by pred_weight_table() for the h.265 specification.
+ For details, refer to weighted_pred_flag, weighted_bipred_flag and pred_weight_table().
+ </comment>
+ <member><type>StdVideoEncodeH265WeightTableFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>luma_log2_weight_denom</name><comment>[0, 7]</comment></member>
+ <member><type>int8_t</type> <name>delta_chroma_log2_weight_denom</name></member>
+ <member><type>int8_t</type> <name>delta_luma_weight_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment>comment</comment></member>
+ <member><type>int8_t</type> <name>luma_offset_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment>comment</comment></member>
+ <member><type>int8_t</type> <name>delta_chroma_weight_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
+ <member><type>int8_t</type> <name>delta_chroma_offset_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
+ <member><type>int8_t</type> <name>delta_luma_weight_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment> </comment></member>
+ <member><type>int8_t</type> <name>luma_offset_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment> </comment></member>
+ <member><type>int8_t</type> <name>delta_chroma_weight_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
+ <member><type>int8_t</type> <name>delta_chroma_offset_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
+ </type>
+
+ <type category="struct" name="StdVideoEncodeH265SliceSegmentHeaderFlags">
+ <member><type>uint32_t</type> <name>first_slice_segment_in_pic_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>no_output_of_prior_pics_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>dependent_slice_segment_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>pic_output_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>short_term_ref_pic_set_sps_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>slice_temporal_mvp_enable_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>slice_sao_luma_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>slice_sao_chroma_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>num_ref_idx_active_override_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>mvd_l1_zero_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>cabac_init_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>slice_deblocking_filter_disable_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>collocated_from_l0_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>slice_loop_filter_across_slices_enabled_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH265SliceSegmentHeader">
+ <member><type>StdVideoEncodeH265SliceSegmentHeaderFlags</type> <name>flags</name></member>
+ <member><type>StdVideoH265SliceType</type> <name>slice_type</name></member>
+ <member><type>uint8_t</type> <name>num_short_term_ref_pic_sets</name></member>
+ <member><type>uint32_t</type> <name>slice_segment_address</name></member>
+ <member><type>uint8_t</type> <name>short_term_ref_pic_set_idx</name></member>
+ <member><type>uint8_t</type> <name>num_long_term_sps</name></member>
+ <member><type>uint8_t</type> <name>num_long_term_pics</name></member>
+ <member><type>uint8_t</type> <name>collocated_ref_idx</name></member>
+ <member><type>uint8_t</type> <name>num_ref_idx_l0_active_minus1</name><comment>[0, 14]</comment></member>
+ <member><type>uint8_t</type> <name>num_ref_idx_l1_active_minus1</name><comment>[0, 14]</comment></member>
+ <member><type>uint8_t</type> <name>MaxNumMergeCand</name></member>
+ <member><type>int8_t</type> <name>slice_cb_qp_offset</name><comment>[-12, 12]</comment></member>
+ <member><type>int8_t</type> <name>slice_cr_qp_offset</name><comment>[-12, 12]</comment></member>
+ <member><type>int8_t</type> <name>slice_beta_offset_div2</name><comment>[-6, 6]</comment></member>
+ <member><type>int8_t</type> <name>slice_tc_offset_div2</name><comment>[-6, 6]</comment></member>
+ <member><type>int8_t</type> <name>slice_act_y_qp_offset</name></member>
+ <member><type>int8_t</type> <name>slice_act_cb_qp_offset</name></member>
+ <member><type>int8_t</type> <name>slice_act_cr_qp_offset</name></member>
+ <member>const <type>StdVideoEncodeH265WeightTable</type>* <name>pWeightTable</name><comment></comment></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH265ReferenceModificationFlags">
+ <member><type>uint32_t</type> <name>ref_pic_list_modification_flag_l0</name> : 1</member>
+ <member><type>uint32_t</type> <name>ref_pic_list_modification_flag_l1</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH265ReferenceModifications">
+ <member><type>StdVideoEncodeH265ReferenceModificationFlags</type> <name>flags</name></member>
+ <member><type>uint8_t</type> <name>referenceList0ModificationsCount</name><comment>num_ref_idx_l0_active_minus1</comment></member>
+ <member>const <type>uint8_t</type>* <name>pReferenceList0Modifications</name><comment>list_entry_l0</comment></member>
+ <member><type>uint8_t</type> <name>referenceList1ModificationsCount</name><comment>num_ref_idx_l1_active_minus1</comment></member>
+ <member>const <type>uint8_t</type>* <name>pReferenceList1Modifications</name><comment>list_entry_l1</comment></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH265PictureInfoFlags">
+ <member><type>uint32_t</type> <name>is_reference_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>IrapPicFlag</name> : 1</member>
+ <member><type>uint32_t</type> <name>long_term_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>discardable_flag</name> : 1</member>
+ <member><type>uint32_t</type> <name>cross_layer_bla_flag</name> : 1</member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH265PictureInfo">
+ <member><type>StdVideoEncodeH265PictureInfoFlags</type> <name>flags</name></member>
+ <member><type>StdVideoH265PictureType</type> <name>PictureType</name></member>
+ <member><type>uint8_t</type> <name>sps_video_parameter_set_id</name><comment>Selecting VPS id from the Video Parameters Set</comment></member>
+ <member><type>uint8_t</type> <name>pps_seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
+ <member><type>uint8_t</type> <name>pps_pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member>
+ <member><type>int32_t</type> <name>PicOrderCntVal</name></member>
+ <member><type>uint8_t</type> <name>TemporalId</name></member>
+ </type>
+ <type category="struct" name="StdVideoEncodeH265ReferenceInfoFlags">
+ <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>A picture that is marked as "used for long-term reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member>
+ <member><type>uint32_t</type> <name>unused_for_reference</name> : 1<comment>A picture that is marked as "unused for reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member>
+ </type>
+
+ <type category="struct" name="StdVideoEncodeH265ReferenceInfo">
+ <member><type>StdVideoEncodeH265ReferenceInfoFlags</type> <name>flags</name></member>
+ <member><type>int32_t</type> <name>PicOrderCntVal</name></member>
+ <member><type>uint8_t</type> <name>TemporalId</name></member>
+ </type>
+ </types>
+
+ <!-- vulkan_video_codec_h264std.h enums -->
+ <enums name="StdVideoH264ChromaFormatIdc" type="enum">
+ <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME" value="0"/>
+ <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_420" value="1"/>
+ <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_422" value="2"/>
+ <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_444" value="3"/>
+ <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264ProfileIdc" type="enum">
+ <enum name="STD_VIDEO_H264_PROFILE_IDC_BASELINE" value="66" comment="Only constrained baseline is supported"/>
+ <enum name="STD_VIDEO_H264_PROFILE_IDC_MAIN" value="77"/>
+ <enum name="STD_VIDEO_H264_PROFILE_IDC_HIGH" value="100"/>
+ <enum name="STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE" value="244"/>
+ <enum name="STD_VIDEO_H264_PROFILE_IDC_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264Level" type="enum">
+ <enum name="STD_VIDEO_H264_LEVEL_1_0" value="0"/>
+ <enum name="STD_VIDEO_H264_LEVEL_1_1" value="1"/>
+ <enum name="STD_VIDEO_H264_LEVEL_1_2" value="2"/>
+ <enum name="STD_VIDEO_H264_LEVEL_1_3" value="3"/>
+ <enum name="STD_VIDEO_H264_LEVEL_2_0" value="4"/>
+ <enum name="STD_VIDEO_H264_LEVEL_2_1" value="5"/>
+ <enum name="STD_VIDEO_H264_LEVEL_2_2" value="6"/>
+ <enum name="STD_VIDEO_H264_LEVEL_3_0" value="7"/>
+ <enum name="STD_VIDEO_H264_LEVEL_3_1" value="8"/>
+ <enum name="STD_VIDEO_H264_LEVEL_3_2" value="9"/>
+ <enum name="STD_VIDEO_H264_LEVEL_4_0" value="10"/>
+ <enum name="STD_VIDEO_H264_LEVEL_4_1" value="11"/>
+ <enum name="STD_VIDEO_H264_LEVEL_4_2" value="12"/>
+ <enum name="STD_VIDEO_H264_LEVEL_5_0" value="13"/>
+ <enum name="STD_VIDEO_H264_LEVEL_5_1" value="14"/>
+ <enum name="STD_VIDEO_H264_LEVEL_5_2" value="15"/>
+ <enum name="STD_VIDEO_H264_LEVEL_6_0" value="16"/>
+ <enum name="STD_VIDEO_H264_LEVEL_6_1" value="17"/>
+ <enum name="STD_VIDEO_H264_LEVEL_6_2" value="18"/>
+ <enum name="STD_VIDEO_H264_LEVEL_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264PocType" type="enum">
+ <enum name="STD_VIDEO_H264_POC_TYPE_0" value="0"/>
+ <enum name="STD_VIDEO_H264_POC_TYPE_1" value="1"/>
+ <enum name="STD_VIDEO_H264_POC_TYPE_2" value="2"/>
+ <enum name="STD_VIDEO_H264_POC_TYPE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264AspectRatioIdc" type="enum">
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED" value="0"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE" value="1"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11" value="2"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11" value="3"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11" value="4"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33" value="5"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11" value="6"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11" value="7"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11" value="8"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33" value="9"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11" value="10"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11" value="11"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33" value="12"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99" value="13"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3" value="14"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2" value="15"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1" value="16"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR" value="255"/>
+ <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264WeightedBipredIdc" type="enum">
+ <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT" value="0"/>
+ <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT" value="1"/>
+ <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT" value="2"/>
+ <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264ModificationOfPicNumsIdc" type="enum">
+ <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT" value="0"/>
+ <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD" value="1"/>
+ <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM" value="2"/>
+ <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END" value="3"/>
+ <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264MemMgmtControlOp" type="enum">
+ <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END" value="0"/>
+ <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM" value="1"/>
+ <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM" value="2"/>
+ <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM" value="3"/>
+ <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX" value="4"/>
+ <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL" value="5"/>
+ <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM" value="6"/>
+ <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264CabacInitIdc" type="enum">
+ <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_0" value="0"/>
+ <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_1" value="1"/>
+ <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_2" value="2"/>
+ <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264DisableDeblockingFilterIdc" type="enum">
+ <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED" value="0"/>
+ <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED" value="1"/>
+ <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL" value="2"/>
+ <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264SliceType" type="enum">
+ <enum name="STD_VIDEO_H264_SLICE_TYPE_P" value="0"/>
+ <enum name="STD_VIDEO_H264_SLICE_TYPE_B" value="1"/>
+ <enum name="STD_VIDEO_H264_SLICE_TYPE_I" value="2"/>
+ <comment>
+ reserved STD_VIDEO_H264_SLICE_TYPE_SP = 3
+ reserved STD_VIDEO_H264_SLICE_TYPE_SI = 4
+ </comment>
+ <enum name="STD_VIDEO_H264_SLICE_TYPE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264PictureType" type="enum">
+ <enum name="STD_VIDEO_H264_PICTURE_TYPE_P" value="0"/>
+ <enum name="STD_VIDEO_H264_PICTURE_TYPE_B" value="1"/>
+ <enum name="STD_VIDEO_H264_PICTURE_TYPE_I" value="2"/>
+ <comment>
+ reserved STD_VIDEO_H264_PICTURE_TYPE_SP = 3
+ reserved STD_VIDEO_H264_PICTURE_TYPE_SI = 4
+ </comment>
+ <enum name="STD_VIDEO_H264_PICTURE_TYPE_IDR" value="5"/>
+ <enum name="STD_VIDEO_H264_PICTURE_TYPE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH264NonVclNaluType" type="enum">
+ <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS" value="0"/>
+ <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS" value="1"/>
+ <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD" value="2"/>
+ <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX" value="3"/>
+ <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE" value="4"/>
+ <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM" value="5"/>
+ <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED" value="6"/>
+ <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+
+ <!-- vulkan_video_codec_h264std_decode.h enums -->
+ <enums name="StdVideoDecodeH264FieldOrderCount" type="enum">
+ <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP" value="0"/>
+ <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM" value="1"/>
+ <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+
+ <!-- vulkan_video_codec_h265std.h enums -->
+ <enums name="StdVideoH265ChromaFormatIdc" type="enum">
+ <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME" value="0"/>
+ <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_420" value="1"/>
+ <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_422" value="2"/>
+ <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_444" value="3"/>
+ <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH265ProfileIdc" type="enum">
+ <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN" value="1"/>
+ <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN_10" value="2"/>
+ <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE" value="3"/>
+ <enum name="STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS" value="4"/>
+ <enum name="STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS" value="9"/>
+ <enum name="STD_VIDEO_H265_PROFILE_IDC_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH265Level" type="enum">
+ <enum name="STD_VIDEO_H265_LEVEL_1_0" value="0"/>
+ <enum name="STD_VIDEO_H265_LEVEL_2_0" value="1"/>
+ <enum name="STD_VIDEO_H265_LEVEL_2_1" value="2"/>
+ <enum name="STD_VIDEO_H265_LEVEL_3_0" value="3"/>
+ <enum name="STD_VIDEO_H265_LEVEL_3_1" value="4"/>
+ <enum name="STD_VIDEO_H265_LEVEL_4_0" value="5"/>
+ <enum name="STD_VIDEO_H265_LEVEL_4_1" value="6"/>
+ <enum name="STD_VIDEO_H265_LEVEL_5_0" value="7"/>
+ <enum name="STD_VIDEO_H265_LEVEL_5_1" value="8"/>
+ <enum name="STD_VIDEO_H265_LEVEL_5_2" value="9"/>
+ <enum name="STD_VIDEO_H265_LEVEL_6_0" value="10"/>
+ <enum name="STD_VIDEO_H265_LEVEL_6_1" value="11"/>
+ <enum name="STD_VIDEO_H265_LEVEL_6_2" value="12"/>
+ <enum name="STD_VIDEO_H265_LEVEL_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH265SliceType" type="enum">
+ <enum name="STD_VIDEO_H265_SLICE_TYPE_B" value="0"/>
+ <enum name="STD_VIDEO_H265_SLICE_TYPE_P" value="1"/>
+ <enum name="STD_VIDEO_H265_SLICE_TYPE_I" value="2"/>
+ <enum name="STD_VIDEO_H265_SLICE_TYPE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+ <enums name="StdVideoH265PictureType" type="enum">
+ <enum name="STD_VIDEO_H265_PICTURE_TYPE_P" value="0"/>
+ <enum name="STD_VIDEO_H265_PICTURE_TYPE_B" value="1"/>
+ <enum name="STD_VIDEO_H265_PICTURE_TYPE_I" value="2"/>
+ <enum name="STD_VIDEO_H265_PICTURE_TYPE_IDR" value="3"/>
+ <enum name="STD_VIDEO_H265_PICTURE_TYPE_INVALID" value="0x7FFFFFFF"/>
+ </enums>
+
+ <extensions>
+ <extension name="vulkan_video_codecs_common" comment="protect with VULKAN_VIDEO_CODEC_COMMON_H_" supported="vulkan">
+ <require>
+ <type name="VK_MAKE_VIDEO_STD_VERSION"/>
+ </require>
+ </extension>
+ <extension name="vulkan_video_codec_h264std" comment="protect with VULKAN_VIDEO_CODEC_H264STD_H_" supported="vulkan">
+ <require>
+ <type name="vk_video/vulkan_video_codecs_common.h"/>
+
+ <enum name="STD_VIDEO_H264_CPB_CNT_LIST_SIZE" value="32"/>
+ <enum name="STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS" value="6"/>
+ <enum name="STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS" value="16"/>
+ <enum name="STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS" value="2"/>
+ <enum name="STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS" value="64"/>
+ <enum name="STD_VIDEO_H264_MAX_NUM_LIST_REF" value="32"/>
+ <enum name="STD_VIDEO_H264_MAX_CHROMA_PLANES" value="2"/>
+
+ <type name="StdVideoH264ChromaFormatIdc"/>
+ <type name="StdVideoH264ProfileIdc"/>
+ <type name="StdVideoH264Level"/>
+ <type name="StdVideoH264PocType"/>
+ <type name="StdVideoH264AspectRatioIdc"/>
+ <type name="StdVideoH264WeightedBipredIdc"/>
+ <type name="StdVideoH264ModificationOfPicNumsIdc"/>
+ <type name="StdVideoH264MemMgmtControlOp"/>
+ <type name="StdVideoH264CabacInitIdc"/>
+ <type name="StdVideoH264DisableDeblockingFilterIdc"/>
+ <type name="StdVideoH264SliceType"/>
+ <type name="StdVideoH264PictureType"/>
+ <type name="StdVideoH264NonVclNaluType"/>
+
+ <type name="StdVideoH264SpsVuiFlags"/>
+ <type name="StdVideoH264HrdParameters"/>
+ <type name="StdVideoH264SequenceParameterSetVui"/>
+ <type name="StdVideoH264SpsFlags"/>
+ <type name="StdVideoH264ScalingLists"/>
+ <type name="StdVideoH264SequenceParameterSet"/>
+ <type name="StdVideoH264PpsFlags"/>
+ <type name="StdVideoH264PictureParameterSet"/>
+ </require>
+ </extension>
+ <extension name="vulkan_video_codec_h264std_decode" comment="protect with VULKAN_VIDEO_CODEC_H264STD_DECODE_H_" supported="vulkan">
+ <require>
+ <type name="vk_video/vulkan_video_codec_h264std.h"/>
+
+ <type name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION" value="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME" value="&quot;VK_STD_vulkan_video_codec_h264_decode&quot;"/>
+
+ <enum name="STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE" value="15"/>
+ <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE" value="2"/>
+
+ <type name="StdVideoDecodeH264FieldOrderCount"/>
+ <type name="StdVideoDecodeH264PictureInfoFlags"/>
+ <type name="StdVideoDecodeH264PictureInfo"/>
+ <type name="StdVideoDecodeH264ReferenceInfoFlags"/>
+ <type name="StdVideoDecodeH264ReferenceInfo"/>
+ <type name="StdVideoDecodeH264MvcElementFlags"/>
+ <type name="StdVideoDecodeH264MvcElement"/>
+ <type name="StdVideoDecodeH264Mvc"/>
+ </require>
+ </extension>
+ <extension name="vulkan_video_codec_h264std_encode" comment="protect with VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_" supported="vulkan">
+ <require>
+ <type name="vk_video/vulkan_video_codec_h264std.h"/>
+
+ <type name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION" value="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME" value="&quot;VK_STD_vulkan_video_codec_h264_encode&quot;"/>
+
+ <type name="StdVideoEncodeH264WeightTableFlags"/>
+ <type name="StdVideoEncodeH264WeightTable"/>
+ <type name="StdVideoEncodeH264SliceHeaderFlags"/>
+ <type name="StdVideoEncodeH264PictureInfoFlags"/>
+ <type name="StdVideoEncodeH264ReferenceInfoFlags"/>
+ <type name="StdVideoEncodeH264RefMgmtFlags"/>
+ <type name="StdVideoEncodeH264RefListModEntry"/>
+ <type name="StdVideoEncodeH264RefPicMarkingEntry"/>
+ <type name="StdVideoEncodeH264RefMemMgmtCtrlOperations"/>
+ <type name="StdVideoEncodeH264PictureInfo"/>
+ <type name="StdVideoEncodeH264ReferenceInfo"/>
+ <type name="StdVideoEncodeH264SliceHeader"/>
+ </require>
+ </extension>
+ <extension name="vulkan_video_codec_h265std" comment="protect with VULKAN_VIDEO_CODEC_H265STD_H_" supported="vulkan">
+ <require>
+ <type name="vk_video/vulkan_video_codecs_common.h"/>
+
+ <enum name="STD_VIDEO_H265_CPB_CNT_LIST_SIZE" value="32"/>
+ <enum name="STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE" value="7"/>
+ <enum name="STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS" value="6"/>
+ <enum name="STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS" value="16"/>
+ <enum name="STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS" value="6"/>
+ <enum name="STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS" value="64"/>
+ <enum name="STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS" value="6"/>
+ <enum name="STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS" value="64"/>
+ <enum name="STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS" value="2"/>
+ <enum name="STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS" value="64"/>
+ <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE" value="6"/>
+ <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE" value="19"/>
+ <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE" value="21"/>
+ <enum name="STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE" value="3"/>
+ <enum name="STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE" value="128"/>
+ <enum name="STD_VIDEO_H265_MAX_NUM_LIST_REF" value="15"/>
+ <enum name="STD_VIDEO_H265_MAX_CHROMA_PLANES" value="2"/>
+ <enum name="STD_VIDEO_H265_SPS_MAX_SUB_LAYERS" value="8"/>
+
+ <type name="StdVideoH265ChromaFormatIdc"/>
+ <type name="StdVideoH265ProfileIdc"/>
+ <type name="StdVideoH265Level"/>
+ <type name="StdVideoH265SliceType"/>
+ <type name="StdVideoH265PictureType"/>
+ <type name="StdVideoH265DecPicBufMgr"/>
+ <type name="StdVideoH265SubLayerHrdParameters"/>
+ <type name="StdVideoH265HrdFlags"/>
+ <type name="StdVideoH265HrdParameters"/>
+ <type name="StdVideoH265VpsFlags"/>
+ <type name="StdVideoH265VideoParameterSet"/>
+ <type name="StdVideoH265ScalingLists"/>
+ <type name="StdVideoH265SpsVuiFlags"/>
+ <type name="StdVideoH265SequenceParameterSetVui"/>
+ <type name="StdVideoH265PredictorPaletteEntries"/>
+ <type name="StdVideoH265SpsFlags"/>
+ <type name="StdVideoH265SequenceParameterSet"/>
+ <type name="StdVideoH265PpsFlags"/>
+ <type name="StdVideoH265PictureParameterSet"/>
+ </require>
+ </extension>
+ <extension name="vulkan_video_codec_h265std_decode" comment="protect with VULKAN_VIDEO_CODEC_H265STD_DECODE_H_" supported="vulkan">
+ <require>
+ <type name="vk_video/vulkan_video_codec_h265std.h"/>
+
+ <type name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION" value="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME" value="&quot;VK_STD_vulkan_video_codec_h265_decode&quot;"/>
+
+ <enum name="STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE" value="8"/>
+
+ <type name="StdVideoDecodeH265PictureInfoFlags"/>
+ <type name="StdVideoDecodeH265PictureInfo"/>
+ <type name="StdVideoDecodeH265ReferenceInfoFlags"/>
+ <type name="StdVideoDecodeH265ReferenceInfo"/>
+ </require>
+ </extension>
+ <extension name="vulkan_video_codec_h265std_encode" comment="protect with VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_" supported="vulkan">
+ <require>
+ <type name="vk_video/vulkan_video_codec_h265std.h"/>
+
+ <type name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION" value="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6"/>
+ <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME" value="&quot;VK_STD_vulkan_video_codec_h265_encode&quot;"/>
+
+ <type name="StdVideoEncodeH265WeightTableFlags"/>
+ <type name="StdVideoEncodeH265WeightTable"/>
+ <type name="StdVideoEncodeH265SliceSegmentHeaderFlags"/>
+ <type name="StdVideoEncodeH265SliceSegmentHeader"/>
+ <type name="StdVideoEncodeH265ReferenceModificationFlags"/>
+ <type name="StdVideoEncodeH265ReferenceModifications"/>
+ <type name="StdVideoEncodeH265PictureInfoFlags"/>
+ <type name="StdVideoEncodeH265PictureInfo"/>
+ <type name="StdVideoEncodeH265ReferenceInfoFlags"/>
+ <type name="StdVideoEncodeH265ReferenceInfo"/>
+ </require>
+ </extension>
+ </extensions>
+</registry>
diff --git a/registry/vk.xml b/registry/vk.xml
index 6376e6a..97ec3b0 100644
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -159,7 +159,7 @@ branch of the member gitlab server.
<type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.3 version number
#define <name>VK_API_VERSION_1_3</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 210</type>
+#define <name>VK_HEADER_VERSION</name> 211</type>
<type 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>
@@ -5608,6 +5608,12 @@ typedef void <name>CAMetalLayer</name>;
<member><type>VkDeviceSize</type> <name>updateScratchSize</name></member>
<member><type>VkDeviceSize</type> <name>buildScratchSize</name></member>
</type>
+ <type category="struct" name="VkPhysicalDeviceImage2DViewOf3DFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkBool32</type> <name>image2DViewOf3D</name></member>
+ <member><type>VkBool32</type> <name>sampler2DViewOf3D</name></member>
+ </type>
<type category="struct" name="VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member>
@@ -5857,8 +5863,6 @@ typedef void <name>CAMetalLayer</name>;
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkVideoDecodeFlagsKHR</type> <name>flags</name></member>
- <member><type>VkOffset2D</type> <name>codedOffset</name></member>
- <member><type>VkExtent2D</type> <name>codedExtent</name></member>
<member><type>VkBuffer</type> <name>srcBuffer</name></member>
<member><type>VkDeviceSize</type> <name>srcBufferOffset</name></member>
<member><type>VkDeviceSize</type> <name>srcBufferRange</name></member>
@@ -5903,8 +5907,8 @@ typedef void <name>CAMetalLayer</name>;
</type>
<type category="struct" name="VkVideoDecodeH264CapabilitiesEXT" returnedonly="true" structextends="VkVideoDecodeCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member>
- <member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>uint32_t</type> <name>maxLevel</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>StdVideoH264Level</type> <name>maxLevel</name></member>
<member><type>VkOffset2D</type> <name>fieldOffsetGranularity</name></member>
</type>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SequenceParameterSet"/>
@@ -5973,7 +5977,7 @@ typedef void <name>CAMetalLayer</name>;
<type category="struct" name="VkVideoDecodeH265CapabilitiesEXT" returnedonly="true" structextends="VkVideoDecodeCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>uint32_t</type> <name>maxLevel</name></member>
+ <member><type>StdVideoH265Level</type> <name>maxLevel</name></member>
</type>
<type category="struct" name="VkVideoDecodeH265SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
@@ -6054,7 +6058,6 @@ typedef void <name>CAMetalLayer</name>;
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkVideoEncodeFlagsKHR</type> <name>flags</name></member>
<member><type>uint32_t</type> <name>qualityLevel</name></member>
- <member><type>VkExtent2D</type> <name>codedExtent</name></member>
<member><type>VkBuffer</type> <name>dstBitstreamBuffer</name></member>
<member><type>VkDeviceSize</type> <name>dstBitstreamBufferOffset</name></member>
<member><type>VkDeviceSize</type> <name>dstBitstreamBufferMaxRange</name></member>
@@ -6082,18 +6085,18 @@ typedef void <name>CAMetalLayer</name>;
<member><type>uint32_t</type> <name>virtualBufferSizeInMs</name></member>
<member><type>uint32_t</type> <name>initialVirtualBufferSizeInMs</name></member>
</type>
- <type category="struct" name="VkVideoEncodeCapabilitiesKHR" structextends="VkVideoCapabilitiesKHR">
+ <type category="struct" name="VkVideoEncodeCapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR"><type>VkStructureType</type><name>sType</name></member>
- <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
<member noautovalidity="true"><type>VkVideoEncodeCapabilityFlagsKHR</type> <name>flags</name></member>
<member><type>VkVideoEncodeRateControlModeFlagsKHR</type> <name>rateControlModes</name></member>
<member><type>uint8_t</type> <name>rateControlLayerCount</name></member>
<member><type>uint8_t</type> <name>qualityLevelCount</name></member>
<member><type>VkExtent2D</type> <name>inputImageDataFillAlignment</name></member>
</type>
- <type category="struct" name="VkVideoEncodeH264CapabilitiesEXT" structextends="VkVideoEncodeCapabilitiesKHR">
+ <type category="struct" name="VkVideoEncodeH264CapabilitiesEXT" returnedonly="true" structextends="VkVideoEncodeCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member>
- <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
<member noautovalidity="true"><type>VkVideoEncodeH264CapabilityFlagsEXT</type> <name>flags</name></member>
<member><type>VkVideoEncodeH264InputModeFlagsEXT</type> <name>inputModeFlags</name></member>
<member><type>VkVideoEncodeH264OutputModeFlagsEXT</type> <name>outputModeFlags</name></member>
@@ -6207,9 +6210,9 @@ typedef void <name>CAMetalLayer</name>;
<member><type>VkBool32</type> <name>useMaxFrameSize</name></member>
<member><type>VkVideoEncodeH264FrameSizeEXT</type> <name>maxFrameSize</name></member>
</type>
- <type category="struct" name="VkVideoEncodeH265CapabilitiesEXT" structextends="VkVideoEncodeCapabilitiesKHR">
+ <type category="struct" name="VkVideoEncodeH265CapabilitiesEXT" returnedonly="true" structextends="VkVideoEncodeCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member>
- <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
<member noautovalidity="true"><type>VkVideoEncodeH265CapabilityFlagsEXT</type> <name>flags</name></member>
<member><type>VkVideoEncodeH265InputModeFlagsEXT</type> <name>inputModeFlags</name></member>
<member><type>VkVideoEncodeH265OutputModeFlagsEXT</type> <name>outputModeFlags</name></member>
@@ -8283,7 +8286,7 @@ typedef void <name>CAMetalLayer</name>;
<enum bitpos="12" name="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT"/>
<enum name="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR" alias="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT"/>
<enum name="VK_PIPELINE_STAGE_2_TRANSFER_BIT" alias="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR"/>
- <enum name="VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR" alias="VK_PIPELINE_STAGE_2_TRANSFER_BIT"/>
+ <enum name="VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR" alias="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT"/>
<enum bitpos="13" name="VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT"/>
<enum name="VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR" alias="VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT"/>
<enum bitpos="14" name="VK_PIPELINE_STAGE_2_HOST_BIT"/>
@@ -8529,20 +8532,22 @@ typedef void <name>CAMetalLayer</name>;
<enum bitpos="7" name="VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT"/>
<enum bitpos="8" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT"/>
<enum bitpos="9" name="VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT"/>
- <enum bitpos="10" name="VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT"/>
- <enum bitpos="11" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT"/>
- <enum bitpos="12" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT"/>
- <enum bitpos="13" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT"/>
- <enum bitpos="14" name="VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT"/>
- <enum bitpos="15" name="VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT"/>
- <enum bitpos="16" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT"/>
- <enum bitpos="17" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT"/>
- <enum bitpos="18" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT"/>
- <enum bitpos="19" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT"/>
- <enum bitpos="20" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT"/>
- <enum bitpos="21" name="VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT"/>
- <enum bitpos="22" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT"/>
- <enum bitpos="23" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT"/>
+ <enum bitpos="10" name="VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_DISABLED_BIT_EXT"/>
+ <enum bitpos="11" name="VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT"/>
+ <enum bitpos="12" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT"/>
+ <enum bitpos="13" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT"/>
+ <enum bitpos="14" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT"/>
+ <enum bitpos="15" name="VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT"/>
+ <enum bitpos="16" name="VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT"/>
+ <enum bitpos="17" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT"/>
+ <enum bitpos="18" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT"/>
+ <enum bitpos="19" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT"/>
+ <enum bitpos="20" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT"/>
+ <enum bitpos="21" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT"/>
+ <enum bitpos="22" name="VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT"/>
+ <enum bitpos="23" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT"/>
+ <enum bitpos="24" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT"/>
+ <enum bitpos="25" name="VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT"/>
</enums>
<enums name="VkVideoEncodeH265InputModeFlagBitsEXT" type="bitmask">
<enum bitpos="0" name="VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT"/>
@@ -11679,7 +11684,7 @@ typedef void <name>CAMetalLayer</name>;
<param><type>uint32_t</type> <name>connectorId</name></param>
<param><type>VkDisplayKHR</type>* <name>display</name></param>
</command>
- <command successcodes="VK_SUCCESS,VK_TIMEOUT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST">
+ <command successcodes="VK_SUCCESS,VK_TIMEOUT,VK_SUBOPTIMAL_KHR" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST,VK_ERROR_OUT_OF_DATE_KHR,VK_ERROR_SURFACE_LOST_KHR,VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT">
<proto><type>VkResult</type> <name>vkWaitForPresentKHR</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name></param>
@@ -13427,7 +13432,7 @@ typedef void <name>CAMetalLayer</name>;
</extension>
<extension name="VK_KHR_video_decode_queue" number="25" type="device" requires="VK_KHR_video_queue,VK_KHR_synchronization2" author="KHR" contact="[email protected]" provisional="true" platform="provisional" supported="vulkan">
<require>
- <enum value="3" name="VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION"/>
+ <enum value="4" name="VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_video_decode_queue&quot;" name="VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/>
@@ -13639,7 +13644,7 @@ typedef void <name>CAMetalLayer</name>;
</extension>
<extension name="VK_EXT_video_encode_h265" number="40" type="device" requires="VK_KHR_video_encode_queue" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan">
<require>
- <enum value="6" name="VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION"/>
+ <enum value="7" name="VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_video_encode_h265&quot;" name="VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/>
@@ -13684,7 +13689,7 @@ typedef void <name>CAMetalLayer</name>;
</extension>
<extension name="VK_EXT_video_decode_h264" number="41" type="device" requires="VK_KHR_video_decode_queue" author="KHR" contact="[email protected]" provisional="true" platform="provisional" supported="vulkan">
<require>
- <enum value="4" name="VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION"/>
+ <enum value="5" name="VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_video_decode_h264&quot;" name="VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/>
@@ -15800,7 +15805,7 @@ typedef void <name>CAMetalLayer</name>;
</extension>
<extension name="VK_EXT_video_decode_h265" number="188" type="device" requires="VK_KHR_video_decode_queue" author="KHR" contact="[email protected]" provisional="true" platform="provisional" supported="vulkan">
<require>
- <enum value="2" name="VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION"/>
+ <enum value="3" name="VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_video_decode_h265&quot;" name="VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/>
@@ -17077,7 +17082,7 @@ typedef void <name>CAMetalLayer</name>;
</extension>
<extension name="VK_KHR_video_encode_queue" number="300" type="device" requires="VK_KHR_video_queue,VK_KHR_synchronization2" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan">
<require>
- <enum value="4" name="VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION"/>
+ <enum value="5" name="VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_video_encode_queue&quot;" name="VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME"/>
<enum bitpos="27" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS" />
<enum bitpos="37" extends="VkAccessFlagBits2" name="VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS" />
@@ -18052,11 +18057,13 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkMultiDrawIndexedInfoEXT"/>
</require>
</extension>
- <extension name="VK_EXT_extension_394" number="394" author="EXT" contact="Mike Blumenkrantz @zmike" type="device" supported="disabled">
+ <extension name="VK_EXT_image_2d_view_of_3d" number="394" requires="VK_KHR_maintenance1,VK_KHR_get_physical_device_properties2" author="EXT" contact="Mike Blumenkrantz @zmike" specialuse="glemulation" type="device" supported="vulkan">
<require>
- <enum value="0" name="VK_EXT_EXTENSION_394_SPEC_VERSION"/>
- <enum value="&quot;VK_EXT_extension_394&quot;" name="VK_EXT_EXTENSION_394_EXTENSION_NAME"/>
- <enum extends="VkImageCreateFlagBits" bitpos="17" name="VK_IMAGE_CREATE_RESERVED_394_BIT_EXT"/>
+ <enum value="1" name="VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_image_2d_view_of_3d&quot;" name="VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME"/>
+ <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT"/>
+ <type name="VkPhysicalDeviceImage2DViewOf3DFeaturesEXT"/>
+ <enum extends="VkImageCreateFlagBits" bitpos="17" name="VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT" comment="Image is created with a layout where individual slices are capable of being used as 2D images"/>
</require>
</extension>
<extension name="VK_KHR_portability_enumeration" number="395" author="KHR" contact="Charles Giessen @charles-lunarg" type="instance" supported="vulkan">
@@ -18074,8 +18081,18 @@ typedef void <name>CAMetalLayer</name>;
</extension>
<extension name="VK_NV_extension_397" number="397" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="disabled">
<require>
- <enum value="0" name="VK_NV_EXTENSION_397_SPEC_VERSION"/>
- <enum value="&quot;VK_NV_extension_397&quot;" name="VK_NV_EXTENSION_397_EXTENSION_NAME"/>
+ <enum value="0" name="VK_NV_EXTENSION_397_SPEC_VERSION"/>
+ <enum value="&quot;VK_NV_extension_397&quot;" name="VK_NV_EXTENSION_397_EXTENSION_NAME"/>
+ <enum bitpos="30" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_RESERVED_30_BIT_NV"/>
+ <enum bitpos="44" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_44_BIT_NV"/>
+ <enum bitpos="45" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_45_BIT_NV"/>
+ <enum bitpos="23" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_23_BIT_NV"/>
+ <enum bitpos="24" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_24_BIT_NV"/>
+ <enum bitpos="24" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_RESERVED_24_BIT_NV"/>
+ <enum bitpos="4" extends="VkGeometryInstanceFlagBitsKHR" name="VK_GEOMETRY_INSTANCE_RESERVED_4_BIT_NV"/>
+ <enum bitpos="5" extends="VkGeometryInstanceFlagBitsKHR" name="VK_GEOMETRY_INSTANCE_RESERVED_5_BIT_NV"/>
+ <enum bitpos="6" extends="VkBuildAccelerationStructureFlagBitsKHR" name="VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_6_BIT_NV"/>
+ <enum bitpos="7" extends="VkBuildAccelerationStructureFlagBitsKHR" name="VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_7_BIT_NV"/>
</require>
</extension>
<extension name="VK_NV_extension_398" number="398" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="disabled">
@@ -18527,6 +18544,12 @@ typedef void <name>CAMetalLayer</name>;
<enum value="&quot;VK_EXT_extension_463&quot;" name="VK_EXT_EXTENSION_463_EXTENSION_NAME"/>
</require>
</extension>
+ <extension name="VK_EXT_extension_464" number="464" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled">
+ <require>
+ <enum value="0" name="VK_EXT_EXTENSION_464_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_464&quot;" name="VK_EXT_EXTENSION_464_EXTENSION_NAME"/>
+ </require>
+ </extension>
<extension name="VK_NV_extension_465" number="465" author="NV" contact="Carsten Rohde @crohde" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_465_SPEC_VERSION"/>
@@ -18541,10 +18564,24 @@ typedef void <name>CAMetalLayer</name>;
<enum bitpos="43" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_RESERVED_43_BIT_NV"/>
</require>
</extension>
- <extension name="VK_EXT_extension_464" number="464" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled">
+ <extension name="VK_EXT_extension_466" number="466" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
<require>
- <enum value="0" name="VK_EXT_EXTENSION_464_SPEC_VERSION"/>
- <enum value="&quot;VK_EXT_extension_464&quot;" name="VK_EXT_EXTENSION_464_EXTENSION_NAME"/>
+ <enum value="0" name="VK_EXT_EXTENSION_466_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_466&quot;" name="VK_EXT_EXTENSION_466_EXTENSION_NAME"/>
+ <enum bitpos="7" extends="VkSubpassDescriptionFlagBits" name="VK_SUBPASS_DESCRIPTION_RESERVED_7_BIT_EXT"/>
+ <enum bitpos="3" extends="VkRenderingFlagBits" name="VK_RENDERING_RESERVED_3_BIT_EXT"/>
+ </require>
+ </extension>
+ <extension name="VK_EXT_extension_467" number="467" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
+ <require>
+ <enum value="0" name="VK_EXT_EXTENSION_467_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_467&quot;" name="VK_EXT_EXTENSION_467_EXTENSION_NAME"/>
+ </require>
+ </extension>
+ <extension name="VK_EXT_extension_468" number="468" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
+ <require>
+ <enum value="0" name="VK_EXT_EXTENSION_468_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_468&quot;" name="VK_EXT_EXTENSION_468_EXTENSION_NAME"/>
</require>
</extension>
</extensions>
diff --git a/registry/vkconventions.py b/registry/vkconventions.py
index 175c37f..1d3f632 100644
--- a/registry/vkconventions.py
+++ b/registry/vkconventions.py
@@ -22,6 +22,8 @@ CATEGORIES_REQUIRING_VALIDATION = set(('handle', 'enum', 'bitmask'))
# Ideally these would be listed in the spec as exceptions, as OpenXR does.
SPECIAL_WORDS = set((
'16Bit', # VkPhysicalDevice16BitStorageFeatures
+ '2D', # VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
+ '3D', # VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
'8Bit', # VkPhysicalDevice8BitStorageFeaturesKHR
'AABB', # VkGeometryAABBNV
'ASTC', # VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT