diff options
author | Jon Leech <[email protected]> | 2022-04-05 04:54:33 -0700 |
---|---|---|
committer | Jon Leech <[email protected]> | 2022-04-05 04:54:59 -0700 |
commit | 23842a31df9c9c2b3bc7c6c2bb56044bc5e51c05 (patch) | |
tree | ac8652677194d77ce208949191ec6bfb6278d0ba /registry | |
parent | 628eaec640e117b859cfd80e4b1abb2570e08ccd (diff) | |
download | Vulkan-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.json | 194 | ||||
-rw-r--r-- | registry/video.xml | 1113 | ||||
-rw-r--r-- | registry/vk.xml | 123 | ||||
-rw-r--r-- | registry/vkconventions.py | 2 |
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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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 <stdint.h></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)) << 22) | (((uint32_t)(minor)) << 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 <= 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 <= 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 <= 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 <= 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=""VK_STD_vulkan_video_codec_h264_decode""/> + + <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=""VK_STD_vulkan_video_codec_h264_encode""/> + + <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=""VK_STD_vulkan_video_codec_h265_decode""/> + + <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=""VK_STD_vulkan_video_codec_h265_encode""/> + + <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=""VK_KHR_video_decode_queue"" 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=""VK_EXT_video_encode_h265"" 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=""VK_EXT_video_decode_h264"" 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=""VK_EXT_video_decode_h265"" 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=""VK_KHR_video_encode_queue"" 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=""VK_EXT_extension_394"" 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=""VK_EXT_image_2d_view_of_3d"" 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=""VK_NV_extension_397"" name="VK_NV_EXTENSION_397_EXTENSION_NAME"/> + <enum value="0" name="VK_NV_EXTENSION_397_SPEC_VERSION"/> + <enum value=""VK_NV_extension_397"" 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=""VK_EXT_extension_463"" 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=""VK_EXT_extension_464"" 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=""VK_EXT_extension_464"" name="VK_EXT_EXTENSION_464_EXTENSION_NAME"/> + <enum value="0" name="VK_EXT_EXTENSION_466_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_466"" 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=""VK_EXT_extension_467"" 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=""VK_EXT_extension_468"" 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 |