aboutsummaryrefslogtreecommitdiffhomepage
path: root/registry/validusage.json
diff options
context:
space:
mode:
Diffstat (limited to 'registry/validusage.json')
-rw-r--r--registry/validusage.json2357
1 files changed, 2052 insertions, 305 deletions
diff --git a/registry/validusage.json b/registry/validusage.json
index bb095b0..b212a48 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.273",
- "comment": "from git branch: github-main commit: f8d76125ca22ec65dfcaedc7177e204f11ad7c7b",
- "date": "2023-12-08 13:46:22Z"
+ "api version": "1.3.274",
+ "comment": "from git branch: github-main commit: 542718ca30aef2c3c5afbca41de6424bd37e1808",
+ "date": "2023-12-19 04:18:05Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -369,7 +369,7 @@
},
{
"vuid": "VUID-VkPhysicalDeviceProperties2-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=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI\">VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesKHR\">VkPhysicalDeviceCooperativeMatrixPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectPropertiesNV\">VkPhysicalDeviceCopyMemoryIndirectPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCudaKernelLaunchPropertiesNV\">VkPhysicalDeviceCudaKernelLaunchPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapPropertiesNV\">VkPhysicalDeviceDisplacementMicromapPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3PropertiesEXT\">VkPhysicalDeviceExtendedDynamicState3PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV\">VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV</a>, <a href=\"#VkPhysicalDeviceExternalFormatResolvePropertiesANDROID\">VkPhysicalDeviceExternalFormatResolvePropertiesANDROID</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR\">VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyPropertiesEXT\">VkPhysicalDeviceHostImageCopyPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceImageProcessing2PropertiesQCOM\">VkPhysicalDeviceImageProcessing2PropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceImageProcessingPropertiesQCOM\">VkPhysicalDeviceImageProcessingPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockProperties\">VkPhysicalDeviceInlineUniformBlockProperties</a>, <a href=\"#VkPhysicalDeviceLayeredDriverPropertiesMSFT\">VkPhysicalDeviceLayeredDriverPropertiesMSFT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance4Properties\">VkPhysicalDeviceMaintenance4Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance5PropertiesKHR\">VkPhysicalDeviceMaintenance5PropertiesKHR</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionPropertiesNV\">VkPhysicalDeviceMemoryDecompressionPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesEXT\">VkPhysicalDeviceMeshShaderPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDeviceNestedCommandBufferPropertiesEXT\">VkPhysicalDeviceNestedCommandBufferPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapPropertiesEXT\">VkPhysicalDeviceOpacityMicromapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowPropertiesNV\">VkPhysicalDeviceOpticalFlowPropertiesNV</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessPropertiesEXT\">VkPhysicalDevicePipelineRobustnessPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV\">VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRenderPassStripedPropertiesARM\">VkPhysicalDeviceRenderPassStripedPropertiesARM</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceSchedulingControlsPropertiesARM\">VkPhysicalDeviceSchedulingControlsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM\">VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesARM\">VkPhysicalDeviceShaderCorePropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderEnqueuePropertiesAMDX\">VkPhysicalDeviceShaderEnqueuePropertiesAMDX</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductProperties\">VkPhysicalDeviceShaderIntegerDotProductProperties</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT\">VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectPropertiesEXT\">VkPhysicalDeviceShaderObjectPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShaderTileImagePropertiesEXT\">VkPhysicalDeviceShaderTileImagePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlProperties\">VkPhysicalDeviceSubgroupSizeControlProperties</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentProperties\">VkPhysicalDeviceTexelBufferAlignmentProperties</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR\">VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan13Properties\">VkPhysicalDeviceVulkan13Properties</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=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI\">VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesKHR\">VkPhysicalDeviceCooperativeMatrixPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectPropertiesNV\">VkPhysicalDeviceCopyMemoryIndirectPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCudaKernelLaunchPropertiesNV\">VkPhysicalDeviceCudaKernelLaunchPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapPropertiesNV\">VkPhysicalDeviceDisplacementMicromapPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3PropertiesEXT\">VkPhysicalDeviceExtendedDynamicState3PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV\">VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV</a>, <a href=\"#VkPhysicalDeviceExternalFormatResolvePropertiesANDROID\">VkPhysicalDeviceExternalFormatResolvePropertiesANDROID</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR\">VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyPropertiesEXT\">VkPhysicalDeviceHostImageCopyPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceImageProcessing2PropertiesQCOM\">VkPhysicalDeviceImageProcessing2PropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceImageProcessingPropertiesQCOM\">VkPhysicalDeviceImageProcessingPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockProperties\">VkPhysicalDeviceInlineUniformBlockProperties</a>, <a href=\"#VkPhysicalDeviceLayeredDriverPropertiesMSFT\">VkPhysicalDeviceLayeredDriverPropertiesMSFT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance4Properties\">VkPhysicalDeviceMaintenance4Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance5PropertiesKHR\">VkPhysicalDeviceMaintenance5PropertiesKHR</a>, <a href=\"#VkPhysicalDeviceMaintenance6PropertiesKHR\">VkPhysicalDeviceMaintenance6PropertiesKHR</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionPropertiesNV\">VkPhysicalDeviceMemoryDecompressionPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesEXT\">VkPhysicalDeviceMeshShaderPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDeviceNestedCommandBufferPropertiesEXT\">VkPhysicalDeviceNestedCommandBufferPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapPropertiesEXT\">VkPhysicalDeviceOpacityMicromapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowPropertiesNV\">VkPhysicalDeviceOpticalFlowPropertiesNV</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessPropertiesEXT\">VkPhysicalDevicePipelineRobustnessPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV\">VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRenderPassStripedPropertiesARM\">VkPhysicalDeviceRenderPassStripedPropertiesARM</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceSchedulingControlsPropertiesARM\">VkPhysicalDeviceSchedulingControlsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM\">VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesARM\">VkPhysicalDeviceShaderCorePropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderEnqueuePropertiesAMDX\">VkPhysicalDeviceShaderEnqueuePropertiesAMDX</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductProperties\">VkPhysicalDeviceShaderIntegerDotProductProperties</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT\">VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectPropertiesEXT\">VkPhysicalDeviceShaderObjectPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShaderTileImagePropertiesEXT\">VkPhysicalDeviceShaderTileImagePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlProperties\">VkPhysicalDeviceSubgroupSizeControlProperties</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentProperties\">VkPhysicalDeviceTexelBufferAlignmentProperties</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR\">VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan13Properties\">VkPhysicalDeviceVulkan13Properties</a>",
"page": "vkspec"
},
{
@@ -891,7 +891,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=\"#VkDeviceQueueShaderCoreControlCreateInfoARM\">VkDeviceQueueShaderCoreControlCreateInfoARM</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=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI\">VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesKHR\">VkPhysicalDeviceCooperativeMatrixFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCubicClampFeaturesQCOM\">VkPhysicalDeviceCubicClampFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceCubicWeightsFeaturesQCOM\">VkPhysicalDeviceCubicWeightsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceCudaKernelLaunchFeaturesNV\">VkPhysicalDeviceCudaKernelLaunchFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthBiasControlFeaturesEXT\">VkPhysicalDeviceDepthBiasControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClampZeroOneFeaturesEXT\">VkPhysicalDeviceDepthClampZeroOneFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV\">VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapFeaturesNV\">VkPhysicalDeviceDisplacementMicromapFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT\">VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV\">VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalFormatResolveFeaturesANDROID\">VkPhysicalDeviceExternalFormatResolveFeaturesANDROID</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX\">VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX</a>, <a href=\"#VkPhysicalDeviceFaultFeaturesEXT\">VkPhysicalDeviceFaultFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFrameBoundaryFeaturesEXT\">VkPhysicalDeviceFrameBoundaryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyFeaturesEXT\">VkPhysicalDeviceHostImageCopyFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessing2FeaturesQCOM\">VkPhysicalDeviceImageProcessing2FeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT\">VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT</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=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMaintenance5FeaturesKHR\">VkPhysicalDeviceMaintenance5FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNestedCommandBufferFeaturesEXT\">VkPhysicalDeviceNestedCommandBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT\">VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</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=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR\">VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG\">VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG</a>, <a href=\"#VkPhysicalDeviceRenderPassStripedFeaturesARM\">VkPhysicalDeviceRenderPassStripedFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSchedulingControlsFeaturesARM\">VkPhysicalDeviceSchedulingControlsFeaturesARM</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=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderEnqueueFeaturesAMDX\">VkPhysicalDeviceShaderEnqueueFeaturesAMDX</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=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectFeaturesEXT\">VkPhysicalDeviceShaderObjectFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTileImageFeaturesEXT\">VkPhysicalDeviceShaderTileImageFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT\">VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR\">VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR</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=\"#VkPhysicalDeviceYcbcrDegammaFeaturesQCOM\">VkPhysicalDeviceYcbcrDegammaFeaturesQCOM</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=\"#VkDeviceQueueShaderCoreControlCreateInfoARM\">VkDeviceQueueShaderCoreControlCreateInfoARM</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=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI\">VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesKHR\">VkPhysicalDeviceCooperativeMatrixFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCubicClampFeaturesQCOM\">VkPhysicalDeviceCubicClampFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceCubicWeightsFeaturesQCOM\">VkPhysicalDeviceCubicWeightsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceCudaKernelLaunchFeaturesNV\">VkPhysicalDeviceCudaKernelLaunchFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthBiasControlFeaturesEXT\">VkPhysicalDeviceDepthBiasControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClampZeroOneFeaturesEXT\">VkPhysicalDeviceDepthClampZeroOneFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV\">VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapFeaturesNV\">VkPhysicalDeviceDisplacementMicromapFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT\">VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV\">VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalFormatResolveFeaturesANDROID\">VkPhysicalDeviceExternalFormatResolveFeaturesANDROID</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX\">VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX</a>, <a href=\"#VkPhysicalDeviceFaultFeaturesEXT\">VkPhysicalDeviceFaultFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFrameBoundaryFeaturesEXT\">VkPhysicalDeviceFrameBoundaryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyFeaturesEXT\">VkPhysicalDeviceHostImageCopyFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessing2FeaturesQCOM\">VkPhysicalDeviceImageProcessing2FeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT\">VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT</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=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMaintenance5FeaturesKHR\">VkPhysicalDeviceMaintenance5FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMaintenance6FeaturesKHR\">VkPhysicalDeviceMaintenance6FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNestedCommandBufferFeaturesEXT\">VkPhysicalDeviceNestedCommandBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerStageDescriptorSetFeaturesNV\">VkPhysicalDevicePerStageDescriptorSetFeaturesNV</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT\">VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</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=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR\">VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG\">VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG</a>, <a href=\"#VkPhysicalDeviceRenderPassStripedFeaturesARM\">VkPhysicalDeviceRenderPassStripedFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSchedulingControlsFeaturesARM\">VkPhysicalDeviceSchedulingControlsFeaturesARM</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=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderEnqueueFeaturesAMDX\">VkPhysicalDeviceShaderEnqueueFeaturesAMDX</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=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectFeaturesEXT\">VkPhysicalDeviceShaderObjectFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTileImageFeaturesEXT\">VkPhysicalDeviceShaderTileImageFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT\">VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR\">VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVideoMaintenance1FeaturesKHR\">VkPhysicalDeviceVideoMaintenance1FeaturesKHR</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=\"#VkPhysicalDeviceYcbcrDegammaFeaturesQCOM\">VkPhysicalDeviceYcbcrDegammaFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>",
"page": "vkspec"
},
{
@@ -8453,6 +8453,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkRenderingInfo-colorAttachmentCount-09476",
+ "text": "If <code>colorAttachmentCount</code> is not <code>0</code> and there is an element of <code>pColorAttachments</code> with either its <code>resolveMode</code> member set to <code>VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID</code>, or its <code>imageView</code> member not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, and its <code>resolveMode</code> member not set to <code>VK_RESOLVE_MODE_NONE</code>, the <code>resolveImageView</code> member of that element of <code>pColorAttachments</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkRenderingInfo-pDepthAttachment-06547",
"text": "If <code>pDepthAttachment</code> is not <code>NULL</code> and <code>pDepthAttachment-&gt;imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pDepthAttachment-&gt;imageView</code> <strong class=\"purple\">must</strong> have been created with a format that includes a depth component",
"page": "vkspec"
@@ -8463,6 +8468,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkRenderingInfo-pDepthAttachment-09477",
+ "text": "If <code>pDepthAttachment</code> is not <code>NULL</code> and <code>pDepthAttachment-&gt;resolveMode</code> is not <code>VK_RESOLVE_MODE_NONE</code>, <code>pDepthAttachment-&gt;resolveImageView</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkRenderingInfo-pStencilAttachment-06548",
"text": "If <code>pStencilAttachment</code> is not <code>NULL</code> and <code>pStencilAttachment-&gt;imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pStencilAttachment-&gt;imageView</code> <strong class=\"purple\">must</strong> have been created with a format that includes a stencil aspect",
"page": "vkspec"
@@ -8473,6 +8483,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkRenderingInfo-pStencilAttachment-09478",
+ "text": "If <code>pStencilAttachment</code> is not <code>NULL</code> and <code>pStencilAttachment-&gt;resolveMode</code> is not <code>VK_RESOLVE_MODE_NONE</code>, <code>pStencilAttachment-&gt;resolveImageView</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkRenderingInfo-colorAttachmentCount-06090",
"text": "If <code>colorAttachmentCount</code> is not <code>0</code> and the <code>imageView</code> member of an element of <code>pColorAttachments</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>layout</code> member of that element of <code>pColorAttachments</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL</code>",
"page": "vkspec"
@@ -8718,6 +8733,46 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkRenderingInfo-colorAttachmentCount-09479",
+ "text": "If <code>colorAttachmentCount</code> is not <code>0</code> and the <code>imageView</code> member of an element of <code>pColorAttachments</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, that <code>imageView</code> <strong class=\"purple\">must</strong> have been created with the identity swizzle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkRenderingInfo-colorAttachmentCount-09480",
+ "text": "If <code>colorAttachmentCount</code> is not <code>0</code>, and there is an element of <code>pColorAttachments</code> with either its <code>resolveMode</code> member set to <code>VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID</code>, or its <code>imageView</code> member not set to <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> and its <code>resolveMode</code> member not set to <code>VK_RESOLVE_MODE_NONE</code>, the <code>resolveImageView</code> member of that element of <code>pColorAttachments</code> <strong class=\"purple\">must</strong> have been created with the identity swizzle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkRenderingInfo-pDepthAttachment-09481",
+ "text": "If <code>pDepthAttachment</code> is not <code>NULL</code> and <code>pDepthAttachment-&gt;imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pDepthAttachment-&gt;imageView</code> <strong class=\"purple\">must</strong> have been created with the identity swizzle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkRenderingInfo-pDepthAttachment-09482",
+ "text": "If <code>pDepthAttachment</code> is not <code>NULL</code>, <code>pDepthAttachment-&gt;imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, and <code>pDepthAttachment-&gt;resolveMode</code> is not <code>VK_RESOLVE_MODE_NONE</code>, <code>pDepthAttachment-&gt;resolveImageView</code> <strong class=\"purple\">must</strong> have been created with the identity swizzle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkRenderingInfo-pStencilAttachment-09483",
+ "text": "If <code>pStencilAttachment</code> is not <code>NULL</code> and <code>pStencilAttachment-&gt;imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pStencilAttachment-&gt;imageView</code> <strong class=\"purple\">must</strong> have been created with the identity swizzle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkRenderingInfo-pStencilAttachment-09484",
+ "text": "If <code>pStencilAttachment</code> is not <code>NULL</code>, <code>pStencilAttachment-&gt;imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, and <code>pStencilAttachment-&gt;resolveMode</code> is not <code>VK_RESOLVE_MODE_NONE</code>, <code>pStencilAttachment-&gt;resolveImageView</code> <strong class=\"purple\">must</strong> have been created with the identity swizzle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkRenderingInfo-imageView-09485",
+ "text": "If the <code>imageView</code> member of a <a href=\"#VkRenderingFragmentShadingRateAttachmentInfoKHR\">VkRenderingFragmentShadingRateAttachmentInfoKHR</a> structure included in the <code>pNext</code> chain is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, it <strong class=\"purple\">must</strong> have been created with the identity swizzle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkRenderingInfo-imageView-09486",
+ "text": "If the <code>imageView</code> member of a <a href=\"#VkRenderingFragmentDensityMapAttachmentInfoEXT\">VkRenderingFragmentDensityMapAttachmentInfoEXT</a> structure included in the <code>pNext</code> chain is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, it <strong class=\"purple\">must</strong> have been created with the identity swizzle",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkRenderingInfo-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDERING_INFO</code>",
"page": "vkspec"
@@ -9108,7 +9163,7 @@
},
{
"vuid": "VUID-VkRenderPassStripeBeginInfoARM-pStripeInfos-parameter",
- "text": "<code>pStripeInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stripeInfoCount</code> <a href=\"#VkRenderPassStripeInfoARM\">VkRenderPassStripeInfoARM</a> structures",
+ "text": "<code>pStripeInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stripeInfoCount</code> valid <a href=\"#VkRenderPassStripeInfoARM\">VkRenderPassStripeInfoARM</a> structures",
"page": "vkspec"
},
{
@@ -14292,6 +14347,11 @@
"VkComputePipelineCreateInfo": {
"core": [
{
+ "vuid": "VUID-VkComputePipelineCreateInfo-None-09497",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code>: must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkComputePipelineCreateInfo-flags-07984",
"text": "If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is -1, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid compute <code>VkPipeline</code> handle",
"page": "vkspec"
@@ -15012,6 +15072,11 @@
"VkGraphicsPipelineCreateInfo": {
"core": [
{
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-None-09497",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code>: must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-07984",
"text": "If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is -1, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid graphics <code>VkPipeline</code> handle",
"page": "vkspec"
@@ -15218,7 +15283,7 @@
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-09027",
- "text": "If <code>pMultisampleState</code> is not <code>NULL</code> is <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a> structure",
+ "text": "If <code>pMultisampleState</code> is not <code>NULL</code> it <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a> structure",
"page": "vkspec"
},
{
@@ -16172,18 +16237,13 @@
"page": "vkspec"
},
{
- "vuid": "VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-06629",
- "text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a valid pointer to a valid <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a> structure",
- "page": "vkspec"
- },
- {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-renderpass-06631",
- "text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> and <code>renderpass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>pMultisampleState</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
+ "text": "If <code>renderPass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <code><a href=\"#VK_EXT_extended_dynamic_state3\">VK_EXT_extended_dynamic_state3</a></code> extension is not enabled or any of the <code>VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT</code>, <code>VK_DYNAMIC_STATE_SAMPLE_MASK_EXT</code>, or <code>VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT</code> dynamic states is not set, or <a href=\"#features-alphaToOne\">alphaToOne</a> is enabled on the device and <code>VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT</code> is not set, then <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a> structure",
"page": "vkspec"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-Input-06632",
- "text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> with a fragment shader that either enables <a href=\"#primsrast-sampleshading\">sample shading</a> or decorates any variable in the <code>Input</code> storage class with <code>Sample</code>, then <code>pMultisampleState</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
+ "text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> with a fragment shader that either enables <a href=\"#primsrast-sampleshading\">sample shading</a> or decorates any variable in the <code>Input</code> storage class with <code>Sample</code>, and the <code><a href=\"#VK_EXT_extended_dynamic_state3\">VK_EXT_extended_dynamic_state3</a></code> extension is not enabled or any of the <code>VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT</code>, <code>VK_DYNAMIC_STATE_SAMPLE_MASK_EXT</code>, or <code>VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT</code> dynamic states is not set, or <a href=\"#features-alphaToOne\">alphaToOne</a> is enabled on the device and <code>VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT</code> is not set, then <code>pMultisampleState</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineMultisampleStateCreateInfo\">VkPipelineMultisampleStateCreateInfo</a> structure",
"page": "vkspec"
},
{
@@ -16637,11 +16697,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-parameter",
- "text": "<code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
- "page": "vkspec"
- },
- {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-parameter",
"text": "If <code>pDynamicState</code> is not <code>NULL</code>, <code>pDynamicState</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineDynamicStateCreateInfo\">VkPipelineDynamicStateCreateInfo</a> structure",
"page": "vkspec"
@@ -16983,6 +17038,11 @@
"VkRayTracingPipelineCreateInfoNV": {
"core": [
{
+ "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-None-09497",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code>: must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-07984",
"text": "If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is -1, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid ray tracing <code>VkPipeline</code> handle",
"page": "vkspec"
@@ -17172,6 +17232,11 @@
"VkRayTracingPipelineCreateInfoKHR": {
"core": [
{
+ "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-None-09497",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code>: must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-07984",
"text": "If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is -1, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid ray tracing <code>VkPipeline</code> handle",
"page": "vkspec"
@@ -20950,12 +21015,17 @@
},
{
"vuid": "VUID-VkBufferCreateInfo-usage-04813",
- "text": "If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code> or <code>VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure with a <code>videoCodecOperation</code> member specifying a decode operation",
+ "text": "If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code> or <code>VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, and <code>flags</code> does not include <code>VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure with a <code>videoCodecOperation</code> member specifying a decode operation",
"page": "vkspec"
},
{
"vuid": "VUID-VkBufferCreateInfo-usage-04814",
- "text": "If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code> or <code>VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure with a <code>videoCodecOperation</code> member specifying an encode operation",
+ "text": "If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code> or <code>VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, and <code>flags</code> does not include <code>VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure with a <code>videoCodecOperation</code> member specifying an encode operation",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBufferCreateInfo-flags-08325",
+ "text": "If <code>flags</code> includes <code>VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code>, then <a href=\"#features-videoMaintenance1\"><code>videoMaintenance1</code></a> <strong class=\"purple\">must</strong> be enabled",
"page": "vkspec"
},
{
@@ -21903,12 +21973,27 @@
},
{
"vuid": "VUID-VkImageCreateInfo-usage-04815",
- "text": "If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, or <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure with a <code>videoCodecOperation</code> member specifying a decode operation",
+ "text": "If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, or <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, and <code>flags</code> does not include <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure with a <code>videoCodecOperation</code> member specifying a decode operation",
"page": "vkspec"
},
{
"vuid": "VUID-VkImageCreateInfo-usage-04816",
- "text": "If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, or <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure with a <code>videoCodecOperation</code> member specifying an encode operation",
+ "text": "If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, or <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, and <code>flags</code> does not include <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure with a <code>videoCodecOperation</code> member specifying an encode operation",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageCreateInfo-flags-08328",
+ "text": "If <code>flags</code> includes <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code>, then <a href=\"#features-videoMaintenance1\"><code>videoMaintenance1</code></a> <strong class=\"purple\">must</strong> be enabled",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageCreateInfo-flags-08329",
+ "text": "If <code>flags</code> includes <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code> and <code>usage</code> does not include <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, then <code>usage</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageCreateInfo-flags-08331",
+ "text": "If <code>flags</code> includes <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code>, then <code>usage</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>",
"page": "vkspec"
},
{
@@ -22776,6 +22861,36 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkImageViewCreateInfo-image-08333",
+ "text": "If <code>image</code> was created with <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code> and <code>usage</code> contains <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-image-08334",
+ "text": "If <code>image</code> was created with <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code> and <code>usage</code> contains <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-image-08335",
+ "text": "If <code>image</code> was created with <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code>, then <code>usage</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-image-08336",
+ "text": "If <code>image</code> was created with <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code> and <code>usage</code> contains <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-image-08337",
+ "text": "If <code>image</code> was created with <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code> and <code>usage</code> contains <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-image-08338",
+ "text": "If <code>image</code> was created with <code>VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR</code>, then <code>usage</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkImageViewCreateInfo-usage-08932",
"text": "If <code>usage</code> contains <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>, and any of the following is true:<div class=\"ulist\">\n<ul>\n<li>\n<p>the <a href=\"#features-externalFormatResolve\"><code>externalFormatResolve</code></a>\nfeature is not enabled</p>\n</li>\n<li>\n<p>the <a href=\"#limits-nullColorAttachmentWithExternalFormatResolve\"><code>nullColorAttachmentWithExternalFormatResolve</code></a> property is\n<code>VK_FALSE</code></p>\n</li>\n<li>\n<p><code>image</code> was created with an\n<a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>::<code>externalFormat</code> value of 0</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format\n features</a> <strong class=\"purple\">must</strong> contain at least one of\n <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code> or\n <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>\n or <code>VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV</code></p>\n</div>",
"page": "vkspec"
@@ -22827,7 +22942,12 @@
},
{
"vuid": "VUID-VkImageViewCreateInfo-image-07072",
- "text": "If <code>image</code> was created with the <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code> flag and <code>format</code> is a non-compressed format, the <code>levelCount</code> and <code>layerCount</code> members of <code>subresourceRange</code> <strong class=\"purple\">must</strong> both be <code>1</code>",
+ "text": "If <code>image</code> was created with the <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code> flag and <code>format</code> is a non-compressed format, the <code>levelCount</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> be <code>1</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-image-09487",
+ "text": "If <code>image</code> was created with the <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code> flag, the <code>VkPhysicalDeviceMaintenance6PropertiesKHR</code>::<code>blockTexelViewCompatibleMultipleLayers</code> property is not set to <code>VK_TRUE</code>, and <code>format</code> is a non-compressed format, then the <code>layerCount</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> be <code>1</code>",
"page": "vkspec"
},
{
@@ -23694,6 +23814,21 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-09488",
+ "text": "If <code>deviceAddress</code> is not zero, it <strong class=\"purple\">must</strong> have been retrieved from an identically created acceleration structure, except for <code>buffer</code> and <code>deviceAddress</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-09489",
+ "text": "If <code>deviceAddress</code> is not zero, <code>buffer</code> <strong class=\"purple\">must</strong> have been created identically to the <code>buffer</code> used to create the acceleration structure from which <code>deviceAddress</code> was retrieved, except for <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>::<code>opaqueCaptureAddress</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-09490",
+ "text": "If <code>deviceAddress</code> is not zero, <code>buffer</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>::<code>opaqueCaptureAddress</code> that was retrieved from <a href=\"#vkGetBufferOpaqueCaptureAddress\">vkGetBufferOpaqueCaptureAddress</a> for the <code>buffer</code> that was used to create the acceleration structure from which <code>deviceAddress</code> was retrieved",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkAccelerationStructureCreateInfoKHR-createFlags-03613",
"text": "If <code>createFlags</code> includes <code>VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR</code>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>::<code>accelerationStructureCaptureReplay</code> <strong class=\"purple\">must</strong> be <code>VK_TRUE</code>",
"page": "vkspec"
@@ -25113,7 +25248,7 @@
},
{
"vuid": "VUID-VkBindBufferMemoryInfo-pNext-pNext",
- "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkBindBufferMemoryDeviceGroupInfo\">VkBindBufferMemoryDeviceGroupInfo</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=\"#VkBindBufferMemoryDeviceGroupInfo\">VkBindBufferMemoryDeviceGroupInfo</a> or <a href=\"#VkBindMemoryStatusKHR\">VkBindMemoryStatusKHR</a>",
"page": "vkspec"
},
{
@@ -25162,6 +25297,20 @@
}
]
},
+ "VkBindMemoryStatusKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkBindMemoryStatusKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindMemoryStatusKHR-pResult-parameter",
+ "text": "<code>pResult</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkResult\">VkResult</a> value",
+ "page": "vkspec"
+ }
+ ]
+ },
"vkBindImageMemory": {
"core": [
{
@@ -25479,7 +25628,7 @@
},
{
"vuid": "VUID-VkBindImageMemoryInfo-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=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>, <a href=\"#VkBindImageMemorySwapchainInfoKHR\">VkBindImageMemorySwapchainInfoKHR</a>, or <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</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=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>, <a href=\"#VkBindImageMemorySwapchainInfoKHR\">VkBindImageMemorySwapchainInfoKHR</a>, <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a>, or <a href=\"#VkBindMemoryStatusKHR\">VkBindMemoryStatusKHR</a>",
"page": "vkspec"
},
{
@@ -26693,7 +26842,7 @@
"core": [
{
"vuid": "VUID-VkDescriptorSetLayoutCreateInfo-binding-00279",
- "text": "The <a href=\"#VkDescriptorSetLayoutBinding\">VkDescriptorSetLayoutBinding</a>::<code>binding</code> members of the elements of the <code>pBindings</code> array <strong class=\"purple\">must</strong> each have different values",
+ "text": "If the <a href=\"#features-perStageDescriptorSet\"><code>perStageDescriptorSet</code></a> feature is not enabled, or <code>flags</code> does not contain <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV</code>, then the <a href=\"#VkDescriptorSetLayoutBinding\">VkDescriptorSetLayoutBinding</a>::<code>binding</code> members of the elements of the <code>pBindings</code> array <strong class=\"purple\">must</strong> each have different values",
"page": "vkspec"
},
{
@@ -26777,6 +26926,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-09463",
+ "text": "If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV</code>, then <a href=\"#features-perStageDescriptorSet\"><code>perStageDescriptorSet</code></a> <strong class=\"purple\">must</strong> be enabled",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-09464",
+ "text": "If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV</code>, then there <strong class=\"purple\">must</strong> not be any two elements of the <code>pBindings</code> array with the same <a href=\"#VkDescriptorSetLayoutBinding\">VkDescriptorSetLayoutBinding</a>::<code>binding</code> value and their <a href=\"#VkDescriptorSetLayoutBinding\">VkDescriptorSetLayoutBinding</a>::<code>stageFlags</code> containing the same bit",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkDescriptorSetLayoutCreateInfo-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO</code>",
"page": "vkspec"
@@ -26899,8 +27058,8 @@
"page": "vkspec"
},
{
- "vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorCount-00283",
- "text": "If <code>descriptorCount</code> is not <code>0</code>, <code>stageFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkShaderStageFlagBits\">VkShaderStageFlagBits</a> values",
+ "vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorCount-09465",
+ "text": "If <code>descriptorCount</code> is not <code>0</code>, <code>stageFlags</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_STAGE_ALL</code> or a valid combination of other <a href=\"#VkShaderStageFlagBits\">VkShaderStageFlagBits</a> values",
"page": "vkspec"
},
{
@@ -26919,6 +27078,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkDescriptorSetLayoutBinding-flags-09466",
+ "text": "If <a href=\"#VkDescriptorSetLayoutCreateInfo\">VkDescriptorSetLayoutCreateInfo</a>::<code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV</code>, and <code>descriptorCount</code> is not <code>0</code>, then <code>stageFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <code>VK_SHADER_STAGE_VERTEX_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT</code>, <code>VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT</code>, <code>VK_SHADER_STAGE_GEOMETRY_BIT</code>, <code>VK_SHADER_STAGE_FRAGMENT_BIT</code> and <code>VK_SHADER_STAGE_COMPUTE_BIT</code> values",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorType-parameter",
"text": "<code>descriptorType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorType\">VkDescriptorType</a> value",
"page": "vkspec"
@@ -27362,11 +27526,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-VkPipelineLayoutCreateInfo-pNext-pNext",
- "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>",
- "page": "vkspec"
- },
- {
"vuid": "VUID-VkPipelineLayoutCreateInfo-flags-parameter",
"text": "<code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineLayoutCreateFlagBits\">VkPipelineLayoutCreateFlagBits</a> values",
"page": "vkspec"
@@ -27664,7 +27823,7 @@
},
{
"vuid": "VUID-VkDescriptorSetAllocateInfo-pSetLayouts-09380",
- "text": "If <code>pSetLayouts</code>[i] was created with an element of <code>pBindingFlags</code> that includes <code>VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT</code>, and <a href=\"#VkDescriptorSetVariableDescriptorCountAllocateInfo\">VkDescriptorSetVariableDescriptorCountAllocateInfo</a> is included in the <code>pNext</code> chain, and <code>VkDescriptorSetVariableDescriptorCountAllocateInfo</code>::<code>descriptorSetCount</code> is not zero, then <a href=\"#VkDescriptorSetVariableDescriptorCountAllocateInfo\">VkDescriptorSetVariableDescriptorCountAllocateInfo</a>::pDescriptorCounts[i] <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkDescriptorSetLayoutBinding\">VkDescriptorSetLayoutBinding</a>::descriptorCount for the corresponding binding used to create <code>pSetLayouts</code>[i]",
+ "text": "If <code>pSetLayouts</code>[i] was created with an element of <code>pBindingFlags</code> that includes <code>VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT</code>, and <a href=\"#VkDescriptorSetVariableDescriptorCountAllocateInfo\">VkDescriptorSetVariableDescriptorCountAllocateInfo</a> is included in the <code>pNext</code> chain, and <code>VkDescriptorSetVariableDescriptorCountAllocateInfo</code>::<code>descriptorSetCount</code> is not zero, then <a href=\"#VkDescriptorSetVariableDescriptorCountAllocateInfo\">VkDescriptorSetVariableDescriptorCountAllocateInfo</a>::<code>pDescriptorCounts</code>[i] <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkDescriptorSetLayoutBinding\">VkDescriptorSetLayoutBinding</a>::<code>descriptorCount</code> for the corresponding binding used to create <code>pSetLayouts</code>[i]",
"page": "vkspec"
},
{
@@ -28651,11 +28810,6 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdBindDescriptorSets-pipelineBindPoint-00361",
- "text": "<code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdBindDescriptorSets-pDynamicOffsets-01971",
"text": "Each element of <code>pDynamicOffsets</code> which corresponds to a descriptor binding with type <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceLimits</code>::<code>minUniformBufferOffsetAlignment</code>",
"page": "vkspec"
@@ -28681,6 +28835,21 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdBindDescriptorSets-pDescriptorSets-06563",
+ "text": "If <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> is not enabled, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSet\">VkDescriptorSet</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets-pDescriptorSets-08010",
+ "text": "Each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> have been allocated with a <code>VkDescriptorSetLayout</code> which was not created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets-pipelineBindPoint-00361",
+ "text": "<code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdBindDescriptorSets-graphicsPipelineLibrary-06754",
"text": "If <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> is not enabled, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSet\">VkDescriptorSet</a>",
"page": "vkspec"
@@ -28737,14 +28906,157 @@
}
]
},
- "vkCmdPushDescriptorSetKHR": {
+ "vkCmdBindDescriptorSets2KHR": {
"core": [
{
- "vuid": "VUID-vkCmdPushDescriptorSetKHR-pipelineBindPoint-00363",
- "text": "<code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "vuid": "VUID-vkCmdBindDescriptorSets2KHR-pBindDescriptorSetsInfo-09467",
+ "text": "Each bit in <code>pBindDescriptorSetsInfo-&gt;stageFlags</code> <strong class=\"purple\">must</strong> be a stage supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets2KHR-commandBuffer-parameter",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets2KHR-pBindDescriptorSetsInfo-parameter",
+ "text": "<code>pBindDescriptorSetsInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkBindDescriptorSetsInfoKHR\">VkBindDescriptorSetsInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets2KHR-commandBuffer-recording",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets2KHR-commandBuffer-cmdpool",
+ "text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets2KHR-videocoding",
+ "text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkBindDescriptorSetsInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-00358",
+ "text": "Each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> have been allocated with a <code>VkDescriptorSetLayout</code> that matches (is the same as, or identically defined as) the <code>VkDescriptorSetLayout</code> at set <em>n</em> in <code>layout</code>, where <em>n</em> is the sum of <code>firstSet</code> and the index into <code>pDescriptorSets</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-dynamicOffsetCount-00359",
+ "text": "<code>dynamicOffsetCount</code> <strong class=\"purple\">must</strong> be equal to the total number of dynamic descriptors in <code>pDescriptorSets</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-firstSet-00360",
+ "text": "The sum of <code>firstSet</code> and <code>descriptorSetCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>setLayoutCount</code> provided when <code>layout</code> was created",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pDynamicOffsets-01971",
+ "text": "Each element of <code>pDynamicOffsets</code> which corresponds to a descriptor binding with type <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceLimits</code>::<code>minUniformBufferOffsetAlignment</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pDynamicOffsets-01972",
+ "text": "Each element of <code>pDynamicOffsets</code> which corresponds to a descriptor binding with type <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceLimits</code>::<code>minStorageBufferOffsetAlignment</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-01979",
+ "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",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-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",
"page": "vkspec"
},
{
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-04616",
+ "text": "Each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> not have been allocated from a <code>VkDescriptorPool</code> with the <code>VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT</code> flag set",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-06563",
+ "text": "If <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> is not enabled, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSet\">VkDescriptorSet</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-08010",
+ "text": "Each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> have been allocated with a <code>VkDescriptorSetLayout</code> which was not created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-None-09495",
+ "text": "If the <a href=\"#features-dynamicPipelineLayout\"><code>dynamicPipelineLayout</code></a> feature is not enabled, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-layout-09496",
+ "text": "If <code>layout</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pNext-pNext",
+ "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-sType-unique",
+ "text": "The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-stageFlags-parameter",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkShaderStageFlagBits\">VkShaderStageFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-stageFlags-requiredbitmask",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-layout-parameter",
+ "text": "If <code>layout</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-parameter",
+ "text": "<code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>descriptorSetCount</code> valid <a href=\"#VkDescriptorSet\">VkDescriptorSet</a> handles",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-pDynamicOffsets-parameter",
+ "text": "If <code>dynamicOffsetCount</code> is not <code>0</code>, and <code>pDynamicOffsets</code> is not <code>NULL</code>, <code>pDynamicOffsets</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dynamicOffsetCount</code> or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> <code>uint32_t</code> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-descriptorSetCount-arraylength",
+ "text": "<code>descriptorSetCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorSetsInfoKHR-commonparent",
+ "text": "Both of <code>layout</code>, and the elements of <code>pDescriptorSets</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "vkCmdPushDescriptorSetKHR": {
+ "core": [
+ {
"vuid": "VUID-vkCmdPushDescriptorSetKHR-set-00364",
"text": "<code>set</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>setLayoutCount</code> provided when <code>layout</code> was created",
"page": "vkspec"
@@ -28756,7 +29068,12 @@
},
{
"vuid": "VUID-vkCmdPushDescriptorSetKHR-pDescriptorWrites-06494",
- "text": "For each element <span class=\"eq\">i</span> where <code>pDescriptorWrites</code>[i].<code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code>, <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, or <code>VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT</code>, <code>pDescriptorWrites</code>[i].<code>pImageInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pDescriptorWrites</code>[i].<code>descriptorCount</code> valid <code>VkDescriptorImageInfo</code> structures",
+ "text": "For each element <span class=\"eq\">i</span> where <code>pDescriptorWrites</code>[i].<code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLER</code>, <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code>, <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, or <code>VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT</code>, <code>pDescriptorWrites</code>[i].<code>pImageInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pDescriptorWrites</code>[i].<code>descriptorCount</code> valid <code>VkDescriptorImageInfo</code> structures",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSetKHR-pipelineBindPoint-00363",
+ "text": "<code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
"page": "vkspec"
},
{
@@ -28806,6 +29123,109 @@
}
]
},
+ "vkCmdPushDescriptorSet2KHR": {
+ "core": [
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSet2KHR-pPushDescriptorSetInfo-09468",
+ "text": "Each bit in <code>pPushDescriptorSetInfo-&gt;stageFlags</code> <strong class=\"purple\">must</strong> be a stage supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSet2KHR-commandBuffer-parameter",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSet2KHR-pPushDescriptorSetInfo-parameter",
+ "text": "<code>pPushDescriptorSetInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPushDescriptorSetInfoKHR\">VkPushDescriptorSetInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSet2KHR-commandBuffer-recording",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSet2KHR-commandBuffer-cmdpool",
+ "text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSet2KHR-videocoding",
+ "text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkPushDescriptorSetInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-set-00364",
+ "text": "<code>set</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>setLayoutCount</code> provided when <code>layout</code> was created",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-set-00365",
+ "text": "<code>set</code> <strong class=\"purple\">must</strong> be the unique set number in the pipeline layout that uses a descriptor set layout that was created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-pDescriptorWrites-06494",
+ "text": "For each element <span class=\"eq\">i</span> where <code>pDescriptorWrites</code>[i].<code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLER</code>, <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code>, <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, or <code>VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT</code>, <code>pDescriptorWrites</code>[i].<code>pImageInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pDescriptorWrites</code>[i].<code>descriptorCount</code> valid <code>VkDescriptorImageInfo</code> structures",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-None-09495",
+ "text": "If the <a href=\"#features-dynamicPipelineLayout\"><code>dynamicPipelineLayout</code></a> feature is not enabled, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-layout-09496",
+ "text": "If <code>layout</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-pNext-pNext",
+ "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-sType-unique",
+ "text": "The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-stageFlags-parameter",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkShaderStageFlagBits\">VkShaderStageFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-stageFlags-requiredbitmask",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-layout-parameter",
+ "text": "If <code>layout</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-pDescriptorWrites-parameter",
+ "text": "<code>pDescriptorWrites</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>descriptorWriteCount</code> valid <a href=\"#VkWriteDescriptorSet\">VkWriteDescriptorSet</a> structures",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetInfoKHR-descriptorWriteCount-arraylength",
+ "text": "<code>descriptorWriteCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
"vkCmdPushDescriptorSetWithTemplateKHR": {
"core": [
{
@@ -28880,6 +29300,119 @@
}
]
},
+ "vkCmdPushDescriptorSetWithTemplate2KHR": {
+ "core": [
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSetWithTemplate2KHR-commandBuffer-parameter",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSetWithTemplate2KHR-pPushDescriptorSetWithTemplateInfo-parameter",
+ "text": "<code>pPushDescriptorSetWithTemplateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPushDescriptorSetWithTemplateInfoKHR\">VkPushDescriptorSetWithTemplateInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSetWithTemplate2KHR-commandBuffer-recording",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSetWithTemplate2KHR-commandBuffer-cmdpool",
+ "text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushDescriptorSetWithTemplate2KHR-videocoding",
+ "text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkPushDescriptorSetWithTemplateInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-commandBuffer-00366",
+ "text": "The <code>pipelineBindPoint</code> specified during the creation of the descriptor update template <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-pData-01686",
+ "text": "<code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to a memory containing one or more valid instances of <a href=\"#VkDescriptorImageInfo\">VkDescriptorImageInfo</a>, <a href=\"#VkDescriptorBufferInfo\">VkDescriptorBufferInfo</a>, or <a href=\"#VkBufferView\">VkBufferView</a> in a layout defined by <code>descriptorUpdateTemplate</code> when it was created with <a href=\"#vkCreateDescriptorUpdateTemplate\">vkCreateDescriptorUpdateTemplate</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-layout-07993",
+ "text": "<code>layout</code> <strong class=\"purple\">must</strong> be compatible with the layout used to create <code>descriptorUpdateTemplate</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-descriptorUpdateTemplate-07994",
+ "text": "<code>descriptorUpdateTemplate</code> <strong class=\"purple\">must</strong> have been created with a <code>templateType</code> of <code>VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-set-07995",
+ "text": "<code>set</code> <strong class=\"purple\">must</strong> be the same value used to create <code>descriptorUpdateTemplate</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-set-07304",
+ "text": "<code>set</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>setLayoutCount</code> provided when <code>layout</code> was created",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-set-07305",
+ "text": "<code>set</code> <strong class=\"purple\">must</strong> be the unique set number in the pipeline layout that uses a descriptor set layout that was created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-None-09495",
+ "text": "If the <a href=\"#features-dynamicPipelineLayout\"><code>dynamicPipelineLayout</code></a> feature is not enabled, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-layout-09496",
+ "text": "If <code>layout</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-pNext-pNext",
+ "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-sType-unique",
+ "text": "The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-descriptorUpdateTemplate-parameter",
+ "text": "<code>descriptorUpdateTemplate</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorUpdateTemplate\">VkDescriptorUpdateTemplate</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-layout-parameter",
+ "text": "If <code>layout</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-pData-parameter",
+ "text": "<code>pData</code> <strong class=\"purple\">must</strong> be a pointer value",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushDescriptorSetWithTemplateInfoKHR-commonparent",
+ "text": "Both of <code>descriptorUpdateTemplate</code>, and <code>layout</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>",
+ "page": "vkspec"
+ }
+ ]
+ },
"vkCmdPushConstants": {
"core": [
{
@@ -28964,6 +29497,119 @@
}
]
},
+ "vkCmdPushConstants2KHR": {
+ "core": [
+ {
+ "vuid": "VUID-vkCmdPushConstants2KHR-commandBuffer-parameter",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushConstants2KHR-pPushConstantsInfo-parameter",
+ "text": "<code>pPushConstantsInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPushConstantsInfoKHR\">VkPushConstantsInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushConstants2KHR-commandBuffer-recording",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushConstants2KHR-commandBuffer-cmdpool",
+ "text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdPushConstants2KHR-videocoding",
+ "text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkPushConstantsInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-offset-01795",
+ "text": "For each byte in the range specified by <code>offset</code> and <code>size</code> and for each shader stage in <code>stageFlags</code>, there <strong class=\"purple\">must</strong> be a push constant range in <code>layout</code> that includes that byte and that stage",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-offset-01796",
+ "text": "For each byte in the range specified by <code>offset</code> and <code>size</code> and for each push constant range that overlaps that byte, <code>stageFlags</code> <strong class=\"purple\">must</strong> include all stages in that push constant range&#8217;s <a href=\"#VkPushConstantRange\">VkPushConstantRange</a>::<code>stageFlags</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-offset-00368",
+ "text": "<code>offset</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-size-00369",
+ "text": "<code>size</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-offset-00370",
+ "text": "<code>offset</code> <strong class=\"purple\">must</strong> be less than <code>VkPhysicalDeviceLimits</code>::<code>maxPushConstantsSize</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-size-00371",
+ "text": "<code>size</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxPushConstantsSize</code> minus <code>offset</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-None-09495",
+ "text": "If the <a href=\"#features-dynamicPipelineLayout\"><code>dynamicPipelineLayout</code></a> feature is not enabled, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-layout-09496",
+ "text": "If <code>layout</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-pNext-pNext",
+ "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-sType-unique",
+ "text": "The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-layout-parameter",
+ "text": "If <code>layout</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-stageFlags-parameter",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkShaderStageFlagBits\">VkShaderStageFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-stageFlags-requiredbitmask",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-pValues-parameter",
+ "text": "<code>pValues</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>size</code> bytes",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPushConstantsInfoKHR-size-arraylength",
+ "text": "<code>size</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
"vkGetBufferDeviceAddress": {
"core": [
{
@@ -29118,7 +29764,12 @@
},
{
"vuid": "VUID-vkGetDescriptorEXT-dataSize-08125",
- "text": "<code>dataSize</code> <strong class=\"purple\">must</strong> equal the size of a descriptor of type <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>::<code>type</code> determined by the value in <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a> , or determined by <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>::<code>combinedImageSamplerDensityMapDescriptorSize</code> if <code>pDescriptorInfo</code> specifies a <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> whose <a href=\"#VkSampler\">VkSampler</a> was created with <code>VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT</code> set",
+ "text": "If <code>descriptorType</code> is not <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> or <code>pImageInfo</code> has a <code>imageView</code> member that was not created with a <code>VkSamplerYcbcrConversionInfo</code> structure in its <code>pNext</code> chain, <code>dataSize</code> <strong class=\"purple\">must</strong> equal the size of a descriptor of type <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>::<code>type</code> determined by the value in <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a> , or determined by <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>::<code>combinedImageSamplerDensityMapDescriptorSize</code> if <code>pDescriptorInfo</code> specifies a <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> whose <a href=\"#VkSampler\">VkSampler</a> was created with <code>VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT</code> set",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorEXT-descriptorType-09469",
+ "text": "If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> and <code>pImageInfo</code> has a <code>imageView</code> member that was created with a <code>VkSamplerYcbcrConversionInfo</code> structure in its <code>pNext</code> chain, <code>dataSize</code> <strong class=\"purple\">must</strong> equal the size of <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>combinedImageSamplerDescriptorSize</code> times <a href=\"#VkSamplerYcbcrConversionImageFormatProperties\">VkSamplerYcbcrConversionImageFormatProperties</a>::<code>combinedImageSamplerDescriptorCount</code>",
"page": "vkspec"
},
{
@@ -29555,11 +30206,6 @@
"vkCmdSetDescriptorBufferOffsetsEXT": {
"core": [
{
- "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-None-08060",
- "text": "The <a href=\"#features-descriptorBuffer\"><code>descriptorBuffer</code></a> feature <strong class=\"purple\">must</strong> be enabled",
- "page": "vkspec"
- },
- {
"vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08061",
"text": "The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be aligned to <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>descriptorBufferOffsetAlignment</code>",
"page": "vkspec"
@@ -29595,13 +30241,18 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pipelineBindPoint-08067",
- "text": "<code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-firstSet-09006",
+ "text": "The <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> for each set from <code>firstSet</code> to <span class=\"eq\"><code>firstSet</code> + <code>setCount</code></span> when <code>layout</code> was created <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code> bit set",
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-firstSet-09006",
- "text": "The <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> for each set from <code>firstSet</code> to <span class=\"eq\"><code>firstSet</code> + <code>setCount</code></span> when <code>layout</code> was created <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code> bit set",
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-None-08060",
+ "text": "The <a href=\"#features-descriptorBuffer\"><code>descriptorBuffer</code></a> feature <strong class=\"purple\">must</strong> be enabled",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pipelineBindPoint-08067",
+ "text": "<code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
"page": "vkspec"
},
{
@@ -29656,19 +30307,147 @@
}
]
},
- "vkCmdBindDescriptorBufferEmbeddedSamplersEXT": {
+ "vkCmdSetDescriptorBufferOffsets2EXT": {
"core": [
{
- "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-None-08068",
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsets2EXT-descriptorBuffer-09470",
"text": "The <a href=\"#features-descriptorBuffer\"><code>descriptorBuffer</code></a> feature <strong class=\"purple\">must</strong> be enabled",
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-pipelineBindPoint-08069",
- "text": "<code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsets2EXT-pSetDescriptorBufferOffsetsInfo-09471",
+ "text": "Each bit in <code>pSetDescriptorBufferOffsetsInfo-&gt;stageFlags</code> <strong class=\"purple\">must</strong> be a stage supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsets2EXT-commandBuffer-parameter",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsets2EXT-pSetDescriptorBufferOffsetsInfo-parameter",
+ "text": "<code>pSetDescriptorBufferOffsetsInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkSetDescriptorBufferOffsetsInfoEXT\">VkSetDescriptorBufferOffsetsInfoEXT</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsets2EXT-commandBuffer-recording",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsets2EXT-commandBuffer-cmdpool",
+ "text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsets2EXT-videocoding",
+ "text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkSetDescriptorBufferOffsetsInfoEXT": {
+ "core": [
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-08061",
+ "text": "The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be aligned to <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>descriptorBufferOffsetAlignment</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-08063",
+ "text": "The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be small enough such that any descriptor binding referenced by <code>layout</code> without the <code>VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT</code> flag computes a valid address inside the underlying <a href=\"#VkBuffer\">VkBuffer</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-08126",
+ "text": "The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be small enough such that any location accessed by a shader as a sampler descriptor <strong class=\"purple\">must</strong> be within <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>maxSamplerDescriptorBufferRange</code> of the sampler descriptor buffer binding",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-08127",
+ "text": "The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be small enough such that any location accessed by a shader as a resource descriptor <strong class=\"purple\">must</strong> be within <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>maxResourceDescriptorBufferRange</code> of the resource descriptor buffer binding",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-08064",
+ "text": "Each element of <code>pBufferIndices</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>maxDescriptorBufferBindings</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-08065",
+ "text": "Each element of <code>pBufferIndices</code> <strong class=\"purple\">must</strong> reference a valid descriptor buffer binding set by a previous call to <a href=\"#vkCmdBindDescriptorBuffersEXT\">vkCmdBindDescriptorBuffersEXT</a> in <code>commandBuffer</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-firstSet-08066",
+ "text": "The sum of <code>firstSet</code> and <code>setCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>setLayoutCount</code> provided when <code>layout</code> was created",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-firstSet-09006",
+ "text": "The <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> for each set from <code>firstSet</code> to <span class=\"eq\"><code>firstSet</code> + <code>setCount</code></span> when <code>layout</code> was created <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code> bit set",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-None-09495",
+ "text": "If the <a href=\"#features-dynamicPipelineLayout\"><code>dynamicPipelineLayout</code></a> feature is not enabled, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-layout-09496",
+ "text": "If <code>layout</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT</code>",
"page": "vkspec"
},
{
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-pNext-pNext",
+ "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-sType-unique",
+ "text": "The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-stageFlags-parameter",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkShaderStageFlagBits\">VkShaderStageFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-stageFlags-requiredbitmask",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-layout-parameter",
+ "text": "If <code>layout</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-parameter",
+ "text": "<code>pBufferIndices</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>setCount</code> <code>uint32_t</code> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-parameter",
+ "text": "<code>pOffsets</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>setCount</code> <a href=\"#VkDeviceSize\">VkDeviceSize</a> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetDescriptorBufferOffsetsInfoEXT-setCount-arraylength",
+ "text": "<code>setCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "vkCmdBindDescriptorBufferEmbeddedSamplersEXT": {
+ "core": [
+ {
"vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-set-08070",
"text": "The <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> at index <code>set</code> when <code>layout</code> was created <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT</code> bit set",
"page": "vkspec"
@@ -29679,6 +30458,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-None-08068",
+ "text": "The <a href=\"#features-descriptorBuffer\"><code>descriptorBuffer</code></a> feature <strong class=\"purple\">must</strong> be enabled",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-pipelineBindPoint-08069",
+ "text": "<code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-parameter",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
"page": "vkspec"
@@ -29715,6 +30504,99 @@
}
]
},
+ "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT": {
+ "core": [
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-descriptorBuffer-09472",
+ "text": "The <a href=\"#features-descriptorBuffer\"><code>descriptorBuffer</code></a> feature <strong class=\"purple\">must</strong> be enabled",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-pBindDescriptorBufferEmbeddedSamplersInfo-09473",
+ "text": "Each bit in <code>pBindDescriptorBufferEmbeddedSamplersInfo-&gt;stageFlags</code> <strong class=\"purple\">must</strong> be a stage supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-commandBuffer-parameter",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-pBindDescriptorBufferEmbeddedSamplersInfo-parameter",
+ "text": "<code>pBindDescriptorBufferEmbeddedSamplersInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkBindDescriptorBufferEmbeddedSamplersInfoEXT\">VkBindDescriptorBufferEmbeddedSamplersInfoEXT</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-commandBuffer-recording",
+ "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-commandBuffer-cmdpool",
+ "text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-videocoding",
+ "text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkBindDescriptorBufferEmbeddedSamplersInfoEXT": {
+ "core": [
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-set-08070",
+ "text": "The <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> at index <code>set</code> when <code>layout</code> was created <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT</code> bit set",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-set-08071",
+ "text": "<code>set</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>setLayoutCount</code> provided when <code>layout</code> was created",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-None-09495",
+ "text": "If the <a href=\"#features-dynamicPipelineLayout\"><code>dynamicPipelineLayout</code></a> feature is not enabled, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-layout-09496",
+ "text": "If <code>layout</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-pNext-pNext",
+ "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-sType-unique",
+ "text": "The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-stageFlags-parameter",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkShaderStageFlagBits\">VkShaderStageFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-stageFlags-requiredbitmask",
+ "text": "<code>stageFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-layout-parameter",
+ "text": "If <code>layout</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle",
+ "page": "vkspec"
+ }
+ ]
+ },
"vkGetBufferOpaqueCaptureDescriptorDataEXT": {
"core": [
{
@@ -32389,7 +33271,7 @@
},
{
"vuid": "VUID-VkQueryPoolCreateInfo-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkQueryPoolPerformanceCreateInfoKHR\">VkQueryPoolPerformanceCreateInfoKHR</a>, <a href=\"#VkQueryPoolPerformanceQueryCreateInfoINTEL\">VkQueryPoolPerformanceQueryCreateInfoINTEL</a>, <a href=\"#VkQueryPoolVideoEncodeFeedbackCreateInfoKHR\">VkQueryPoolVideoEncodeFeedbackCreateInfoKHR</a>, <a href=\"#VkVideoDecodeH264ProfileInfoKHR\">VkVideoDecodeH264ProfileInfoKHR</a>, <a href=\"#VkVideoDecodeH265ProfileInfoKHR\">VkVideoDecodeH265ProfileInfoKHR</a>, <a href=\"#VkVideoDecodeUsageInfoKHR\">VkVideoDecodeUsageInfoKHR</a>, <a href=\"#VkVideoEncodeH264ProfileInfoEXT\">VkVideoEncodeH264ProfileInfoEXT</a>, <a href=\"#VkVideoEncodeH265ProfileInfoEXT\">VkVideoEncodeH265ProfileInfoEXT</a>, <a href=\"#VkVideoEncodeUsageInfoKHR\">VkVideoEncodeUsageInfoKHR</a>, or <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a>",
+ "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkQueryPoolPerformanceCreateInfoKHR\">VkQueryPoolPerformanceCreateInfoKHR</a>, <a href=\"#VkQueryPoolPerformanceQueryCreateInfoINTEL\">VkQueryPoolPerformanceQueryCreateInfoINTEL</a>, <a href=\"#VkQueryPoolVideoEncodeFeedbackCreateInfoKHR\">VkQueryPoolVideoEncodeFeedbackCreateInfoKHR</a>, <a href=\"#VkVideoDecodeH264ProfileInfoKHR\">VkVideoDecodeH264ProfileInfoKHR</a>, <a href=\"#VkVideoDecodeH265ProfileInfoKHR\">VkVideoDecodeH265ProfileInfoKHR</a>, <a href=\"#VkVideoDecodeUsageInfoKHR\">VkVideoDecodeUsageInfoKHR</a>, <a href=\"#VkVideoEncodeH264ProfileInfoKHR\">VkVideoEncodeH264ProfileInfoKHR</a>, <a href=\"#VkVideoEncodeH265ProfileInfoKHR\">VkVideoEncodeH265ProfileInfoKHR</a>, <a href=\"#VkVideoEncodeUsageInfoKHR\">VkVideoEncodeUsageInfoKHR</a>, or <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a>",
"page": "vkspec"
},
{
@@ -32677,13 +33559,13 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdBeginQuery-queryType-07128",
- "text": "If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code> and there is a bound video session, then <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure included in the <code>pNext</code> chain of <a href=\"#VkQueryPoolCreateInfo\">VkQueryPoolCreateInfo</a> identical to the one specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>pVideoProfile</code> the bound video session was created with",
+ "vuid": "VUID-vkCmdBeginQuery-None-08370",
+ "text": "If there is a bound video session, then it <strong class=\"purple\">must</strong> not have been created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdBeginQuery-queryType-04862",
- "text": "If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR</code>, then the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support <a href=\"#video-encode-operations\">video encode operations</a>",
+ "vuid": "VUID-vkCmdBeginQuery-queryType-07128",
+ "text": "If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code> and there is a bound video session, then <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure included in the <code>pNext</code> chain of <a href=\"#VkQueryPoolCreateInfo\">VkQueryPoolCreateInfo</a> identical to the one specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>pVideoProfile</code> the bound video session was created with",
"page": "vkspec"
},
{
@@ -32866,13 +33748,13 @@
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryType-07128",
- "text": "If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code> and there is a bound video session, then <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure included in the <code>pNext</code> chain of <a href=\"#VkQueryPoolCreateInfo\">VkQueryPoolCreateInfo</a> identical to the one specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>pVideoProfile</code> the bound video session was created with",
+ "vuid": "VUID-vkCmdBeginQueryIndexedEXT-None-08370",
+ "text": "If there is a bound video session, then it <strong class=\"purple\">must</strong> not have been created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryType-04862",
- "text": "If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR</code>, then the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support <a href=\"#video-encode-operations\">video encode operations</a>",
+ "vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryType-07128",
+ "text": "If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code> and there is a bound video session, then <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure included in the <code>pNext</code> chain of <a href=\"#VkQueryPoolCreateInfo\">VkQueryPoolCreateInfo</a> identical to the one specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>pVideoProfile</code> the bound video session was created with",
"page": "vkspec"
},
{
@@ -39954,13 +40836,23 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdBindIndexBuffer-None-09493",
+ "text": "If <a href=\"#features-maintenance6\"><code>maintenance6</code></a> is not enabled, <code>buffer</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer-buffer-09494",
+ "text": "If <code>buffer</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, offset <strong class=\"purple\">must</strong> be zero",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdBindIndexBuffer-commandBuffer-parameter",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
"page": "vkspec"
},
{
"vuid": "VUID-vkCmdBindIndexBuffer-buffer-parameter",
- "text": "<code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle",
+ "text": "If <code>buffer</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle",
"page": "vkspec"
},
{
@@ -39985,7 +40877,7 @@
},
{
"vuid": "VUID-vkCmdBindIndexBuffer-commonparent",
- "text": "Both of <code>buffer</code>, and <code>commandBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>",
+ "text": "Both of <code>buffer</code>, and <code>commandBuffer</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>",
"page": "vkspec"
}
]
@@ -40023,6 +40915,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-None-09493",
+ "text": "If <a href=\"#features-maintenance6\"><code>maintenance6</code></a> is not enabled, <code>buffer</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-buffer-09494",
+ "text": "If <code>buffer</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, offset <strong class=\"purple\">must</strong> be zero",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdBindIndexBuffer2KHR-size-08767",
"text": "If <code>size</code> is not <code>VK_WHOLE_SIZE</code>, <code>size</code> <strong class=\"purple\">must</strong> be a multiple of the size of the type indicated by <code>indexType</code>",
"page": "vkspec"
@@ -40039,7 +40941,7 @@
},
{
"vuid": "VUID-vkCmdBindIndexBuffer2KHR-buffer-parameter",
- "text": "<code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle",
+ "text": "If <code>buffer</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle",
"page": "vkspec"
},
{
@@ -40064,7 +40966,7 @@
},
{
"vuid": "VUID-vkCmdBindIndexBuffer2KHR-commonparent",
- "text": "Both of <code>buffer</code>, and <code>commandBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>",
+ "text": "Both of <code>buffer</code>, and <code>commandBuffer</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>",
"page": "vkspec"
}
]
@@ -43622,7 +44524,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexed-None-07312",
- "text": "An index buffer <strong class=\"purple\">must</strong> be bound",
+ "text": "If <a href=\"#features-maintenance6\"><code>maintenance6</code></a> is not enabled, a valid index buffer <strong class=\"purple\">must</strong> be bound",
"page": "vkspec"
},
{
@@ -47245,7 +48147,7 @@
},
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07312",
- "text": "An index buffer <strong class=\"purple\">must</strong> be bound",
+ "text": "If <a href=\"#features-maintenance6\"><code>maintenance6</code></a> is not enabled, a valid index buffer <strong class=\"purple\">must</strong> be bound",
"page": "vkspec"
},
{
@@ -52796,7 +53698,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-07312",
- "text": "An index buffer <strong class=\"purple\">must</strong> be bound",
+ "text": "If <a href=\"#features-maintenance6\"><code>maintenance6</code></a> is not enabled, a valid index buffer <strong class=\"purple\">must</strong> be bound",
"page": "vkspec"
},
{
@@ -54679,7 +55581,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07312",
- "text": "An index buffer <strong class=\"purple\">must</strong> be bound",
+ "text": "If <a href=\"#features-maintenance6\"><code>maintenance6</code></a> is not enabled, a valid index buffer <strong class=\"purple\">must</strong> be bound",
"page": "vkspec"
},
{
@@ -56532,6 +57434,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-counterOffset-09474",
+ "text": "<code>counterOffset</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-vertexStride-09475",
+ "text": "<code>vertexStride</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-02646",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer",
"page": "vkspec"
@@ -77176,12 +78088,12 @@
},
{
"vuid": "VUID-VkCudaLaunchInfoNV-pParams-parameter",
- "text": "If <code>paramCount</code> is not <code>0</code>, and <code>pParams</code> is not <code>NULL</code>, <code>pParams</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>paramCount</code> bytes",
+ "text": "If <code>paramCount</code> is not <code>0</code>, <code>pParams</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>paramCount</code> bytes",
"page": "vkspec"
},
{
"vuid": "VUID-VkCudaLaunchInfoNV-pExtras-parameter",
- "text": "If <code>extraCount</code> is not <code>0</code>, and <code>pExtras</code> is not <code>NULL</code>, <code>pExtras</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>extraCount</code> bytes",
+ "text": "If <code>extraCount</code> is not <code>0</code>, <code>pExtras</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>extraCount</code> bytes",
"page": "vkspec"
}
]
@@ -80018,6 +80930,16 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkSparseMemoryBind-resourceOffset-09491",
+ "text": "If the resource being bound is a <code>VkBuffer</code>, <code>resourceOffset</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of the <code>alignment</code> of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetBufferMemoryRequirements\">vkGetBufferMemoryRequirements</a> with the buffer resource",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSparseMemoryBind-resourceOffset-09492",
+ "text": "If the resource being bound is a <code>VkImage</code>, <code>resourceOffset</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of the <code>alignment</code> of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements\">vkGetImageMemoryRequirements</a> with the image resource",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkSparseMemoryBind-memory-01097",
"text": "If <code>memory</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>memory</code> <strong class=\"purple\">must</strong> not have been created with a memory type that reports <code>VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT</code> bit set",
"page": "vkspec"
@@ -90154,12 +91076,12 @@
},
{
"vuid": "VUID-VkVideoProfileInfoKHR-videoCodecOperation-07181",
- "text": "If <code>videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264ProfileInfoEXT\">VkVideoEncodeH264ProfileInfoEXT</a> structure",
+ "text": "If <code>videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264ProfileInfoKHR\">VkVideoEncodeH264ProfileInfoKHR</a> structure",
"page": "vkspec"
},
{
"vuid": "VUID-VkVideoProfileInfoKHR-videoCodecOperation-07182",
- "text": "If <code>videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265ProfileInfoEXT\">VkVideoEncodeH265ProfileInfoEXT</a> structure",
+ "text": "If <code>videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265ProfileInfoKHR\">VkVideoEncodeH265ProfileInfoKHR</a> structure",
"page": "vkspec"
},
{
@@ -90280,12 +91202,12 @@
},
{
"vuid": "VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-07187",
- "text": "If <code>pVideoProfile-&gt;videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT</code>, then the <code>pNext</code> chain of <code>pCapabilities</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264CapabilitiesEXT\">VkVideoEncodeH264CapabilitiesEXT</a> structure",
+ "text": "If <code>pVideoProfile-&gt;videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pCapabilities</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a> structure",
"page": "vkspec"
},
{
"vuid": "VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-07188",
- "text": "If <code>pVideoProfile-&gt;videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT</code>, then the <code>pNext</code> chain of <code>pCapabilities</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265CapabilitiesEXT\">VkVideoEncodeH265CapabilitiesEXT</a> structure",
+ "text": "If <code>pVideoProfile-&gt;videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pCapabilities</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a> structure",
"page": "vkspec"
},
{
@@ -90314,7 +91236,7 @@
},
{
"vuid": "VUID-VkVideoCapabilitiesKHR-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeCapabilitiesKHR\">VkVideoDecodeCapabilitiesKHR</a>, <a href=\"#VkVideoDecodeH264CapabilitiesKHR\">VkVideoDecodeH264CapabilitiesKHR</a>, <a href=\"#VkVideoDecodeH265CapabilitiesKHR\">VkVideoDecodeH265CapabilitiesKHR</a>, <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>, <a href=\"#VkVideoEncodeH264CapabilitiesEXT\">VkVideoEncodeH264CapabilitiesEXT</a>, or <a href=\"#VkVideoEncodeH265CapabilitiesEXT\">VkVideoEncodeH265CapabilitiesEXT</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=\"#VkVideoDecodeCapabilitiesKHR\">VkVideoDecodeCapabilitiesKHR</a>, <a href=\"#VkVideoDecodeH264CapabilitiesKHR\">VkVideoDecodeH264CapabilitiesKHR</a>, <a href=\"#VkVideoDecodeH265CapabilitiesKHR\">VkVideoDecodeH265CapabilitiesKHR</a>, <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>, <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>, or <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>",
"page": "vkspec"
},
{
@@ -90428,6 +91350,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkVideoSessionCreateInfoKHR-flags-08371",
+ "text": "If <code>flags</code> includes <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, then <a href=\"#features-videoMaintenance1\"><code>videoMaintenance1</code></a> <strong class=\"purple\">must</strong> be enabled",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkVideoSessionCreateInfoKHR-pVideoProfile-04845",
"text": "<code>pVideoProfile</code> <strong class=\"purple\">must</strong> be a <a href=\"#video-profile-support\">supported video profile</a>",
"page": "vkspec"
@@ -90483,13 +91410,23 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-VkVideoSessionCreateInfoKHR-pVideoProfile-08251",
+ "text": "If <code>pVideoProfile-&gt;videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and the <code>pNext</code> chain of this structure includes a <a href=\"#VkVideoEncodeH264SessionCreateInfoKHR\">VkVideoEncodeH264SessionCreateInfoKHR</a> structure, then its <code>maxLevelIdc</code> member <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>maxLevelIdc</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile specified in <code>pVideoProfile</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionCreateInfoKHR-pVideoProfile-08252",
+ "text": "If <code>pVideoProfile-&gt;videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and the <code>pNext</code> chain of this structure includes a <a href=\"#VkVideoEncodeH265SessionCreateInfoKHR\">VkVideoEncodeH265SessionCreateInfoKHR</a> structure, then its <code>maxLevelIdc</code> member <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxLevelIdc</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile specified in <code>pVideoProfile</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkVideoSessionCreateInfoKHR-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR</code>",
"page": "vkspec"
},
{
"vuid": "VUID-VkVideoSessionCreateInfoKHR-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=\"#VkVideoEncodeH264SessionCreateInfoEXT\">VkVideoEncodeH264SessionCreateInfoEXT</a> or <a href=\"#VkVideoEncodeH265SessionCreateInfoEXT\">VkVideoEncodeH265SessionCreateInfoEXT</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=\"#VkVideoEncodeH264SessionCreateInfoKHR\">VkVideoEncodeH264SessionCreateInfoKHR</a> or <a href=\"#VkVideoEncodeH265SessionCreateInfoKHR\">VkVideoEncodeH265SessionCreateInfoKHR</a>",
"page": "vkspec"
},
{
@@ -90722,7 +91659,12 @@
"core": [
{
"vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSessionParametersTemplate-04855",
- "text": "If <code>videoSessionParametersTemplate</code> represents a valid handle, it <strong class=\"purple\">must</strong> have been created against <code>videoSession</code>",
+ "text": "If <code>videoSessionParametersTemplate</code> is not <code>VK_NULL_HANDLE</code>, it <strong class=\"purple\">must</strong> have been created against <code>videoSession</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSessionParametersTemplate-08310",
+ "text": "If <code>videoSessionParametersTemplate</code> is not <code>VK_NULL_HANDLE</code> and <code>videoSession</code> was created with an encode operation, then <code>qualityLevel</code> <strong class=\"purple\">must</strong> equal the <a href=\"#encode-quality-level\">video encode quality</a> level <code>videoSessionParametersTemplate</code> was created with",
"page": "vkspec"
},
{
@@ -90762,12 +91704,47 @@
},
{
"vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07210",
- "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoEXT\">VkVideoEncodeH264SessionParametersCreateInfoEXT</a> structure",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoKHR\">VkVideoEncodeH264SessionParametersCreateInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04839",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the number of elements of <code>spsAddList</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxStdSPSCount</code> specified in the <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoKHR\">VkVideoEncodeH264SessionParametersCreateInfoKHR</a> structure included in the <code>pNext</code> chain",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04840",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the number of elements of <code>ppsAddList</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxStdPPSCount</code> specified in the <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoKHR\">VkVideoEncodeH264SessionParametersCreateInfoKHR</a> structure included in the <code>pNext</code> chain",
"page": "vkspec"
},
{
"vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07211",
- "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoEXT\">VkVideoEncodeH265SessionParametersCreateInfoEXT</a> structure",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04841",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the number of elements of <code>vpsAddList</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxStdVPSCount</code> specified in the <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a> structure included in the <code>pNext</code> chain",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04842",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the number of elements of <code>spsAddList</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxStdSPSCount</code> specified in the <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a> structure included in the <code>pNext</code> chain",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04843",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the number of elements of <code>ppsAddList</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxStdPPSCount</code> specified in the <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a> structure included in the <code>pNext</code> chain",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-08319",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then <code>num_tile_columns_minus1</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxTiles.width</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile <code>videoSession</code> was created with, for each element of <code>ppsAddList</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-08320",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then <code>num_tile_rows_minus1</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxTiles.height</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile <code>videoSession</code> was created with, for each element of <code>ppsAddList</code>",
"page": "vkspec"
},
{
@@ -90777,7 +91754,7 @@
},
{
"vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeH264SessionParametersCreateInfoKHR\">VkVideoDecodeH264SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoDecodeH265SessionParametersCreateInfoKHR\">VkVideoDecodeH265SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoEXT\">VkVideoEncodeH264SessionParametersCreateInfoEXT</a>, <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoEXT\">VkVideoEncodeH265SessionParametersCreateInfoEXT</a>, or <a href=\"#VkVideoEncodeQualityLevelInfoKHR\">VkVideoEncodeQualityLevelInfoKHR</a>",
+ "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeH264SessionParametersCreateInfoKHR\">VkVideoDecodeH264SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoDecodeH265SessionParametersCreateInfoKHR\">VkVideoDecodeH265SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoKHR\">VkVideoEncodeH264SessionParametersCreateInfoKHR</a>, <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a>, or <a href=\"#VkVideoEncodeQualityLevelInfoKHR\">VkVideoEncodeQualityLevelInfoKHR</a>",
"page": "vkspec"
},
{
@@ -90910,27 +91887,62 @@
},
{
"vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07226",
- "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH264SessionParametersAddInfoEXT\">VkVideoEncodeH264SessionParametersAddInfoEXT</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH264SequenceParameterSet</code> entry with <code>seq_parameter_set_id</code> matching any of the elements of <a href=\"#VkVideoEncodeH264SessionParametersAddInfoEXT\">VkVideoEncodeH264SessionParametersAddInfoEXT</a>::<code>pStdSPSs</code>",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH264SequenceParameterSet</code> entry with <code>seq_parameter_set_id</code> matching any of the elements of <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a>::<code>pStdSPSs</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06441",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the number of <code>StdVideoH264SequenceParameterSet</code> entries already stored in it plus the value of the <code>stdSPSCount</code> member of the <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a> structure included in the <code>pUpdateInfo-&gt;pNext</code> chain <strong class=\"purple\">must</strong> be less than or equal to the <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoKHR\">VkVideoEncodeH264SessionParametersCreateInfoKHR</a>::<code>maxStdSPSCount</code> <code>videoSessionParameters</code> was created with",
"page": "vkspec"
},
{
"vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07227",
- "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH264SessionParametersAddInfoEXT\">VkVideoEncodeH264SessionParametersAddInfoEXT</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH264PictureParameterSet</code> entry with both <code>seq_parameter_set_id</code> and <code>pic_parameter_set_id</code> matching any of the elements of <a href=\"#VkVideoEncodeH264SessionParametersAddInfoEXT\">VkVideoEncodeH264SessionParametersAddInfoEXT</a>::<code>pStdPPSs</code>",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH264PictureParameterSet</code> entry with both <code>seq_parameter_set_id</code> and <code>pic_parameter_set_id</code> matching any of the elements of <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a>::<code>pStdPPSs</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06442",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the number of <code>StdVideoH264PictureParameterSet</code> entries already stored in it plus the value of the <code>stdPPSCount</code> member of the <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a> structure included in the <code>pUpdateInfo-&gt;pNext</code> chain <strong class=\"purple\">must</strong> be less than or equal to the <a href=\"#VkVideoEncodeH264SessionParametersCreateInfoKHR\">VkVideoEncodeH264SessionParametersCreateInfoKHR</a>::<code>maxStdPPSCount</code> <code>videoSessionParameters</code> was created with",
"page": "vkspec"
},
{
"vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07228",
- "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH265SessionParametersAddInfoEXT\">VkVideoEncodeH265SessionParametersAddInfoEXT</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH265VideoParameterSet</code> entry with <code>vps_video_parameter_set_id</code> matching any of the elements of <a href=\"#VkVideoEncodeH265SessionParametersAddInfoEXT\">VkVideoEncodeH265SessionParametersAddInfoEXT</a>::<code>pStdVPSs</code>",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH265VideoParameterSet</code> entry with <code>vps_video_parameter_set_id</code> matching any of the elements of <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a>::<code>pStdVPSs</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06443",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the number of <code>StdVideoH265VideoParameterSet</code> entries already stored in it plus the value of the <code>stdVPSCount</code> member of the <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a> structure included in the <code>pUpdateInfo-&gt;pNext</code> chain <strong class=\"purple\">must</strong> be less than or equal to the <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a>::<code>maxStdVPSCount</code> <code>videoSessionParameters</code> was created with",
"page": "vkspec"
},
{
"vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07229",
- "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH265SessionParametersAddInfoEXT\">VkVideoEncodeH265SessionParametersAddInfoEXT</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH265SequenceParameterSet</code> entry with both <code>sps_video_parameter_set_id</code> and <code>sps_seq_parameter_set_id</code> matching any of the elements of <a href=\"#VkVideoEncodeH265SessionParametersAddInfoEXT\">VkVideoEncodeH265SessionParametersAddInfoEXT</a>::<code>pStdSPSs</code>",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH265SequenceParameterSet</code> entry with both <code>sps_video_parameter_set_id</code> and <code>sps_seq_parameter_set_id</code> matching any of the elements of <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a>::<code>pStdSPSs</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06444",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the number of <code>StdVideoH265SequenceParameterSet</code> entries already stored in it plus the value of the <code>stdSPSCount</code> member of the <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a> structure included in the <code>pUpdateInfo-&gt;pNext</code> chain <strong class=\"purple\">must</strong> be less than or equal to the <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a>::<code>maxStdSPSCount</code> <code>videoSessionParameters</code> was created with",
"page": "vkspec"
},
{
"vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07230",
- "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH265SessionParametersAddInfoEXT\">VkVideoEncodeH265SessionParametersAddInfoEXT</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH265PictureParameterSet</code> entry with <code>sps_video_parameter_set_id</code>, <code>pps_seq_parameter_set_id</code>, and <code>pps_pic_parameter_set_id</code> all matching any of the elements of <a href=\"#VkVideoEncodeH265SessionParametersAddInfoEXT\">VkVideoEncodeH265SessionParametersAddInfoEXT</a>::<code>pStdPPSs</code>",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a> structure, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not already contain a <code>StdVideoH265PictureParameterSet</code> entry with <code>sps_video_parameter_set_id</code>, <code>pps_seq_parameter_set_id</code>, and <code>pps_pic_parameter_set_id</code> all matching any of the elements of <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a>::<code>pStdPPSs</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06445",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the number of <code>StdVideoH265PictureParameterSet</code> entries already stored in it plus the value of the <code>stdPPSCount</code> member of the <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a> structure included in the <code>pUpdateInfo-&gt;pNext</code> chain <strong class=\"purple\">must</strong> be less than or equal to the <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoKHR\">VkVideoEncodeH265SessionParametersCreateInfoKHR</a>::<code>maxStdPPSCount</code> <code>videoSessionParameters</code> was created with",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-08321",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a> structure, then <code>num_tile_columns_minus1</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxTiles.width</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile <code>videoSessionParameters</code> was created with, for each element of <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a>::<code>pStdPPSs</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-08322",
+ "text": "If <code>videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and the <code>pNext</code> chain of <code>pUpdateInfo</code> includes a <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a> structure, then <code>num_tile_rows_minus1</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxTiles.height</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile <code>videoSessionParameters</code> was created with, for each element of <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a>::<code>pStdPPSs</code>",
"page": "vkspec"
},
{
@@ -90964,7 +91976,7 @@
},
{
"vuid": "VUID-VkVideoSessionParametersUpdateInfoKHR-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=\"#VkVideoDecodeH264SessionParametersAddInfoKHR\">VkVideoDecodeH264SessionParametersAddInfoKHR</a>, <a href=\"#VkVideoDecodeH265SessionParametersAddInfoKHR\">VkVideoDecodeH265SessionParametersAddInfoKHR</a>, <a href=\"#VkVideoEncodeH264SessionParametersAddInfoEXT\">VkVideoEncodeH264SessionParametersAddInfoEXT</a>, or <a href=\"#VkVideoEncodeH265SessionParametersAddInfoEXT\">VkVideoEncodeH265SessionParametersAddInfoEXT</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=\"#VkVideoDecodeH264SessionParametersAddInfoKHR\">VkVideoDecodeH264SessionParametersAddInfoKHR</a>, <a href=\"#VkVideoDecodeH265SessionParametersAddInfoKHR\">VkVideoDecodeH265SessionParametersAddInfoKHR</a>, <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a>, or <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a>",
"page": "vkspec"
},
{
@@ -91017,6 +92029,26 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdBeginVideoCodingKHR-pBeginInfo-08253",
+ "text": "If <code>pBeginInfo-&gt;videoSession</code> was created with a video encode operation and the <code>pNext</code> chain of <code>pBeginInfo</code> does not include an instance of the <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a> structure, then the <a href=\"#encode-rate-control-modes\">rate control mode</a> configured for <code>pBeginInfo-&gt;videoSession</code> at the time the command is executed on the device <strong class=\"purple\">must</strong> be <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginVideoCodingKHR-pBeginInfo-08254",
+ "text": "If <code>pBeginInfo-&gt;videoSession</code> was created with a video encode operation and the <code>pNext</code> chain of <code>pBeginInfo</code> includes an instance of the <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a> structure, then it <strong class=\"purple\">must</strong> <a href=\"#encode-rate-control-state-matching\">match</a> the rate control state configured for <code>pBeginInfo-&gt;videoSession</code> at the time the command is executed on the device",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginVideoCodingKHR-pBeginInfo-08255",
+ "text": "If <code>pBeginInfo-&gt;videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, the current <a href=\"#encode-rate-control-modes\">rate control mode</a> is not <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR</code> or <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR</code>, and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>requiresGopRemainingFrames</code> is <code>VK_TRUE</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the <code>pBeginInfo-&gt;videoSession</code> was created with, then the <code>pNext</code> chain of <code>pBeginInfo</code> <strong class=\"purple\">must</strong> include an instance of the <a href=\"#VkVideoEncodeH264GopRemainingFrameInfoKHR\">VkVideoEncodeH264GopRemainingFrameInfoKHR</a> with its <code>useGopRemainingFrames</code> member set to <code>VK_TRUE</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginVideoCodingKHR-pBeginInfo-08256",
+ "text": "If <code>pBeginInfo-&gt;videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, the current <a href=\"#encode-rate-control-modes\">rate control mode</a> is not <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR</code> or <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR</code>, and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>requiresGopRemainingFrames</code> is <code>VK_TRUE</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the <code>pBeginInfo-&gt;videoSession</code> was created with, then the <code>pNext</code> chain of <code>pBeginInfo</code> <strong class=\"purple\">must</strong> include an instance of the <a href=\"#VkVideoEncodeH265GopRemainingFrameInfoKHR\">VkVideoEncodeH265GopRemainingFrameInfoKHR</a> with its <code>useGopRemainingFrames</code> member set to <code>VK_TRUE</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdBeginVideoCodingKHR-commandBuffer-parameter",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
"page": "vkspec"
@@ -91117,12 +92149,12 @@
},
{
"vuid": "VUID-VkVideoBeginCodingInfoKHR-videoSession-07249",
- "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT</code>, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not be <code>VK_NULL_HANDLE</code>",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not be <code>VK_NULL_HANDLE</code>",
"page": "vkspec"
},
{
"vuid": "VUID-VkVideoBeginCodingInfoKHR-videoSession-07250",
- "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT</code>, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not be <code>VK_NULL_HANDLE</code>",
+ "text": "If <code>videoSession</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then <code>videoSessionParameters</code> <strong class=\"purple\">must</strong> not be <code>VK_NULL_HANDLE</code>",
"page": "vkspec"
},
{
@@ -91137,7 +92169,7 @@
},
{
"vuid": "VUID-VkVideoBeginCodingInfoKHR-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=\"#VkVideoEncodeH264GopRemainingFrameInfoEXT\">VkVideoEncodeH264GopRemainingFrameInfoEXT</a>, <a href=\"#VkVideoEncodeH264RateControlInfoEXT\">VkVideoEncodeH264RateControlInfoEXT</a>, <a href=\"#VkVideoEncodeH265GopRemainingFrameInfoEXT\">VkVideoEncodeH265GopRemainingFrameInfoEXT</a>, <a href=\"#VkVideoEncodeH265RateControlInfoEXT\">VkVideoEncodeH265RateControlInfoEXT</a>, or <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</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=\"#VkVideoEncodeH264GopRemainingFrameInfoKHR\">VkVideoEncodeH264GopRemainingFrameInfoKHR</a>, <a href=\"#VkVideoEncodeH264RateControlInfoKHR\">VkVideoEncodeH264RateControlInfoKHR</a>, <a href=\"#VkVideoEncodeH265GopRemainingFrameInfoKHR\">VkVideoEncodeH265GopRemainingFrameInfoKHR</a>, <a href=\"#VkVideoEncodeH265RateControlInfoKHR\">VkVideoEncodeH265RateControlInfoKHR</a>, or <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a>",
"page": "vkspec"
},
{
@@ -91186,7 +92218,7 @@
},
{
"vuid": "VUID-VkVideoReferenceSlotInfoKHR-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeH264DpbSlotInfoKHR\">VkVideoDecodeH264DpbSlotInfoKHR</a>, <a href=\"#VkVideoDecodeH265DpbSlotInfoKHR\">VkVideoDecodeH265DpbSlotInfoKHR</a>, <a href=\"#VkVideoEncodeH264DpbSlotInfoEXT\">VkVideoEncodeH264DpbSlotInfoEXT</a>, or <a href=\"#VkVideoEncodeH265DpbSlotInfoEXT\">VkVideoEncodeH265DpbSlotInfoEXT</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=\"#VkVideoDecodeH264DpbSlotInfoKHR\">VkVideoDecodeH264DpbSlotInfoKHR</a>, <a href=\"#VkVideoDecodeH265DpbSlotInfoKHR\">VkVideoDecodeH265DpbSlotInfoKHR</a>, <a href=\"#VkVideoEncodeH264DpbSlotInfoKHR\">VkVideoEncodeH264DpbSlotInfoKHR</a>, or <a href=\"#VkVideoEncodeH265DpbSlotInfoKHR\">VkVideoEncodeH265DpbSlotInfoKHR</a>",
"page": "vkspec"
},
{
@@ -91272,6 +92304,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdControlVideoCodingKHR-pCodingControlInfo-08243",
+ "text": "If the bound video session was not created with an encode operation, then <code>pCodingControlInfo-&gt;pNext</code> <strong class=\"purple\">must</strong> not include <code>VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR</code> or <code>VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdControlVideoCodingKHR-commandBuffer-parameter",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
"page": "vkspec"
@@ -91316,23 +92353,8 @@
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoCodingControlInfoKHR-flags-07021",
- "text": "If <code>flags</code> includes <code>VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR</code>, the <code>rateControlMode</code> member of <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a> included in the <code>pNext</code> chain is not <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR</code> or <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR</code>, and the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264RateControlInfoEXT\">VkVideoEncodeH264RateControlInfoEXT</a> structure",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoCodingControlInfoKHR-pNext-07022",
- "text": "If the <code>pNext</code> chain includes a <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a>, and <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a>::<code>layerCount</code> is greater than <code>1</code>, then <a href=\"#VkVideoEncodeH264RateControlInfoEXT\">VkVideoEncodeH264RateControlInfoEXT</a>::<code>temporalLayerCount</code> <strong class=\"purple\">must</strong> be equal to <code>layerCount</code>",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoCodingControlInfoKHR-flags-07024",
- "text": "If <code>flags</code> includes <code>VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR</code>, the <code>rateControlMode</code> member of <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a> included in the <code>pNext</code> chain is not <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR</code> or <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR</code>, and the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265RateControlInfoEXT\">VkVideoEncodeH265RateControlInfoEXT</a> structure",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoCodingControlInfoKHR-pNext-07025",
- "text": "If the <code>pNext</code> chain includes a <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a>, and <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a>::<code>layerCount</code> is greater than <code>1</code>, then <a href=\"#VkVideoEncodeH265RateControlInfoEXT\">VkVideoEncodeH265RateControlInfoEXT</a>::<code>subLayerCount</code> <strong class=\"purple\">must</strong> be equal to <code>layerCount</code>",
+ "vuid": "VUID-VkVideoCodingControlInfoKHR-flags-08349",
+ "text": "If <code>flags</code> includes <code>VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeQualityLevelInfoKHR\">VkVideoEncodeQualityLevelInfoKHR</a> structure",
"page": "vkspec"
},
{
@@ -91342,7 +92364,7 @@
},
{
"vuid": "VUID-VkVideoCodingControlInfoKHR-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=\"#VkVideoEncodeH264RateControlInfoEXT\">VkVideoEncodeH264RateControlInfoEXT</a>, <a href=\"#VkVideoEncodeH265RateControlInfoEXT\">VkVideoEncodeH265RateControlInfoEXT</a>, <a href=\"#VkVideoEncodeQualityLevelInfoKHR\">VkVideoEncodeQualityLevelInfoKHR</a>, or <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</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=\"#VkVideoEncodeH264RateControlInfoKHR\">VkVideoEncodeH264RateControlInfoKHR</a>, <a href=\"#VkVideoEncodeH265RateControlInfoKHR\">VkVideoEncodeH265RateControlInfoKHR</a>, <a href=\"#VkVideoEncodeQualityLevelInfoKHR\">VkVideoEncodeQualityLevelInfoKHR</a>, or <a href=\"#VkVideoEncodeRateControlInfoKHR\">VkVideoEncodeRateControlInfoKHR</a>",
"page": "vkspec"
},
{
@@ -91362,6 +92384,30 @@
}
]
},
+ "VkVideoInlineQueryInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkVideoInlineQueryInfoKHR-queryPool-08372",
+ "text": "If <code>queryPool</code> is not <code>VK_NULL_HANDLE</code>, then <code>firstQuery</code> <strong class=\"purple\">must</strong> be less than the number of queries in <code>queryPool</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoInlineQueryInfoKHR-queryPool-08373",
+ "text": "If <code>queryPool</code> is not <code>VK_NULL_HANDLE</code>, then the sum of <code>firstQuery</code> and <code>queryCount</code> <strong class=\"purple\">must</strong> be less than or equal to the number of queries in <code>queryPool</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoInlineQueryInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoInlineQueryInfoKHR-queryPool-parameter",
+ "text": "If <code>queryPool</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>queryPool</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueryPool\">VkQueryPool</a> handle",
+ "page": "vkspec"
+ }
+ ]
+ },
"VkVideoDecodeCapabilitiesKHR": {
"core": [
{
@@ -91374,6 +92420,11 @@
"vkCmdDecodeVideoKHR": {
"core": [
{
+ "vuid": "VUID-vkCmdDecodeVideoKHR-None-08249",
+ "text": "The bound video session <strong class=\"purple\">must</strong> have been created with a decode operation",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDecodeVideoKHR-None-07011",
"text": "The bound video session <strong class=\"purple\">must</strong> not be in <a href=\"#video-session-uninitialized\">uninitialized</a> state at the time the command is executed on the device",
"page": "vkspec"
@@ -91384,6 +92435,31 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDecodeVideoKHR-pNext-08365",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, and the <code>pNext</code> chain of <code>pDecodeInfo</code> includes a <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure with its <code>queryPool</code> member specifying a valid <code>VkQueryPool</code> handle, then <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a>::queryCount <strong class=\"purple\">must</strong> equal <code>opCount</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-pNext-08366",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, and the <code>pNext</code> chain of <code>pDecodeInfo</code> includes a <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure with its <code>queryPool</code> member specifying a valid <code>VkQueryPool</code> handle, then all the queries used by the command, as specified by the <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure, <strong class=\"purple\">must</strong> be <em>unavailable</em>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-queryType-08367",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, then the <code>queryType</code> used to create the <code>queryPool</code> specified in the <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pDecodeInfo</code> <strong class=\"purple\">must</strong> be <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-queryPool-08368",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, then the <code>queryPool</code> specified in the <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pDecodeInfo</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure included in the <code>pNext</code> chain of <a href=\"#VkQueryPoolCreateInfo\">VkQueryPoolCreateInfo</a> identical to the one specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>pVideoProfile</code> the bound video session was created with",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdDecodeVideoKHR-queryType-08369",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, and the <code>queryType</code> used to create the <code>queryPool</code> specified in the <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pDecodeInfo</code> is <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code>, then the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> have been created with a queue family index that supports <a href=\"#queries-result-status-only\">result status queries</a>, as indicated by <a href=\"#VkQueueFamilyQueryResultStatusPropertiesKHR\">VkQueueFamilyQueryResultStatusPropertiesKHR</a>::<code>queryResultStatusSupport</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-07135",
"text": "<code>pDecodeInfo-&gt;srcBuffer</code> <strong class=\"purple\">must</strong> be <a href=\"#video-profile-compatibility\">compatible</a> with the video profile the bound video session was created with",
"page": "vkspec"
@@ -91454,6 +92530,11 @@
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-08376",
+ "text": "<code>pDecodeInfo-&gt;pSetupReferenceSlot</code> <strong class=\"purple\">must</strong> not be <code>NULL</code> unless the bound video session was created with <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>maxDpbSlots</code> equal to zero",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdDecodeVideoKHR-pDecodeInfo-07170",
"text": "If <code>pDecodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then <code>pDecodeInfo-&gt;pSetupReferenceSlot-&gt;slotIndex</code> <strong class=\"purple\">must</strong> be less than the <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>maxDpbSlots</code> specified when the bound video session was created",
"page": "vkspec"
@@ -91719,7 +92800,7 @@
},
{
"vuid": "VUID-VkVideoDecodeInfoKHR-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoDecodeH264PictureInfoKHR\">VkVideoDecodeH264PictureInfoKHR</a> or <a href=\"#VkVideoDecodeH265PictureInfoKHR\">VkVideoDecodeH265PictureInfoKHR</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=\"#VkVideoDecodeH264PictureInfoKHR\">VkVideoDecodeH264PictureInfoKHR</a>, <a href=\"#VkVideoDecodeH265PictureInfoKHR\">VkVideoDecodeH265PictureInfoKHR</a>, or <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a>",
"page": "vkspec"
},
{
@@ -91979,6 +93060,16 @@
"vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR": {
"core": [
{
+ "vuid": "VUID-vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR-pQualityLevelInfo-08257",
+ "text": "If <code>pQualityLevelInfo-&gt;pVideoProfile-&gt;videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pQualityLevelProperties</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264QualityLevelPropertiesKHR\">VkVideoEncodeH264QualityLevelPropertiesKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR-pQualityLevelInfo-08258",
+ "text": "If <code>pQualityLevelInfo-&gt;pVideoProfile-&gt;videoCodecOperation</code> is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pQualityLevelProperties</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265QualityLevelPropertiesKHR\">VkVideoEncodeH265QualityLevelPropertiesKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR-physicalDevice-parameter",
"text": "<code>physicalDevice</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> handle",
"page": "vkspec"
@@ -91998,6 +93089,21 @@
"VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR": {
"core": [
{
+ "vuid": "VUID-VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR-pVideoProfile-08259",
+ "text": "<code>pVideoProfile</code> <strong class=\"purple\">must</strong> be a <a href=\"#video-profile-support\">supported video profile</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR-pVideoProfile-08260",
+ "text": "<code>pVideoProfile-&gt;videoCodecOperation</code> <strong class=\"purple\">must</strong> specify an encode operation",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR-qualityLevel-08261",
+ "text": "<code>qualityLevel</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>::<code>maxQualityLevels</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile specified in <code>pVideoProfile</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR</code>",
"page": "vkspec"
@@ -92023,7 +93129,7 @@
},
{
"vuid": "VUID-VkVideoEncodeQualityLevelPropertiesKHR-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=\"#VkVideoEncodeH264QualityLevelPropertiesEXT\">VkVideoEncodeH264QualityLevelPropertiesEXT</a> or <a href=\"#VkVideoEncodeH265QualityLevelPropertiesEXT\">VkVideoEncodeH265QualityLevelPropertiesEXT</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=\"#VkVideoEncodeH264QualityLevelPropertiesKHR\">VkVideoEncodeH264QualityLevelPropertiesKHR</a> or <a href=\"#VkVideoEncodeH265QualityLevelPropertiesKHR\">VkVideoEncodeH265QualityLevelPropertiesKHR</a>",
"page": "vkspec"
},
{
@@ -92036,6 +93142,11 @@
"VkVideoEncodeQualityLevelInfoKHR": {
"core": [
{
+ "vuid": "VUID-VkVideoEncodeQualityLevelInfoKHR-qualityLevel-08311",
+ "text": "<code>qualityLevel</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>::<code>maxQualityLevels</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkVideoEncodeQualityLevelInfoKHR-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR</code>",
"page": "vkspec"
@@ -92045,6 +93156,46 @@
"vkGetEncodedVideoSessionParametersKHR": {
"core": [
{
+ "vuid": "VUID-vkGetEncodedVideoSessionParametersKHR-pVideoSessionParametersInfo-08359",
+ "text": "<code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> <strong class=\"purple\">must</strong> have been created with an encode operation",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetEncodedVideoSessionParametersKHR-pVideoSessionParametersInfo-08262",
+ "text": "If <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pVideoSessionParametersInfo</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264SessionParametersGetInfoKHR\">VkVideoEncodeH264SessionParametersGetInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetEncodedVideoSessionParametersKHR-pVideoSessionParametersInfo-08263",
+ "text": "If <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then for the <a href=\"#VkVideoEncodeH264SessionParametersGetInfoKHR\">VkVideoEncodeH264SessionParametersGetInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pVideoSessionParametersInfo</code>, if its <code>writeStdSPS</code> member is <code>VK_TRUE</code>, then <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> <strong class=\"purple\">must</strong> contain a <code>StdVideoH264SequenceParameterSet</code> entry with <code>seq_parameter_set_id</code> matching <a href=\"#VkVideoEncodeH264SessionParametersGetInfoKHR\">VkVideoEncodeH264SessionParametersGetInfoKHR</a>::<code>stdSPSId</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetEncodedVideoSessionParametersKHR-pVideoSessionParametersInfo-08264",
+ "text": "If <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then for the <a href=\"#VkVideoEncodeH264SessionParametersGetInfoKHR\">VkVideoEncodeH264SessionParametersGetInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pVideoSessionParametersInfo</code>, if its <code>writeStdPPS</code> member is <code>VK_TRUE</code>, then <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> <strong class=\"purple\">must</strong> contain a <code>StdVideoH264PictureParameterSet</code> entry with <code>seq_parameter_set_id</code> and <code>pic_parameter_set_id</code> matching <a href=\"#VkVideoEncodeH264SessionParametersGetInfoKHR\">VkVideoEncodeH264SessionParametersGetInfoKHR</a>::<code>stdSPSId</code> and <a href=\"#VkVideoEncodeH264SessionParametersGetInfoKHR\">VkVideoEncodeH264SessionParametersGetInfoKHR</a>::<code>stdPPSId</code>, respectively",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetEncodedVideoSessionParametersKHR-pVideoSessionParametersInfo-08265",
+ "text": "If <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pVideoSessionParametersInfo</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetEncodedVideoSessionParametersKHR-pVideoSessionParametersInfo-08266",
+ "text": "If <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then for the <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pVideoSessionParametersInfo</code>, if its <code>writeStdVPS</code> member is <code>VK_TRUE</code>, then <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> <strong class=\"purple\">must</strong> contain a <code>StdVideoH265VideoParameterSet</code> entry with <code>vps_video_parameter_set_id</code> matching <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a>::<code>stdVPSId</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetEncodedVideoSessionParametersKHR-pVideoSessionParametersInfo-08267",
+ "text": "If <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then for the <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pVideoSessionParametersInfo</code>, if its <code>writeStdSPS</code> member is <code>VK_TRUE</code>, then <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> <strong class=\"purple\">must</strong> contain a <code>StdVideoH265SequenceParameterSet</code> entry with <code>sps_video_parameter_set_id</code> and <code>sps_seq_parameter_set_id</code> matching <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a>::<code>stdVPSId</code> and <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a>::<code>stdSPSId</code>, respectively",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetEncodedVideoSessionParametersKHR-pVideoSessionParametersInfo-08268",
+ "text": "If <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then for the <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pVideoSessionParametersInfo</code>, if its <code>writeStdPPS</code> member is <code>VK_TRUE</code>, then <code>pVideoSessionParametersInfo-&gt;videoSessionParameters</code> <strong class=\"purple\">must</strong> contain a <code>StdVideoH265PictureParameterSet</code> entry with <code>sps_video_parameter_set_id</code>, <code>pps_seq_parameter_set_id</code>, and <code>pps_pic_parameter_set_id</code> matching <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a>::<code>stdVPSId</code>, <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a>::<code>stdSPSId</code>, and <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a>::<code>stdPPSId</code>, respectively",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkGetEncodedVideoSessionParametersKHR-device-parameter",
"text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
"page": "vkspec"
@@ -92080,7 +93231,7 @@
},
{
"vuid": "VUID-VkVideoEncodeSessionParametersGetInfoKHR-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=\"#VkVideoEncodeH264SessionParametersGetInfoEXT\">VkVideoEncodeH264SessionParametersGetInfoEXT</a> or <a href=\"#VkVideoEncodeH265SessionParametersGetInfoEXT\">VkVideoEncodeH265SessionParametersGetInfoEXT</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=\"#VkVideoEncodeH264SessionParametersGetInfoKHR\">VkVideoEncodeH264SessionParametersGetInfoKHR</a> or <a href=\"#VkVideoEncodeH265SessionParametersGetInfoKHR\">VkVideoEncodeH265SessionParametersGetInfoKHR</a>",
"page": "vkspec"
},
{
@@ -92104,7 +93255,7 @@
},
{
"vuid": "VUID-VkVideoEncodeSessionParametersFeedbackInfoKHR-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=\"#VkVideoEncodeH264SessionParametersFeedbackInfoEXT\">VkVideoEncodeH264SessionParametersFeedbackInfoEXT</a> or <a href=\"#VkVideoEncodeH265SessionParametersFeedbackInfoEXT\">VkVideoEncodeH265SessionParametersFeedbackInfoEXT</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=\"#VkVideoEncodeH264SessionParametersFeedbackInfoKHR\">VkVideoEncodeH264SessionParametersFeedbackInfoKHR</a> or <a href=\"#VkVideoEncodeH265SessionParametersFeedbackInfoKHR\">VkVideoEncodeH265SessionParametersFeedbackInfoKHR</a>",
"page": "vkspec"
},
{
@@ -92117,11 +93268,351 @@
"vkCmdEncodeVideoKHR": {
"core": [
{
+ "vuid": "VUID-vkCmdEncodeVideoKHR-None-08250",
+ "text": "The bound video session <strong class=\"purple\">must</strong> have been created with an encode operation",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-None-07012",
+ "text": "The bound video session <strong class=\"purple\">must</strong> not be in <a href=\"#video-session-uninitialized\">uninitialized</a> state at the time the command is executed on the device",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-None-08318",
+ "text": "The bound video session parameters object <strong class=\"purple\">must</strong> have been created with the currently set <a href=\"#encode-quality-level\">video encode quality level</a> for the bound video session at the time the command is executed on the device",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdEncodeVideoKHR-opCount-07174",
"text": "For each <a href=\"#queries-operation-active\">active</a> query, the <a href=\"#queries-operation-active-query-index\">active query index</a> corresponding to the query type of that query plus <code>opCount</code> <strong class=\"purple\">must</strong> be less than or equal to the <a href=\"#queries-operation-last-activatable-query-index\">last activatable query index</a> corresponding to the query type of that query plus one",
"page": "vkspec"
},
{
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08360",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, and the <code>pNext</code> chain of <code>pEncodeInfo</code> includes a <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure with its <code>queryPool</code> member specifying a valid <code>VkQueryPool</code> handle, then <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a>::queryCount <strong class=\"purple\">must</strong> equal <code>opCount</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08361",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, and the <code>pNext</code> chain of <code>pEncodeInfo</code> includes a <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure with its <code>queryPool</code> member specifying a valid <code>VkQueryPool</code> handle, then all the queries used by the command, as specified by the <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure, <strong class=\"purple\">must</strong> be <em>unavailable</em>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-queryType-08362",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, then the <code>queryType</code> used to create the <code>queryPool</code> specified in the <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code> <strong class=\"purple\">must</strong> be <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code> or <code>VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-queryPool-08363",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, then the <code>queryPool</code> specified in the <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkVideoProfileInfoKHR\">VkVideoProfileInfoKHR</a> structure included in the <code>pNext</code> chain of <a href=\"#VkQueryPoolCreateInfo\">VkQueryPoolCreateInfo</a> identical to the one specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>pVideoProfile</code> the bound video session was created with",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-queryType-08364",
+ "text": "If the bound video session was created with <code>VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR</code>, and the <code>queryType</code> used to create the <code>queryPool</code> specified in the <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code> is <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code>, then the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> have been created with a queue family index that supports <a href=\"#queries-result-status-only\">result status queries</a>, as indicated by <a href=\"#VkQueueFamilyQueryResultStatusPropertiesKHR\">VkQueueFamilyQueryResultStatusPropertiesKHR</a>::<code>queryResultStatusSupport</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08201",
+ "text": "<code>pEncodeInfo-&gt;dstBuffer</code> <strong class=\"purple\">must</strong> be <a href=\"#video-profile-compatibility\">compatible</a> with the video profile the bound video session was created with",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-commandBuffer-08202",
+ "text": "If <code>commandBuffer</code> is an unprotected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, then <code>pEncodeInfo-&gt;dstBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-commandBuffer-08203",
+ "text": "If <code>commandBuffer</code> is a protected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, then <code>pEncodeInfo-&gt;dstBuffer</code> <strong class=\"purple\">must</strong> be a protected buffer",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08204",
+ "text": "<code>pEncodeInfo-&gt;dstBufferOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>minBitstreamBufferOffsetAlignment</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08205",
+ "text": "<code>pEncodeInfo-&gt;dstBufferRange</code> <strong class=\"purple\">must</strong> be an integer multiple of <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>minBitstreamBufferSizeAlignment</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08206",
+ "text": "<code>pEncodeInfo-&gt;srcPictureResource.imageViewBinding</code> <strong class=\"purple\">must</strong> be <a href=\"#video-profile-compatibility\">compatible</a> with the video profile the bound video session was created with",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08207",
+ "text": "The format of <code>pEncodeInfo-&gt;srcPictureResource.imageViewBinding</code> <strong class=\"purple\">must</strong> match the <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>pictureFormat</code> the bound video session was created with",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08208",
+ "text": "<code>pEncodeInfo-&gt;srcPictureResource.codedOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of <code>codedOffsetGranularity</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08209",
+ "text": "<code>pEncodeInfo-&gt;srcPictureResource.codedExtent</code> <strong class=\"purple\">must</strong> be between <code>minCodedExtent</code> and <code>maxCodedExtent</code>, inclusive, the bound video session was created with",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08210",
+ "text": "<code>pEncodeInfo-&gt;srcPictureResource.imageViewBinding</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-commandBuffer-08211",
+ "text": "If <code>commandBuffer</code> is an unprotected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, then <code>pEncodeInfo-&gt;srcPictureResource.imageViewBinding</code> <strong class=\"purple\">must</strong> not have been created from a protected image",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-commandBuffer-08212",
+ "text": "If <code>commandBuffer</code> is a protected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, then <code>pEncodeInfo-&gt;srcPictureResource.imageViewBinding</code> <strong class=\"purple\">must</strong> have been created from a protected image",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08377",
+ "text": "<code>pEncodeInfo-&gt;pSetupReferenceSlot</code> <strong class=\"purple\">must</strong> not be <code>NULL</code> unless the bound video session was created with <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>maxDpbSlots</code> equal to zero",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08213",
+ "text": "If <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then <code>pEncodeInfo-&gt;pSetupReferenceSlot-&gt;slotIndex</code> <strong class=\"purple\">must</strong> be less than the <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>maxDpbSlots</code> specified when the bound video session was created",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08214",
+ "text": "If <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then <code>pEncodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource-&gt;codedOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of <code>codedOffsetGranularity</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08215",
+ "text": "If <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then <code>pEncodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <strong class=\"purple\">must</strong> <a href=\"#video-picture-resource-matching\">match</a> one of the <a href=\"#bound-reference-picture-resources\">bound reference picture resource</a>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-activeReferencePictureCount-08216",
+ "text": "<code>activeReferencePictureCount</code> <strong class=\"purple\">must</strong> be less than or equal to the <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>maxActiveReferencePictures</code> specified when the bound video session was created",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-slotIndex-08217",
+ "text": "The <code>slotIndex</code> member of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> be less than the <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>maxDpbSlots</code> specified when the bound video session was created",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-codedOffset-08218",
+ "text": "The <code>codedOffset</code> member of the <a href=\"#VkVideoPictureResourceInfoKHR\">VkVideoPictureResourceInfoKHR</a> structure pointed to by the <code>pPictureResource</code> member of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> be an integer multiple of <code>codedOffsetGranularity</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pPictureResource-08219",
+ "text": "The <code>pPictureResource</code> member of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> <a href=\"#video-picture-resource-matching\">match</a> one of the <a href=\"#bound-reference-picture-resources\">bound reference picture resource</a> associated with the DPB slot index specified in the <code>slotIndex</code> member of that element",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pPictureResource-08220",
+ "text": "Each video picture resource corresponding to the <code>pPictureResource</code> member specified in the elements of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> be <a href=\"#video-picture-resource-uniqueness\">unique</a> within <code>pEncodeInfo-&gt;pReferenceSlots</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-dpbFrameUseCount-08221",
+ "text": "All elements of <code>dpbFrameUseCount</code> <strong class=\"purple\">must</strong> be less than or equal to <code>1</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08222",
+ "text": "The image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pEncodeInfo-&gt;srcPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR</code> layout at the time the video encode operation is executed on the device",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08223",
+ "text": "If <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pEncodeInfo-&gt;pSetupReferenceSlot-&gt;pPictureResource</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR</code> layout at the time the video encode operation is executed on the device",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pPictureResource-08224",
+ "text": "The image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by the <code>pPictureResource</code> member of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR</code> layout at the time the video encode operation is executed on the device",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08225",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pEncodeInfo</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-StdVideoH264SequenceParameterSet-08226",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the bound video session parameters object <strong class=\"purple\">must</strong> contain a <code>StdVideoH264SequenceParameterSet</code> entry with <code>seq_parameter_set_id</code> matching <code>StdVideoEncodeH264PictureInfo</code>::<code>seq_parameter_set_id</code> that is provided in the <code>pStdPictureInfo</code> member of the <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-StdVideoH264PictureParameterSet-08227",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the bound video session parameters object <strong class=\"purple\">must</strong> contain a <code>StdVideoH264PictureParameterSet</code> entry with <code>seq_parameter_set_id</code> and <code>pic_parameter_set_id</code> matching <code>StdVideoEncodeH264PictureInfo</code>::<code>seq_parameter_set_id</code> and <code>StdVideoEncodeH264PictureInfo</code>::<code>pic_parameter_set_id</code>, respectively, that are provided in the <code>pStdPictureInfo</code> member of the <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08228",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then the <code>pNext</code> chain of <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264DpbSlotInfoKHR\">VkVideoEncodeH264DpbSlotInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08229",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>pNext</code> chain of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH264DpbSlotInfoKHR\">VkVideoEncodeH264DpbSlotInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-constantQp-08269",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and the current <a href=\"#encode-rate-control-modes\">rate control mode</a> is not <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR</code>, then <a href=\"#VkVideoEncodeH264NaluSliceInfoKHR\">VkVideoEncodeH264NaluSliceInfoKHR</a>::<code>constantQp</code> <strong class=\"purple\">must</strong> be zero for each element of the <code>pNaluSliceEntries</code> member of the <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-constantQp-08270",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and the current <a href=\"#encode-rate-control-modes\">rate control mode</a> is <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR</code>, then <a href=\"#VkVideoEncodeH264NaluSliceInfoKHR\">VkVideoEncodeH264NaluSliceInfoKHR</a>::<code>constantQp</code> <strong class=\"purple\">must</strong> be between <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>minQp</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>maxQp</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, for each element of the <code>pNaluSliceEntries</code> member of the <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-constantQp-08271",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code> does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then <a href=\"#VkVideoEncodeH264NaluSliceInfoKHR\">VkVideoEncodeH264NaluSliceInfoKHR</a>::<code>constantQp</code> <strong class=\"purple\">must</strong> have the same value for each element of the <code>pNaluSliceEntries</code> member of the <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-naluSliceEntryCount-08302",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, then the <code>naluSliceEntryCount</code> member of the <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code> <strong class=\"purple\">must</strong> be less than or equal to <code>minCodingBlockExtent.width</code> multiplied by <code>minCodingBlockExtent.height</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-naluSliceEntryCount-08312",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code> does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then the <code>naluSliceEntryCount</code> member of the <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code> <strong class=\"purple\">must</strong> be less than or equal to <code>minCodingBlockExtent.height</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08352",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, the <code>pNext</code> chain of <code>pEncodeInfo</code> includes a <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure, and <code>pEncodeInfo-&gt;referenceSlotCount</code> is greater than zero, then <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a>::<code>pStdPictureInfo-&gt;pRefLists</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08339",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, the <code>pNext</code> chain of <code>pEncodeInfo</code> includes a <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure, and <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a>::<code>pStdPictureInfo-&gt;pRefLists</code> is not <code>NULL</code>, then each element of the <code>RefPicList0</code> and <code>RefPicList1</code> array members of the <code>StdVideoEncodeH264ReferenceListsInfo</code> structure pointed to by <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a>::<code>pStdPictureInfo-&gt;pRefLists</code> <strong class=\"purple\">must</strong> either be <code>STD_VIDEO_H264_NO_REFERENCE_PICTURE</code> or <strong class=\"purple\">must</strong> equal the <code>slotIndex</code> member of one of the elements of <code>pEncodeInfo-&gt;pReferenceSlots</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08353",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, the <code>pNext</code> chain of <code>pEncodeInfo</code> includes a <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure, and <code>pEncodeInfo-&gt;referenceSlotCount</code> is greater than zero, then the <code>slotIndex</code> member of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> equal one of the elements of the <code>RefPicList0</code> or <code>RefPicList1</code> array members of the <code>StdVideoEncodeH264ReferenceListsInfo</code> structure pointed to by <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a>::<code>pStdPictureInfo-&gt;pRefLists</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-maxPPictureL0ReferenceCount-08340",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>maxPPictureL0ReferenceCount</code> is zero, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then <code>h264PictureType</code> and each element of <code>h264L0PictureTypes</code> and <code>h264L1PictureTypes</code> <strong class=\"purple\">must</strong> not be <code>STD_VIDEO_H264_PICTURE_TYPE_P</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-maxBPictureL0ReferenceCount-08341",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>maxBPictureL0ReferenceCount</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>maxL1ReferenceCount</code> are both zero, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then <code>h264PictureType</code> and each element of <code>h264L0PictureTypes</code> and <code>h264L1PictureTypes</code> <strong class=\"purple\">must</strong> not be <code>STD_VIDEO_H264_PICTURE_TYPE_B</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-flags-08342",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code> does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then each element of <code>h264L0PictureTypes</code> <strong class=\"purple\">must</strong> not be <code>STD_VIDEO_H264_PICTURE_TYPE_B</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-flags-08343",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code> does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then each element of <code>h264L1PictureTypes</code> <strong class=\"purple\">must</strong> not be <code>STD_VIDEO_H264_PICTURE_TYPE_B</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08230",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the <code>pNext</code> chain of <code>pEncodeInfo</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-StdVideoH265VideoParameterSet-08231",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the bound video session parameters object <strong class=\"purple\">must</strong> contain a <code>StdVideoH265VideoParameterSet</code> entry with <code>vps_video_parameter_set_id</code> matching <code>StdVideoEncodeH265PictureInfo</code>::<code>sps_video_parameter_set_id</code> that is provided in the <code>pStdPictureInfo</code> member of the <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-StdVideoH265SequenceParameterSet-08232",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the bound video session parameters object <strong class=\"purple\">must</strong> contain a <code>StdVideoH265SequenceParameterSet</code> entry with <code>sps_video_parameter_set_id</code> and <code>sps_seq_parameter_set_id</code> matching <code>StdVideoEncodeH265PictureInfo</code>::<code>sps_video_parameter_set_id</code> and <code>StdVideoEncodeH265PictureInfo</code>::<code>pps_seq_parameter_set_id</code>, respectively, that are provided in the <code>pStdPictureInfo</code> member of the <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-StdVideoH265PictureParameterSet-08233",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the bound video session parameters object <strong class=\"purple\">must</strong> contain a <code>StdVideoH265PictureParameterSet</code> entry with <code>sps_video_parameter_set_id</code>, <code>pps_seq_parameter_set_id</code>, and <code>pps_pic_parameter_set_id</code> matching <code>StdVideoEncodeH265PictureInfo</code>::<code>sps_video_parameter_set_id</code>, <code>StdVideoEncodeH265PictureInfo</code>::<code>pps_seq_parameter_set_id</code>, and <code>StdVideoEncodeH265PictureInfo</code>::<code>pps_pic_parameter_set_id</code>, respectively, that are provided in the <code>pStdPictureInfo</code> member of the <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08234",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> is not <code>NULL</code>, then the <code>pNext</code> chain of <code>pEncodeInfo-&gt;pSetupReferenceSlot</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265DpbSlotInfoKHR\">VkVideoEncodeH265DpbSlotInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08235",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the <code>pNext</code> chain of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> include a <a href=\"#VkVideoEncodeH265DpbSlotInfoKHR\">VkVideoEncodeH265DpbSlotInfoKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-constantQp-08272",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and the current <a href=\"#encode-rate-control-modes\">rate control mode</a> is not <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR</code>, then <a href=\"#VkVideoEncodeH265NaluSliceSegmentInfoKHR\">VkVideoEncodeH265NaluSliceSegmentInfoKHR</a>::<code>constantQp</code> <strong class=\"purple\">must</strong> be zero for each element of the <code>pNaluSliceSegmentEntries</code> member of the <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-constantQp-08273",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and the current <a href=\"#encode-rate-control-modes\">rate control mode</a> is <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR</code>, then <a href=\"#VkVideoEncodeH265NaluSliceSegmentInfoKHR\">VkVideoEncodeH265NaluSliceSegmentInfoKHR</a>::<code>constantQp</code> <strong class=\"purple\">must</strong> be between <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>minQp</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxQp</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, for each element of the <code>pNaluSliceSegmentEntries</code> member of the <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-constantQp-08274",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code> does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then <a href=\"#VkVideoEncodeH265NaluSliceSegmentInfoKHR\">VkVideoEncodeH265NaluSliceSegmentInfoKHR</a>::<code>constantQp</code> <strong class=\"purple\">must</strong> have the same value for each element of the <code>pNaluSliceSegmentEntries</code> member of the <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-naluSliceSegmentEntryCount-08307",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, then the <code>naluSliceSegmentEntryCount</code> member of the <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code> <strong class=\"purple\">must</strong> be less than or equal to <code>minCodingBlockExtent.width</code> multiplied by <code>minCodingBlockExtent.height</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-naluSliceSegmentEntryCount-08313",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code> does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then the <code>naluSliceSegmentEntryCount</code> member of the <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure included in the <code>pNext</code> chain of <code>pEncodeInfo</code> <strong class=\"purple\">must</strong> be less than or equal to <code>minCodingBlockExtent.height</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08354",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, the <code>pNext</code> chain of <code>pEncodeInfo</code> includes a <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure, and <code>pEncodeInfo-&gt;referenceSlotCount</code> is greater than zero, then <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a>::<code>pStdPictureInfo-&gt;pRefLists</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08344",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, the <code>pNext</code> chain of <code>pEncodeInfo</code> includes a <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure, and <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a>::<code>pStdPictureInfo-&gt;pRefLists</code> is not <code>NULL</code>, then each element of the <code>RefPicList0</code> and <code>RefPicList1</code> array members of the <code>StdVideoEncodeH265ReferenceListsInfo</code> structure pointed to by <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a>::<code>pStdPictureInfo-&gt;pRefLists</code> <strong class=\"purple\">must</strong> either be <code>STD_VIDEO_H265_NO_REFERENCE_PICTURE</code> or <strong class=\"purple\">must</strong> equal the <code>slotIndex</code> member of one of the elements of <code>pEncodeInfo-&gt;pReferenceSlots</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-pNext-08355",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, the <code>pNext</code> chain of <code>pEncodeInfo</code> includes a <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a> structure, and <code>pEncodeInfo-&gt;referenceSlotCount</code> is greater than zero, then the <code>slotIndex</code> member of each element of <code>pEncodeInfo-&gt;pReferenceSlots</code> <strong class=\"purple\">must</strong> equal one of the elements of the <code>RefPicList0</code> or <code>RefPicList1</code> array members of the <code>StdVideoEncodeH265ReferenceListsInfo</code> structure pointed to by <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a>::<code>pStdPictureInfo-&gt;pRefLists</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-maxPPictureL0ReferenceCount-08345",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxPPictureL0ReferenceCount</code> is zero, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then <code>h265PictureType</code> and each element of <code>h265L0PictureTypes</code> and <code>h265L1PictureTypes</code> <strong class=\"purple\">must</strong> not be <code>STD_VIDEO_H265_PICTURE_TYPE_P</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-maxBPictureL0ReferenceCount-08346",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxBPictureL0ReferenceCount</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxL1ReferenceCount</code> are both zero, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then <code>h265PictureType</code> and each element of <code>h265L0PictureTypes</code> and <code>h265L1PictureTypes</code> <strong class=\"purple\">must</strong> not be <code>STD_VIDEO_H265_PICTURE_TYPE_B</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-flags-08347",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code> does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then each element of <code>h265L0PictureTypes</code> <strong class=\"purple\">must</strong> not be <code>STD_VIDEO_H264_PICTURE_TYPE_B</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkCmdEncodeVideoKHR-flags-08348",
+ "text": "If the bound video session was created with the video codec operation <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code> does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the video profile the bound video session was created with, then each element of <code>h265L1PictureTypes</code> <strong class=\"purple\">must</strong> not be <code>STD_VIDEO_H265_PICTURE_TYPE_B</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-vkCmdEncodeVideoKHR-commandBuffer-parameter",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
"page": "vkspec"
@@ -92161,8 +93652,38 @@
"VkVideoEncodeInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeInfoKHR-None-07012",
- "text": "The bound video session <strong class=\"purple\">must</strong> not be in <a href=\"#video-session-uninitialized\">uninitialized</a> state at the time the command is executed on the device",
+ "vuid": "VUID-VkVideoEncodeInfoKHR-dstBuffer-08236",
+ "text": "<code>dstBuffer</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code> set",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeInfoKHR-dstBufferOffset-08237",
+ "text": "<code>dstBufferOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>dstBuffer</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeInfoKHR-dstBufferRange-08238",
+ "text": "<code>dstBufferRange</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>dstBuffer</code> minus <code>dstBufferOffset</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeInfoKHR-pSetupReferenceSlot-08239",
+ "text": "If <code>pSetupReferenceSlot</code> is not <code>NULL</code>, then its <code>slotIndex</code> member <strong class=\"purple\">must</strong> not be negative",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeInfoKHR-pSetupReferenceSlot-08240",
+ "text": "If <code>pSetupReferenceSlot</code> is not <code>NULL</code>, then its <code>pPictureResource</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeInfoKHR-slotIndex-08241",
+ "text": "The <code>slotIndex</code> member of each element of <code>pReferenceSlots</code> <strong class=\"purple\">must</strong> not be negative",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeInfoKHR-pPictureResource-08242",
+ "text": "The <code>pPictureResource</code> member of each element of <code>pReferenceSlots</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>",
"page": "vkspec"
},
{
@@ -92172,7 +93693,7 @@
},
{
"vuid": "VUID-VkVideoEncodeInfoKHR-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=\"#VkVideoEncodeH264PictureInfoEXT\">VkVideoEncodeH264PictureInfoEXT</a> or <a href=\"#VkVideoEncodeH265PictureInfoEXT\">VkVideoEncodeH265PictureInfoEXT</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=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a>, <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a>, or <a href=\"#VkVideoInlineQueryInfoKHR\">VkVideoInlineQueryInfoKHR</a>",
"page": "vkspec"
},
{
@@ -92210,6 +93731,66 @@
"VkVideoEncodeRateControlInfoKHR": {
"core": [
{
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08248",
+ "text": "If <code>rateControlMode</code> is <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR</code> or <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR</code>, then <code>layerCount</code> <strong class=\"purple\">must</strong> be <code>0</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08275",
+ "text": "If <code>rateControlMode</code> is <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR</code> or <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR</code>, then <code>layerCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08244",
+ "text": "If <code>rateControlMode</code> is not <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR</code>, then it <strong class=\"purple\">must</strong> specify one of the bits included in <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>::<code>rateControlModes</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-layerCount-08245",
+ "text": "<code>layerCount</code> member <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>::<code>maxRateControlLayers</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-pLayers-08276",
+ "text": "For each element of <code>pLayers</code>, its <code>averageBitrate</code> member <strong class=\"purple\">must</strong> be between <code>1</code> and <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>::<code>maxBitrate</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-pLayers-08277",
+ "text": "For each element of <code>pLayers</code>, its <code>maxBitrate</code> member <strong class=\"purple\">must</strong> be between <code>1</code> and <a href=\"#VkVideoEncodeCapabilitiesKHR\">VkVideoEncodeCapabilitiesKHR</a>::<code>maxBitrate</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08356",
+ "text": "If <code>rateControlMode</code> is <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR</code>, then for each element of <code>pLayers</code>, its <code>averageBitrate</code> member <strong class=\"purple\">must</strong> equal its <code>maxBitrate</code> member",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08278",
+ "text": "If <code>rateControlMode</code> is <code>VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR</code>, then for each element of <code>pLayers</code>, its <code>averageBitrate</code> member <strong class=\"purple\">must</strong> be less than or equal to its <code>maxBitrate</code> member",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-layerCount-08357",
+ "text": "If <code>layerCount</code> is not zero, then <code>virtualBufferSizeInMs</code> <strong class=\"purple\">must</strong> be greater than zero",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-layerCount-08358",
+ "text": "If <code>layerCount</code> is not zero, then <code>initialVirtualBufferSizeInMs</code> <strong class=\"purple\">must</strong> be less than <code>virtualBufferSizeInMs</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-videoCodecOperation-07022",
+ "text": "If the <code>videoCodecOperation</code> of the used video profile is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR</code>, the <code>pNext</code> chain this structure is included in also includes an instance of the <a href=\"#VkVideoEncodeH264RateControlInfoKHR\">VkVideoEncodeH264RateControlInfoKHR</a> structure, and <code>layerCount</code> is greater than <code>1</code>, then <code>layerCount</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkVideoEncodeH264RateControlInfoKHR\">VkVideoEncodeH264RateControlInfoKHR</a>::<code>temporalLayerCount</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlInfoKHR-videoCodecOperation-07025",
+ "text": "If the <code>videoCodecOperation</code> of the used video profile is <code>VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR</code>, the <code>pNext</code> chain this structure is included in also includes an instance of the <a href=\"#VkVideoEncodeH265RateControlInfoKHR\">VkVideoEncodeH265RateControlInfoKHR</a> structure, and <code>layerCount</code> is greater than <code>1</code>, then <code>layerCount</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkVideoEncodeH265RateControlInfoKHR\">VkVideoEncodeH265RateControlInfoKHR</a>::<code>subLayerCount</code>",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkVideoEncodeRateControlInfoKHR-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR</code>",
"page": "vkspec"
@@ -92234,13 +93815,23 @@
"VkVideoEncodeRateControlLayerInfoKHR": {
"core": [
{
+ "vuid": "VUID-VkVideoEncodeRateControlLayerInfoKHR-frameRateNumerator-08350",
+ "text": "<code>frameRateNumerator</code> <strong class=\"purple\">must</strong> be greater than zero",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeRateControlLayerInfoKHR-frameRateDenominator-08351",
+ "text": "<code>frameRateDenominator</code> <strong class=\"purple\">must</strong> be greater than zero",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkVideoEncodeRateControlLayerInfoKHR-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR</code>",
"page": "vkspec"
},
{
"vuid": "VUID-VkVideoEncodeRateControlLayerInfoKHR-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=\"#VkVideoEncodeH264RateControlLayerInfoEXT\">VkVideoEncodeH264RateControlLayerInfoEXT</a> or <a href=\"#VkVideoEncodeH265RateControlLayerInfoEXT\">VkVideoEncodeH265RateControlLayerInfoEXT</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=\"#VkVideoEncodeH264RateControlLayerInfoKHR\">VkVideoEncodeH264RateControlLayerInfoKHR</a> or <a href=\"#VkVideoEncodeH265RateControlLayerInfoKHR\">VkVideoEncodeH265RateControlLayerInfoKHR</a>",
"page": "vkspec"
},
{
@@ -92250,464 +93841,579 @@
}
]
},
- "VkVideoEncodeH264ProfileInfoEXT": {
+ "VkVideoEncodeH264ProfileInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264ProfileInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264ProfileInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264CapabilitiesEXT": {
+ "VkVideoEncodeH264CapabilitiesKHR": {
"core": [
{
- "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-VkVideoEncodeH264CapabilitiesKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264QualityLevelPropertiesEXT": {
+ "VkVideoEncodeH264QualityLevelPropertiesKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264QualityLevelPropertiesEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264QualityLevelPropertiesKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264SessionCreateInfoEXT": {
+ "VkVideoEncodeH264SessionCreateInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264SessionCreateInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264SessionCreateInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264SessionParametersCreateInfoEXT": {
+ "VkVideoEncodeH264SessionParametersCreateInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264SessionParametersCreateInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersCreateInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264SessionParametersCreateInfoEXT-pParametersAddInfo-parameter",
- "text": "If <code>pParametersAddInfo</code> is not <code>NULL</code>, <code>pParametersAddInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkVideoEncodeH264SessionParametersAddInfoEXT\">VkVideoEncodeH264SessionParametersAddInfoEXT</a> structure",
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersCreateInfoKHR-pParametersAddInfo-parameter",
+ "text": "If <code>pParametersAddInfo</code> is not <code>NULL</code>, <code>pParametersAddInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkVideoEncodeH264SessionParametersAddInfoKHR\">VkVideoEncodeH264SessionParametersAddInfoKHR</a> structure",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264SessionParametersAddInfoEXT": {
+ "VkVideoEncodeH264SessionParametersAddInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-stdSPSCount-04837",
- "text": "The values of <code>stdSPSCount</code> and <code>stdPPSCount</code> <strong class=\"purple\">must</strong> be less than or equal to the values of <code>maxStdSPSCount</code> and <code>maxStdPPSCount</code>, respectively",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-maxStdSPSCount-04838",
- "text": "When the <code>maxStdSPSCount</code> number of parameters of type StdVideoH264SequenceParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-maxStdPPSCount-04839",
- "text": "When the <code>maxStdPPSCount</code> number of parameters of type StdVideoH264PictureParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-None-04840",
- "text": "Each entry to be added <strong class=\"purple\">must</strong> have a unique, to the rest of the parameter array entries and the existing parameters in the Video Session Parameters Object that is being updated, SPS-PPS IDs",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-None-04841",
- "text": "Parameter entries that already exist in Video Session Parameters object with a particular SPS-PPS IDs <strong class=\"purple\">cannot</strong> be replaced nor updated",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-None-04842",
- "text": "When creating a new object using a Video Session Parameters as a template, the array&#8217;s parameters with the same SPS-PPS IDs as the ones from the template take precedence",
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoKHR-None-04837",
+ "text": "The <code>seq_parameter_set_id</code> member of each <code>StdVideoH264SequenceParameterSet</code> structure specified in the elements of <code>pStdSPSs</code> <strong class=\"purple\">must</strong> be unique within <code>pStdSPSs</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-None-04843",
- "text": "SPS/PPS parameters <strong class=\"purple\">must</strong> comply with the limits specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a> during Video Session creation",
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoKHR-None-04838",
+ "text": "The pair constructed from the <code>seq_parameter_set_id</code> and <code>pic_parameter_set_id</code> members of each <code>StdVideoH264PictureParameterSet</code> structure specified in the elements of <code>pStdPPSs</code> <strong class=\"purple\">must</strong> be unique within <code>pStdPPSs</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-pStdSPSs-parameter",
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoKHR-pStdSPSs-parameter",
"text": "If <code>stdSPSCount</code> is not <code>0</code>, and <code>pStdSPSs</code> is not <code>NULL</code>, <code>pStdSPSs</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stdSPSCount</code> <code>StdVideoH264SequenceParameterSet</code> values",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-pStdPPSs-parameter",
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoKHR-pStdPPSs-parameter",
"text": "If <code>stdPPSCount</code> is not <code>0</code>, and <code>pStdPPSs</code> is not <code>NULL</code>, <code>pStdPPSs</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stdPPSCount</code> <code>StdVideoH264PictureParameterSet</code> values",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264SessionParametersGetInfoEXT": {
+ "VkVideoEncodeH264SessionParametersGetInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264SessionParametersGetInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersGetInfoKHR-writeStdSPS-08279",
+ "text": "At least one of <code>writeStdSPS</code> and <code>writeStdPPS</code> <strong class=\"purple\">must</strong> be set to <code>VK_TRUE</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersGetInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264SessionParametersFeedbackInfoEXT": {
+ "VkVideoEncodeH264SessionParametersFeedbackInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264SessionParametersFeedbackInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264SessionParametersFeedbackInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264PictureInfoEXT": {
+ "VkVideoEncodeH264PictureInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264PictureInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264PictureInfoKHR-naluSliceEntryCount-08301",
+ "text": "<code>naluSliceEntryCount</code> <strong class=\"purple\">must</strong> be between <code>1</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>maxSliceCount</code>, inclusive, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264PictureInfoKHR-flags-08304",
+ "text": "If <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR</code>, then <code>generatePrefixNalu</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264PictureInfoKHR-flags-08314",
+ "text": "If <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR</code> and the slice corresponding to any element of <code>pNaluSliceEntries</code> uses <a href=\"#encode-h264-weighted-pred\">explicit weighted sample prediction</a>, then <a href=\"#VkVideoEncodeH264NaluSliceInfoKHR\">VkVideoEncodeH264NaluSliceInfoKHR</a>::<code>pStdSliceHeader-&gt;pWeightTable</code> <strong class=\"purple\">must</strong> not be <code>NULL</code> for that element of <code>pNaluSliceEntries</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264PictureInfoEXT-pNaluSliceEntries-parameter",
- "text": "<code>pNaluSliceEntries</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>naluSliceEntryCount</code> valid <a href=\"#VkVideoEncodeH264NaluSliceInfoEXT\">VkVideoEncodeH264NaluSliceInfoEXT</a> structures",
+ "vuid": "VUID-VkVideoEncodeH264PictureInfoKHR-flags-08315",
+ "text": "If <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR</code>, then <a href=\"#VkVideoEncodeH264NaluSliceInfoKHR\">VkVideoEncodeH264NaluSliceInfoKHR</a>::<code>pStdSliceHeader-&gt;slice_type</code> <strong class=\"purple\">must</strong> be identical for all elements of <code>pNaluSliceEntries</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264PictureInfoEXT-pStdPictureInfo-parameter",
+ "vuid": "VUID-VkVideoEncodeH264PictureInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264PictureInfoKHR-pNaluSliceEntries-parameter",
+ "text": "<code>pNaluSliceEntries</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>naluSliceEntryCount</code> valid <a href=\"#VkVideoEncodeH264NaluSliceInfoKHR\">VkVideoEncodeH264NaluSliceInfoKHR</a> structures",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264PictureInfoKHR-pStdPictureInfo-parameter",
"text": "<code>pStdPictureInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoEncodeH264PictureInfo</code> value",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264PictureInfoEXT-naluSliceEntryCount-arraylength",
+ "vuid": "VUID-VkVideoEncodeH264PictureInfoKHR-naluSliceEntryCount-arraylength",
"text": "<code>naluSliceEntryCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264NaluSliceInfoEXT": {
+ "VkVideoEncodeH264NaluSliceInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264NaluSliceInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264NaluSliceInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264NaluSliceInfoEXT-pNext-pNext",
+ "vuid": "VUID-VkVideoEncodeH264NaluSliceInfoKHR-pNext-pNext",
"text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264NaluSliceInfoEXT-pStdSliceHeader-parameter",
+ "vuid": "VUID-VkVideoEncodeH264NaluSliceInfoKHR-pStdSliceHeader-parameter",
"text": "<code>pStdSliceHeader</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoEncodeH264SliceHeader</code> value",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264DpbSlotInfoEXT": {
+ "VkVideoEncodeH264DpbSlotInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264DpbSlotInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdReferenceInfo-parameter",
+ "vuid": "VUID-VkVideoEncodeH264DpbSlotInfoKHR-pStdReferenceInfo-parameter",
"text": "<code>pStdReferenceInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoEncodeH264ReferenceInfo</code> value",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264RateControlInfoEXT": {
+ "VkVideoEncodeH264RateControlInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264RateControlInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264RateControlInfoKHR-flags-08280",
+ "text": "If <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR</code>, then <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlInfoKHR-flags-08281",
+ "text": "If <code>flags</code> contains <code>VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR</code> or <code>VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR</code>, then it <strong class=\"purple\">must</strong> also contain <code>VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlInfoKHR-flags-08282",
+ "text": "If <code>flags</code> contains <code>VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR</code>, then it <strong class=\"purple\">must</strong> not also contain <code>VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlInfoKHR-flags-08283",
+ "text": "If <code>flags</code> contains <code>VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR</code>, then <code>gopFrameCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlInfoKHR-idrPeriod-08284",
+ "text": "If <code>idrPeriod</code> is not <code>0</code>, then it <strong class=\"purple\">must</strong> be greater than or equal to <code>gopFrameCount</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlInfoKHR-consecutiveBFrameCount-08285",
+ "text": "If <code>consecutiveBFrameCount</code> is not <code>0</code>, then it <strong class=\"purple\">must</strong> be less than <code>gopFrameCount</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264RateControlInfoEXT-flags-parameter",
- "text": "<code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH264RateControlFlagBitsEXT\">VkVideoEncodeH264RateControlFlagBitsEXT</a> values",
+ "vuid": "VUID-VkVideoEncodeH264RateControlInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlInfoKHR-flags-parameter",
+ "text": "<code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH264RateControlFlagBitsKHR\">VkVideoEncodeH264RateControlFlagBitsKHR</a> values",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264RateControlLayerInfoEXT": {
+ "VkVideoEncodeH264RateControlLayerInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoKHR-useMinQp-08286",
+ "text": "If <code>useMinQp</code> is <code>VK_TRUE</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>minQp</code> <strong class=\"purple\">must</strong> all be between <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>minQp</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>maxQp</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoKHR-useMaxQp-08287",
+ "text": "If <code>useMaxQp</code> is <code>VK_TRUE</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>maxQp</code> <strong class=\"purple\">must</strong> all be between <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>minQp</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>maxQp</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoEXT-minQp-parameter",
- "text": "<code>minQp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH264QpEXT\">VkVideoEncodeH264QpEXT</a> structure",
+ "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoKHR-useMinQp-08288",
+ "text": "If <code>useMinQp</code> is <code>VK_TRUE</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>minQp</code> <strong class=\"purple\">must</strong> all specify the same value",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoEXT-maxQp-parameter",
- "text": "<code>maxQp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH264QpEXT\">VkVideoEncodeH264QpEXT</a> structure",
+ "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoKHR-useMaxQp-08289",
+ "text": "If <code>useMaxQp</code> is <code>VK_TRUE</code> and <a href=\"#VkVideoEncodeH264CapabilitiesKHR\">VkVideoEncodeH264CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>maxQp</code> <strong class=\"purple\">must</strong> all specify the same value",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoEXT-maxFrameSize-parameter",
- "text": "<code>maxFrameSize</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH264FrameSizeEXT\">VkVideoEncodeH264FrameSizeEXT</a> structure",
+ "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoKHR-useMinQp-08374",
+ "text": "If <code>useMinQp</code> and <code>useMaxQp</code> are both <code>VK_TRUE</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>minQp</code> <strong class=\"purple\">must</strong> all be less than or equal to the respective members of <code>maxQp</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoKHR-minQp-parameter",
+ "text": "<code>minQp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH264QpKHR\">VkVideoEncodeH264QpKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoKHR-maxQp-parameter",
+ "text": "<code>maxQp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH264QpKHR\">VkVideoEncodeH264QpKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH264RateControlLayerInfoKHR-maxFrameSize-parameter",
+ "text": "<code>maxFrameSize</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH264FrameSizeKHR\">VkVideoEncodeH264FrameSizeKHR</a> structure",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH264GopRemainingFrameInfoEXT": {
+ "VkVideoEncodeH264GopRemainingFrameInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH264GopRemainingFrameInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH264GopRemainingFrameInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265ProfileInfoEXT": {
+ "VkVideoEncodeH265ProfileInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265ProfileInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265ProfileInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265CapabilitiesEXT": {
+ "VkVideoEncodeH265CapabilitiesKHR": {
"core": [
{
- "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-VkVideoEncodeH265CapabilitiesKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265QualityLevelPropertiesEXT": {
+ "VkVideoEncodeH265QualityLevelPropertiesKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265QualityLevelPropertiesEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265QualityLevelPropertiesKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265SessionCreateInfoEXT": {
+ "VkVideoEncodeH265SessionCreateInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265SessionCreateInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265SessionCreateInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265SessionParametersCreateInfoEXT": {
+ "VkVideoEncodeH265SessionParametersCreateInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersCreateInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersCreateInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersCreateInfoEXT-pParametersAddInfo-parameter",
- "text": "If <code>pParametersAddInfo</code> is not <code>NULL</code>, <code>pParametersAddInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkVideoEncodeH265SessionParametersAddInfoEXT\">VkVideoEncodeH265SessionParametersAddInfoEXT</a> structure",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersCreateInfoKHR-pParametersAddInfo-parameter",
+ "text": "If <code>pParametersAddInfo</code> is not <code>NULL</code>, <code>pParametersAddInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkVideoEncodeH265SessionParametersAddInfoKHR\">VkVideoEncodeH265SessionParametersAddInfoKHR</a> structure",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265SessionParametersAddInfoEXT": {
+ "VkVideoEncodeH265SessionParametersAddInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-pStdVPSs-parameter",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoKHR-pStdVPSs-parameter",
"text": "If <code>stdVPSCount</code> is not <code>0</code>, and <code>pStdVPSs</code> is not <code>NULL</code>, <code>pStdVPSs</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stdVPSCount</code> <code>StdVideoH265VideoParameterSet</code> values",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-pStdSPSs-parameter",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoKHR-pStdSPSs-parameter",
"text": "If <code>stdSPSCount</code> is not <code>0</code>, and <code>pStdSPSs</code> is not <code>NULL</code>, <code>pStdSPSs</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stdSPSCount</code> <code>StdVideoH265SequenceParameterSet</code> values",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-pStdPPSs-parameter",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoKHR-pStdPPSs-parameter",
"text": "If <code>stdPPSCount</code> is not <code>0</code>, and <code>pStdPPSs</code> is not <code>NULL</code>, <code>pStdPPSs</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stdPPSCount</code> <code>StdVideoH265PictureParameterSet</code> values",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-stdVPSCount-06438",
- "text": "The values of <code>stdVPSCount</code>, <code>stdSPSCount</code> and <code>stdPPSCount</code> <strong class=\"purple\">must</strong> be less than or equal to the values of <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoEXT\">VkVideoEncodeH265SessionParametersCreateInfoEXT</a>::<code>maxStdVPSCount</code>, <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoEXT\">VkVideoEncodeH265SessionParametersCreateInfoEXT</a>:<code>maxStdSPSCount</code>, and <a href=\"#VkVideoEncodeH265SessionParametersCreateInfoEXT\">VkVideoEncodeH265SessionParametersCreateInfoEXT</a>:<code>maxStdPPSCount</code>, respectively",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-pStdVPSs-06439",
- "text": "Each <code>StdVideoH265VideoParameterSet</code> entry in <code>pStdVPSs</code> <strong class=\"purple\">must</strong> have a unique H.265 VPS ID",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-pStdSPSs-06440",
- "text": "Each <code>StdVideoH265SequenceParameterSet</code> entry in <code>pStdSPSs</code> <strong class=\"purple\">must</strong> have a unique H.265 VPS-SPS ID pair",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-pStdPPSs-06441",
- "text": "Each <code>StdVideoH265PictureParameterSet</code> entry in <code>pStdPPSs</code> <strong class=\"purple\">must</strong> have a unique H.265 VPS-SPS-PPS ID tuple",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoKHR-None-06438",
+ "text": "The <code>vps_video_parameter_set_id</code> member of each <code>StdVideoH265VideoParameterSet</code> structure specified in the elements of <code>pStdVPSs</code> <strong class=\"purple\">must</strong> be unique within <code>pStdVPSs</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-None-06442",
- "text": "Each entry to be added <strong class=\"purple\">must</strong> have a unique, to the rest of the parameter array entries and the existing parameters in the Video Session Parameters Object that is being updated, VPS-SPS-PPS IDs",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoKHR-None-06439",
+ "text": "The pair constructed from the <code>sps_video_parameter_set_id</code> and <code>sps_seq_parameter_set_id</code> members of each <code>StdVideoH265SequenceParameterSet</code> structure specified in the elements of <code>pStdSPSs</code> <strong class=\"purple\">must</strong> be unique within <code>pStdSPSs</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-None-06443",
- "text": "Parameter entries that already exist in Video Session Parameters object with a particular VPS-SPS-PPS IDs <strong class=\"purple\">must</strong> not be replaced nor updated",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoKHR-None-06440",
+ "text": "The triplet constructed from the <code>sps_video_parameter_set_id</code>, <code>pps_seq_parameter_set_id</code>, and <code>pps_pic_parameter_set_id</code> members of each <code>StdVideoH265PictureParameterSet</code> structure specified in the elements of <code>pStdPPSs</code> <strong class=\"purple\">must</strong> be unique within <code>pStdPPSs</code>",
"page": "vkspec"
- },
+ }
+ ]
+ },
+ "VkVideoEncodeH265SessionParametersGetInfoKHR": {
+ "core": [
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-None-06444",
- "text": "When creating a new object using a Video Session Parameters as a template, the array&#8217;s parameters with the same VPS-SPS-PPS IDs as the ones from the template take precedence",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersGetInfoKHR-writeStdVPS-08290",
+ "text": "At least one of <code>writeStdVPS</code>, <code>writeStdSPS</code>, and <code>writeStdPPS</code> <strong class=\"purple\">must</strong> be set to <code>VK_TRUE</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersAddInfoEXT-None-06445",
- "text": "VPS/SPS/PPS parameters <strong class=\"purple\">must</strong> comply with the limits specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a> during Video Session creation",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersGetInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265SessionParametersGetInfoEXT": {
+ "VkVideoEncodeH265SessionParametersFeedbackInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersGetInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265SessionParametersFeedbackInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265SessionParametersFeedbackInfoEXT": {
+ "VkVideoEncodeH265PictureInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265SessionParametersFeedbackInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265PictureInfoKHR-naluSliceSegmentEntryCount-08306",
+ "text": "<code>naluSliceSegmentEntryCount</code> <strong class=\"purple\">must</strong> be between <code>1</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxSliceSegmentCount</code>, inclusive, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
"page": "vkspec"
- }
- ]
- },
- "VkVideoEncodeH265PictureInfoEXT": {
- "core": [
+ },
{
- "vuid": "VUID-VkVideoEncodeH265PictureInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265PictureInfoKHR-flags-08323",
+ "text": "If <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR</code>, then <code>naluSliceSegmentEntryCount</code> <strong class=\"purple\">must</strong> be greater than or equal to the <a href=\"#encode-h265-tile-count\">number of H.265 tiles in the picture</a>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265PictureInfoEXT-pNaluSliceSegmentEntries-parameter",
- "text": "<code>pNaluSliceSegmentEntries</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>naluSliceSegmentEntryCount</code> valid <a href=\"#VkVideoEncodeH265NaluSliceSegmentInfoEXT\">VkVideoEncodeH265NaluSliceSegmentInfoEXT</a> structures",
+ "vuid": "VUID-VkVideoEncodeH265PictureInfoKHR-flags-08324",
+ "text": "If <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR</code>, then <code>naluSliceSegmentEntryCount</code> <strong class=\"purple\">must</strong> be less than or equal to the <a href=\"#encode-h265-tile-count\">number of H.265 tiles in the picture</a>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265PictureInfoEXT-pStdPictureInfo-parameter",
+ "vuid": "VUID-VkVideoEncodeH265PictureInfoKHR-flags-08316",
+ "text": "If <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR</code> and the slice segment corresponding to any element of <code>pNaluSliceSegmentEntries</code> uses <a href=\"#encode-h265-weighted-pred\">explicit weighted sample prediction</a>, then <a href=\"#VkVideoEncodeH265NaluSliceSegmentInfoKHR\">VkVideoEncodeH265NaluSliceSegmentInfoKHR</a>::<code>pStdSliceSegmentHeader-&gt;pWeightTable</code> <strong class=\"purple\">must</strong> not be <code>NULL</code> for that element of <code>pNaluSliceSegmentEntries</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265PictureInfoKHR-flags-08317",
+ "text": "If <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR</code>, then <a href=\"#VkVideoEncodeH265NaluSliceSegmentInfoKHR\">VkVideoEncodeH265NaluSliceSegmentInfoKHR</a>::<code>pStdSliceSegmentHeader-&gt;slice_type</code> <strong class=\"purple\">must</strong> be identical for all elements of <code>pNaluSliceSegmentEntries</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265PictureInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265PictureInfoKHR-pNaluSliceSegmentEntries-parameter",
+ "text": "<code>pNaluSliceSegmentEntries</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>naluSliceSegmentEntryCount</code> valid <a href=\"#VkVideoEncodeH265NaluSliceSegmentInfoKHR\">VkVideoEncodeH265NaluSliceSegmentInfoKHR</a> structures",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265PictureInfoKHR-pStdPictureInfo-parameter",
"text": "<code>pStdPictureInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoEncodeH265PictureInfo</code> value",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265PictureInfoEXT-naluSliceSegmentEntryCount-arraylength",
+ "vuid": "VUID-VkVideoEncodeH265PictureInfoKHR-naluSliceSegmentEntryCount-arraylength",
"text": "<code>naluSliceSegmentEntryCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265NaluSliceSegmentInfoEXT": {
+ "VkVideoEncodeH265NaluSliceSegmentInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265NaluSliceSegmentInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265NaluSliceSegmentInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265NaluSliceSegmentInfoEXT-pNext-pNext",
+ "vuid": "VUID-VkVideoEncodeH265NaluSliceSegmentInfoKHR-pNext-pNext",
"text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265NaluSliceSegmentInfoEXT-pStdSliceSegmentHeader-parameter",
+ "vuid": "VUID-VkVideoEncodeH265NaluSliceSegmentInfoKHR-pStdSliceSegmentHeader-parameter",
"text": "<code>pStdSliceSegmentHeader</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoEncodeH265SliceSegmentHeader</code> value",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265DpbSlotInfoEXT": {
+ "VkVideoEncodeH265DpbSlotInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265DpbSlotInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265DpbSlotInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265DpbSlotInfoEXT-pStdReferenceInfo-parameter",
+ "vuid": "VUID-VkVideoEncodeH265DpbSlotInfoKHR-pStdReferenceInfo-parameter",
"text": "<code>pStdReferenceInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoEncodeH265ReferenceInfo</code> value",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265RateControlInfoEXT": {
+ "VkVideoEncodeH265RateControlInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265RateControlInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265RateControlInfoKHR-flags-08291",
+ "text": "If <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR</code>, then <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlInfoKHR-flags-08292",
+ "text": "If <code>flags</code> contains <code>VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR</code> or <code>VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR</code>, then it <strong class=\"purple\">must</strong> also contain <code>VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlInfoKHR-flags-08293",
+ "text": "If <code>flags</code> contains <code>VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR</code>, then it <strong class=\"purple\">must</strong> not also contain <code>VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlInfoKHR-flags-08294",
+ "text": "If <code>flags</code> contains <code>VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR</code>, then <code>gopFrameCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265RateControlInfoEXT-flags-parameter",
- "text": "<code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265RateControlFlagBitsEXT\">VkVideoEncodeH265RateControlFlagBitsEXT</a> values",
+ "vuid": "VUID-VkVideoEncodeH265RateControlInfoKHR-idrPeriod-08295",
+ "text": "If <code>idrPeriod</code> is not <code>0</code>, then it <strong class=\"purple\">must</strong> be greater than or equal to <code>gopFrameCount</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlInfoKHR-consecutiveBFrameCount-08296",
+ "text": "If <code>consecutiveBFrameCount</code> is not <code>0</code>, then it <strong class=\"purple\">must</strong> be less than <code>gopFrameCount</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlInfoKHR-flags-parameter",
+ "text": "<code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265RateControlFlagBitsKHR\">VkVideoEncodeH265RateControlFlagBitsKHR</a> values",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265RateControlLayerInfoEXT": {
+ "VkVideoEncodeH265RateControlLayerInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoKHR-useMinQp-08297",
+ "text": "If <code>useMinQp</code> is <code>VK_TRUE</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>minQp</code> <strong class=\"purple\">must</strong> all be between <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>minQp</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxQp</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoKHR-useMaxQp-08298",
+ "text": "If <code>useMaxQp</code> is <code>VK_TRUE</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>maxQp</code> <strong class=\"purple\">must</strong> all be between <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>minQp</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>maxQp</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoKHR-useMinQp-08299",
+ "text": "If <code>useMinQp</code> is <code>VK_TRUE</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>minQp</code> <strong class=\"purple\">must</strong> all specify the same value",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoKHR-useMaxQp-08300",
+ "text": "If <code>useMaxQp</code> is <code>VK_TRUE</code> and <a href=\"#VkVideoEncodeH265CapabilitiesKHR\">VkVideoEncodeH265CapabilitiesKHR</a>::<code>flags</code>, as returned by <a href=\"#vkGetPhysicalDeviceVideoCapabilitiesKHR\">vkGetPhysicalDeviceVideoCapabilitiesKHR</a> for the used video profile, does not include <code>VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>maxQp</code> <strong class=\"purple\">must</strong> all specify the same value",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoKHR-useMinQp-08375",
+ "text": "If <code>useMinQp</code> and <code>useMaxQp</code> are both <code>VK_TRUE</code>, then the <code>qpI</code>, <code>qpP</code>, and <code>qpB</code> members of <code>minQp</code> <strong class=\"purple\">must</strong> all be less than or equal to the respective members of <code>maxQp</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoEXT-minQp-parameter",
- "text": "<code>minQp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH265QpEXT\">VkVideoEncodeH265QpEXT</a> structure",
+ "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR</code>",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoEXT-maxQp-parameter",
- "text": "<code>maxQp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH265QpEXT\">VkVideoEncodeH265QpEXT</a> structure",
+ "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoKHR-minQp-parameter",
+ "text": "<code>minQp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH265QpKHR\">VkVideoEncodeH265QpKHR</a> structure",
"page": "vkspec"
},
{
- "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoEXT-maxFrameSize-parameter",
- "text": "<code>maxFrameSize</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH265FrameSizeEXT\">VkVideoEncodeH265FrameSizeEXT</a> structure",
+ "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoKHR-maxQp-parameter",
+ "text": "<code>maxQp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH265QpKHR\">VkVideoEncodeH265QpKHR</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkVideoEncodeH265RateControlLayerInfoKHR-maxFrameSize-parameter",
+ "text": "<code>maxFrameSize</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkVideoEncodeH265FrameSizeKHR\">VkVideoEncodeH265FrameSizeKHR</a> structure",
"page": "vkspec"
}
]
},
- "VkVideoEncodeH265GopRemainingFrameInfoEXT": {
+ "VkVideoEncodeH265GopRemainingFrameInfoKHR": {
"core": [
{
- "vuid": "VUID-VkVideoEncodeH265GopRemainingFrameInfoEXT-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_EXT</code>",
+ "vuid": "VUID-VkVideoEncodeH265GopRemainingFrameInfoKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR</code>",
"page": "vkspec"
}
]
@@ -93124,6 +94830,11 @@
"VkExecutionGraphPipelineCreateInfoAMDX": {
"core": [
{
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09497",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code>: must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "page": "vkspec"
+ },
+ {
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07984",
"text": "If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is -1, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid execution graph <code>VkPipeline</code> handle",
"page": "vkspec"
@@ -95787,6 +97498,15 @@
}
]
},
+ "VkPhysicalDeviceVideoMaintenance1FeaturesKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceVideoMaintenance1FeaturesKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
"VkPhysicalDeviceExtendedDynamicStateFeaturesEXT": {
"core": [
{
@@ -96242,6 +97962,15 @@
}
]
},
+ "VkPhysicalDeviceMaintenance6FeaturesKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceMaintenance6FeaturesKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
"VkPhysicalDeviceDynamicRenderingFeatures": {
"core": [
{
@@ -96647,6 +98376,15 @@
}
]
},
+ "VkPhysicalDevicePerStageDescriptorSetFeaturesNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkPhysicalDevicePerStageDescriptorSetFeaturesNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
"VkPhysicalDeviceCudaKernelLaunchFeaturesNV": {
"core": [
{
@@ -96854,6 +98592,15 @@
}
]
},
+ "VkPhysicalDeviceMaintenance6PropertiesKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceMaintenance6PropertiesKHR-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
"VkPhysicalDeviceMeshShaderPropertiesNV": {
"core": [
{