diff options
Diffstat (limited to 'registry/validusage.json')
-rw-r--r-- | registry/validusage.json | 2357 |
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->imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pDepthAttachment->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->resolveMode</code> is not <code>VK_RESOLVE_MODE_NONE</code>, <code>pDepthAttachment->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->imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pStencilAttachment->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->resolveMode</code> is not <code>VK_RESOLVE_MODE_NONE</code>, <code>pStencilAttachment->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->imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pDepthAttachment->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->imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, and <code>pDepthAttachment->resolveMode</code> is not <code>VK_RESOLVE_MODE_NONE</code>, <code>pDepthAttachment->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->imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pStencilAttachment->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->imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, and <code>pStencilAttachment->resolveMode</code> is not <code>VK_RESOLVE_MODE_NONE</code>, <code>pStencilAttachment->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’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’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’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’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’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>’s parent <code>VkCommandPool</code>’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>’s parent <code>VkCommandPool</code>’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>’s parent <code>VkCommandPool</code>’s queue family", + "vuid": "VUID-vkCmdBindDescriptorSets2KHR-pBindDescriptorSetsInfo-09467", + "text": "Each bit in <code>pBindDescriptorSetsInfo->stageFlags</code> <strong class=\"purple\">must</strong> be a stage supported by the <code>commandBuffer</code>’s parent <code>VkCommandPool</code>’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>’s parent <code>VkCommandPool</code>’s queue family", "page": "vkspec" }, { @@ -28806,6 +29123,109 @@ } ] }, + "vkCmdPushDescriptorSet2KHR": { + "core": [ + { + "vuid": "VUID-vkCmdPushDescriptorSet2KHR-pPushDescriptorSetInfo-09468", + "text": "Each bit in <code>pPushDescriptorSetInfo->stageFlags</code> <strong class=\"purple\">must</strong> be a stage supported by the <code>commandBuffer</code>’s parent <code>VkCommandPool</code>’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>’s parent <code>VkCommandPool</code>’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’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>’s parent <code>VkCommandPool</code>’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>’s parent <code>VkCommandPool</code>’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>’s parent <code>VkCommandPool</code>’s queue family", + "vuid": "VUID-vkCmdSetDescriptorBufferOffsets2EXT-pSetDescriptorBufferOffsetsInfo-09471", + "text": "Each bit in <code>pSetDescriptorBufferOffsetsInfo->stageFlags</code> <strong class=\"purple\">must</strong> be a stage supported by the <code>commandBuffer</code>’s parent <code>VkCommandPool</code>’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>’s parent <code>VkCommandPool</code>’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->stageFlags</code> <strong class=\"purple\">must</strong> be a stage supported by the <code>commandBuffer</code>’s parent <code>VkCommandPool</code>’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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->videoSession</code> at the time the command is executed on the device", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdBeginVideoCodingKHR-pBeginInfo-08255", + "text": "If <code>pBeginInfo->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->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->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->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->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->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->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->pSetupReferenceSlot</code> is not <code>NULL</code>, then <code>pDecodeInfo->pSetupReferenceSlot->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->pVideoProfile->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->pVideoProfile->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->dstBuffer</code> <strong class=\"purple\">must</strong> be a protected buffer", + "page": "vkspec" + }, + { + "vuid": "VUID-vkCmdEncodeVideoKHR-pEncodeInfo-08204", + "text": "<code>pEncodeInfo->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->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->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->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->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->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->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->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->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->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->pSetupReferenceSlot</code> is not <code>NULL</code>, then <code>pEncodeInfo->pSetupReferenceSlot->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->pSetupReferenceSlot</code> is not <code>NULL</code>, then <code>pEncodeInfo->pSetupReferenceSlot->pPictureResource->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->pSetupReferenceSlot</code> is not <code>NULL</code>, then <code>pEncodeInfo->pSetupReferenceSlot->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->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->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->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->pReferenceSlots</code> <strong class=\"purple\">must</strong> be <a href=\"#video-picture-resource-uniqueness\">unique</a> within <code>pEncodeInfo->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->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->pSetupReferenceSlot</code> is not <code>NULL</code>, then the image subresource <a href=\"#video-image-subresource-reference\">referred</a> to by <code>pEncodeInfo->pSetupReferenceSlot->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->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->pSetupReferenceSlot</code> is not <code>NULL</code>, then the <code>pNext</code> chain of <code>pEncodeInfo->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->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->referenceSlotCount</code> is greater than zero, then <a href=\"#VkVideoEncodeH264PictureInfoKHR\">VkVideoEncodeH264PictureInfoKHR</a>::<code>pStdPictureInfo->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->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->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->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->referenceSlotCount</code> is greater than zero, then the <code>slotIndex</code> member of each element of <code>pEncodeInfo->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->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->pSetupReferenceSlot</code> is not <code>NULL</code>, then the <code>pNext</code> chain of <code>pEncodeInfo->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->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->referenceSlotCount</code> is greater than zero, then <a href=\"#VkVideoEncodeH265PictureInfoKHR\">VkVideoEncodeH265PictureInfoKHR</a>::<code>pStdPictureInfo->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->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->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->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->referenceSlotCount</code> is greater than zero, then the <code>slotIndex</code> member of each element of <code>pEncodeInfo->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->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’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->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->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’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->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->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": [ { |