aboutsummaryrefslogtreecommitdiffhomepage
path: root/registry/validusage.json
diff options
context:
space:
mode:
Diffstat (limited to 'registry/validusage.json')
-rw-r--r--registry/validusage.json620
1 files changed, 417 insertions, 203 deletions
diff --git a/registry/validusage.json b/registry/validusage.json
index e139b8b..e21e77b 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.248",
- "comment": "from git branch: github-main commit: 9fff8b252a3688c0231fa78709084bbe677d3bf7",
- "date": "2023-04-20 06:40:22Z"
+ "api version": "1.3.249",
+ "comment": "from git branch: github-main commit: 58e747b4b453a787c1043f30fbf6669b3ba29e0e",
+ "date": "2023-04-27 09:47:27Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -738,7 +738,7 @@
},
{
"vuid": "VUID-VkDeviceCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</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=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</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=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</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=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</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=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</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=\"#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=\"#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=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</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=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</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=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</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=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</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=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</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=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</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=\"#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=\"#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=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</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=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>"
},
{
"vuid": "VUID-VkDeviceCreateInfo-sType-unique",
@@ -9610,11 +9610,11 @@
},
{
"vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-03181",
- "text": " If <code>pDepthStencilResolveAttachment</code> is not <code>NULL</code> and does not have the value <code>VK_ATTACHMENT_UNUSED</code> and <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilResolveAttachment</code> has a depth component, then the <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilAttachment</code> <strong class=\"purple\">must</strong> have a depth component with the same number of bits and numerical type"
+ "text": " If <code>pDepthStencilResolveAttachment</code> is not <code>NULL</code> and does not have the value <code>VK_ATTACHMENT_UNUSED</code> and <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilResolveAttachment</code> has a depth component, then the <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilAttachment</code> <strong class=\"purple\">must</strong> have a depth component with the same number of bits and <a href=\"#formats-numericformat\">numeric format</a>"
},
{
"vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-03182",
- "text": " If <code>pDepthStencilResolveAttachment</code> is not <code>NULL</code> and does not have the value <code>VK_ATTACHMENT_UNUSED</code>, and <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilResolveAttachment</code> has a stencil component, then the <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilAttachment</code> <strong class=\"purple\">must</strong> have a stencil component with the same number of bits and numerical type"
+ "text": " If <code>pDepthStencilResolveAttachment</code> is not <code>NULL</code> and does not have the value <code>VK_ATTACHMENT_UNUSED</code>, and <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilResolveAttachment</code> has a stencil component, then the <a href=\"#VkFormat\">VkFormat</a> of <code>pDepthStencilAttachment</code> <strong class=\"purple\">must</strong> have a stencil component with the same number of bits and <a href=\"#formats-numericformat\">numeric format</a>"
},
{
"vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-03178",
@@ -11804,7 +11804,7 @@
"(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkDestroyShaderEXT-None-08481",
- "text": " The <a href=\"#features-shaderObject\">shaderObject</a> feature <strong class=\"purple\">must</strong> be enabled"
+ "text": " The <a href=\"#features-shaderObject\"><code>shaderObject</code></a> feature <strong class=\"purple\">must</strong> be enabled"
},
{
"vuid": "VUID-vkDestroyShaderEXT-shader-08482",
@@ -14210,11 +14210,11 @@
"(VK_QCOM_multiview_per_view_viewports)": [
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07730",
- "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_VIEWPORT</code> or <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code>, and if <a href=\"#features-multiview-per-view-viewports\">multiviewPerViewViewports</a> is enabled, then the index of the most significant bit in each element of <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a>::<code>pViewMasks</code> <strong class=\"purple\">must</strong> be less than <code>pViewportState</code>::<code>viewportCount</code>"
+ "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_VIEWPORT</code> or <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code>, and if <a href=\"#features-multiview-per-view-viewports\"><code>multiviewPerViewViewports</code></a> is enabled, then the index of the most significant bit in each element of <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a>::<code>pViewMasks</code> <strong class=\"purple\">must</strong> be less than <code>pViewportState</code>::<code>viewportCount</code>"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07731",
- "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SCISSOR</code> or <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code>, and if <a href=\"#features-multiview-per-view-viewports\">multiviewPerViewViewports</a> is enabled, then the index of the most significant bit in each element of <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a>::<code>pViewMasks</code> <strong class=\"purple\">must</strong> be less than <code>pViewportState</code>::<code>scissorCount</code>"
+ "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_SCISSOR</code> or <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code>, and if <a href=\"#features-multiview-per-view-viewports\"><code>multiviewPerViewViewports</code></a> is enabled, then the index of the most significant bit in each element of <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a>::<code>pViewMasks</code> <strong class=\"purple\">must</strong> be less than <code>pViewportState</code>::<code>scissorCount</code>"
}
],
"(VK_EXT_shader_tile_image)": [
@@ -22690,7 +22690,7 @@
"(VK_EXT_custom_border_color)": [
{
"vuid": "VUID-VkSamplerCustomBorderColorCreateInfoEXT-format-07605",
- "text": " If <code>format</code> is not <code>VK_FORMAT_UNDEFINED</code> and <code>format</code> is not a depth/stencil format then the <a href=\"#VkSamplerCreateInfo\">VkSamplerCreateInfo</a>::<code>borderColor</code> type <strong class=\"purple\">must</strong> match the sampled type of the provided <code>format</code>, as shown in the <em>SPIR-V Sampled Type</em> column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If <code>format</code> is not <code>VK_FORMAT_UNDEFINED</code> and <code>format</code> is not a depth/stencil format then the <a href=\"#VkSamplerCreateInfo\">VkSamplerCreateInfo</a>::<code>borderColor</code> type <strong class=\"purple\">must</strong> match the sampled type of the provided <code>format</code>, as shown in the <em>SPIR-V Type</em> column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
},
{
"vuid": "VUID-VkSamplerCustomBorderColorCreateInfoEXT-format-04014",
@@ -26346,6 +26346,30 @@
}
]
},
+ "HitTriangleVertexPositionsKHR": {
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_position_fetch)": [
+ {
+ "vuid": "VUID-HitTriangleVertexPositionsKHR-HitTriangleVertexPositionsKHR-08747",
+ "text": " The <code>HitTriangleVertexPositionsKHR</code> decoration <strong class=\"purple\">must</strong> be used only within the <code>AnyHitKHR</code> or <code>ClosestHitKHR</code> {ExecutionModel}"
+ },
+ {
+ "vuid": "VUID-HitTriangleVertexPositionsKHR-HitTriangleVertexPositionsKHR-08748",
+ "text": " The variable decorated with <code>HitTriangleVertexPositionsKHR</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+ },
+ {
+ "vuid": "VUID-HitTriangleVertexPositionsKHR-HitTriangleVertexPositionsKHR-08749",
+ "text": " The variable decorated with <code>HitTriangleVertexPositionsKHR</code> <strong class=\"purple\">must</strong> be declared as an array of three vectors of three 32-bit float values"
+ },
+ {
+ "vuid": "VUID-HitTriangleVertexPositionsKHR-HitTriangleVertexPositionsKHR-08750",
+ "text": " The variable decorated with <code>HitTriangleVertexPositionsKHR</code> <strong class=\"purple\">must</strong> be used only if the value of <code>HitKindKHR</code> is <code>HitKindFrontFacingTriangleKHR</code> or <code>HitKindBackFacingTriangleKHR</code>"
+ },
+ {
+ "vuid": "VUID-HitTriangleVertexPositionsKHR-None-08751",
+ "text": " The acceleration structure corresponding to the current intersection <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR</code>"
+ }
+ ]
+ },
"IncomingRayFlagsKHR": {
"(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)": [
{
@@ -28505,6 +28529,10 @@
"text": " All queries used by the command <strong class=\"purple\">must</strong> not be active"
},
{
+ "vuid": "VUID-vkCmdCopyQueryPoolResults-None-08752",
+ "text": " All queries used by the command <strong class=\"purple\">must</strong> have been made <em>available</em> by prior executed commands"
+ },
+ {
"vuid": "VUID-vkCmdCopyQueryPoolResults-commandBuffer-parameter",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
},
@@ -33794,7 +33822,7 @@
},
{
"vuid": "VUID-vkCmdDraw-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDraw-None-04115",
@@ -33833,10 +33861,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDraw-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDraw-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -34285,6 +34309,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDraw-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDraw-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDraw-maxMultiviewInstanceIndex-02688",
@@ -34384,7 +34420,7 @@
},
{
"vuid": "VUID-vkCmdDraw-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDraw-None-08633",
@@ -34428,7 +34464,7 @@
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDraw-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -34490,7 +34526,7 @@
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDraw-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -34604,11 +34640,11 @@
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDraw-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDraw-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -35344,7 +35380,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexed-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawIndexed-None-04115",
@@ -35383,10 +35419,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawIndexed-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawIndexed-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -35843,6 +35875,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawIndexed-maxMultiviewInstanceIndex-02688",
@@ -35942,7 +35986,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexed-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndexed-None-08633",
@@ -35986,7 +36030,7 @@
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndexed-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -36048,7 +36092,7 @@
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndexed-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -36162,11 +36206,11 @@
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndexed-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndexed-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -36902,7 +36946,7 @@
},
{
"vuid": "VUID-vkCmdDrawMultiEXT-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-04115",
@@ -36941,10 +36985,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawMultiEXT-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawMultiEXT-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -37409,6 +37449,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_EXT_multi_draw)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_EXT_multi_draw)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_EXT_multi_draw)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawMultiEXT-maxMultiviewInstanceIndex-02688",
@@ -37508,7 +37560,7 @@
},
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-08633",
@@ -37552,7 +37604,7 @@
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -37614,7 +37666,7 @@
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_EXT_multi_draw)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -37728,11 +37780,11 @@
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -38468,7 +38520,7 @@
},
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-04115",
@@ -38507,10 +38559,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -38987,6 +39035,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_EXT_multi_draw)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_EXT_multi_draw)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_EXT_multi_draw)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-maxMultiviewInstanceIndex-02688",
@@ -39086,7 +39146,7 @@
},
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08633",
@@ -39130,7 +39190,7 @@
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -39192,7 +39252,7 @@
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_EXT_multi_draw)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -39306,11 +39366,11 @@
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -40046,7 +40106,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndirect-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawIndirect-None-04115",
@@ -40085,10 +40145,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawIndirect-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawIndirect-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -40577,6 +40633,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawIndirect-maxMultiviewInstanceIndex-02688",
@@ -40676,7 +40744,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndirect-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndirect-None-08633",
@@ -40720,7 +40788,7 @@
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndirect-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -40782,7 +40850,7 @@
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndirect-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -40896,11 +40964,11 @@
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndirect-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndirect-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -41638,7 +41706,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndirectCount-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-04115",
@@ -41677,10 +41745,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawIndirectCount-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawIndirectCount-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -42189,6 +42253,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawIndirectCount-maxMultiviewInstanceIndex-02688",
@@ -42288,7 +42364,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-08633",
@@ -42332,7 +42408,7 @@
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -42394,7 +42470,7 @@
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -42508,11 +42584,11 @@
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -43244,7 +43320,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-04115",
@@ -43283,10 +43359,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawIndexedIndirect-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -43783,6 +43855,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-maxMultiviewInstanceIndex-02688",
@@ -43882,7 +43966,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-08633",
@@ -43926,7 +44010,7 @@
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -43988,7 +44072,7 @@
"(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -44102,11 +44186,11 @@
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -44844,7 +44928,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-04115",
@@ -44883,10 +44967,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -45403,6 +45483,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-maxMultiviewInstanceIndex-02688",
@@ -45502,7 +45594,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08633",
@@ -45546,7 +45638,7 @@
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -45608,7 +45700,7 @@
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -45722,11 +45814,11 @@
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -46458,7 +46550,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-04115",
@@ -46497,10 +46589,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -46981,6 +47069,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_EXT_transform_feedback)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_EXT_transform_feedback)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_EXT_transform_feedback)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-maxMultiviewInstanceIndex-02688",
@@ -47080,7 +47180,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08633",
@@ -47124,7 +47224,7 @@
"(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -47186,7 +47286,7 @@
"(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_EXT_transform_feedback)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -47300,11 +47400,11 @@
"(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -48126,7 +48226,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-04115",
@@ -48165,10 +48265,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksNV-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -48613,6 +48709,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-maxMultiviewInstanceIndex-02688",
@@ -48708,7 +48816,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-08633",
@@ -48752,7 +48860,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -48810,7 +48918,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -48924,11 +49032,11 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -49616,7 +49724,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-04115",
@@ -49655,10 +49763,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -50139,6 +50243,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-maxMultiviewInstanceIndex-02688",
@@ -50234,7 +50350,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08633",
@@ -50278,7 +50394,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -50336,7 +50452,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -50450,11 +50566,11 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -51156,7 +51272,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04115",
@@ -51195,10 +51311,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -51699,6 +51811,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-maxMultiviewInstanceIndex-02688",
@@ -51794,7 +51918,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08633",
@@ -51838,7 +51962,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -51896,7 +52020,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -52010,11 +52134,11 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -52714,7 +52838,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-04115",
@@ -52753,10 +52877,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -53229,6 +53349,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-maxMultiviewInstanceIndex-02688",
@@ -53324,7 +53456,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08633",
@@ -53368,7 +53500,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -53426,7 +53558,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -53540,11 +53672,11 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -54232,7 +54364,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-04115",
@@ -54271,10 +54403,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -54755,6 +54883,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-maxMultiviewInstanceIndex-02688",
@@ -54850,7 +54990,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08633",
@@ -54894,7 +55034,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -54952,7 +55092,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -55066,11 +55206,11 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -55800,7 +55940,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-04115",
@@ -55839,10 +55979,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -56343,6 +56479,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-maxMultiviewInstanceIndex-02688",
@@ -56438,7 +56586,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08633",
@@ -56482,7 +56630,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -56540,7 +56688,7 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -56654,11 +56802,11 @@
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -57358,7 +57506,7 @@
},
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-04115",
@@ -57397,10 +57545,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -57853,6 +57997,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-maxMultiviewInstanceIndex-02688",
@@ -57948,7 +58104,7 @@
},
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08633",
@@ -57992,7 +58148,7 @@
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -58050,7 +58206,7 @@
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -58164,11 +58320,11 @@
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -58860,7 +59016,7 @@
},
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-04115",
@@ -58899,10 +59055,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -59363,6 +59515,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-maxMultiviewInstanceIndex-02688",
@@ -59458,7 +59622,7 @@
},
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08633",
@@ -59502,7 +59666,7 @@
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -59560,7 +59724,7 @@
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -59674,11 +59838,11 @@
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -64976,7 +65140,7 @@
},
{
"vuid": "VUID-vkCmdDispatch-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDispatch-None-04115",
@@ -65360,7 +65524,7 @@
},
{
"vuid": "VUID-vkCmdDispatchIndirect-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDispatchIndirect-None-04115",
@@ -65762,7 +65926,7 @@
},
{
"vuid": "VUID-vkCmdDispatchBase-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdDispatchBase-None-04115",
@@ -66162,7 +66326,7 @@
},
{
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-04115",
@@ -66850,7 +67014,7 @@
},
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-04115",
@@ -66889,10 +67053,6 @@
"text": " Memory backing image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be written in any way other than as an attachment by this command"
},
{
- "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-06538",
- "text": " If any recorded command in the current subpass will write to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
- },
- {
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-06539",
"text": " If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command <strong class=\"purple\">must</strong> not write to that image subresource as an attachment"
},
@@ -67357,6 +67517,18 @@
"text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
}
],
+ "(VK_NV_device_generated_commands)+(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08753",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment or as a sampled or storage image per the rules defined for <a href=\"#renderpass-feedbackloop\">feedback loops</a>"
+ }
+ ],
+ "(VK_NV_device_generated_commands)+!(VK_EXT_attachment_feedback_loop_layout)": [
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-06538",
+ "text": " If any recorded command in the current subpass writes to an image subresource as an attachment, this command <strong class=\"purple\">must</strong> not read from the memory backing that image subresource in any other way than as an attachment"
+ }
+ ],
"(VK_NV_device_generated_commands)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-maxMultiviewInstanceIndex-02688",
@@ -67456,7 +67628,7 @@
},
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08632",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\">depthBounds</a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-depthBounds\"><code>depthBounds</code></a> feature is enabled, the <a href=\"#vkCmdSetDepthBoundsTestEnable\">vkCmdSetDepthBoundsTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08633",
@@ -67500,7 +67672,7 @@
"(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_shading_rate_image)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08637",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\">shadingRateImage</a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled on the device, then the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportShadingRatePaletteNV\">vkCmdSetViewportShadingRatePaletteNV</a> <strong class=\"purple\">must</strong> be greater than or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>"
}
],
"(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_viewport_swizzle)": [
@@ -67562,7 +67734,7 @@
"(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)+(VK_EXT_extended_dynamic_state2)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08641",
- "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\">logicOp</a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
+ "text": " If a shader object is bound to any graphics stage, and the <a href=\"#features-logicOp\"><code>logicOp</code></a> feature is enabled on the device, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetLogicOpEXT\">vkCmdSetLogicOpEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command and the <code>logicOp</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLogicOp\">VkLogicOp</a> value"
}
],
"(VK_NV_device_generated_commands)+(VK_KHR_fragment_shading_rate)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)": [
@@ -67676,11 +67848,11 @@
"(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)+(VK_EXT_shader_object)": [
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08646",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command"
},
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08647",
- "text": " If the <a href=\"#features-colorWriteEnable\">colorWriteEnable</a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
+ "text": " If the <a href=\"#features-colorWriteEnable\"><code>colorWriteEnable</code></a> feature is enabled on the device, and a shader object is bound to the fragment stage, and the most recent call to <a href=\"#vkCmdSetRasterizerDiscardEnable\">vkCmdSetRasterizerDiscardEnable</a> in the current command buffer set <code>rasterizerDiscardEnable</code> to <code>VK_FALSE</code>, then the <code>attachmentCount</code> parameter of most recent call to <code>vkCmdSetColorWriteEnableEXT</code> in the current command buffer <strong class=\"purple\">must</strong> be greater than or equal to the number of color attachments in the current render pass instance"
}
],
"(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_discard_rectangles)": [
@@ -73208,7 +73380,7 @@
},
{
"vuid": "VUID-VkAccelerationStructureTrianglesOpacityMicromapEXT-micromap-parameter",
- "text": " <code>micromap</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkMicromapEXT\">VkMicromapEXT</a> handle"
+ "text": " If <code>micromap</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>micromap</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkMicromapEXT\">VkMicromapEXT</a> handle"
}
]
},
@@ -73244,7 +73416,7 @@
},
{
"vuid": "VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-micromap-parameter",
- "text": " <code>micromap</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkMicromapEXT\">VkMicromapEXT</a> handle"
+ "text": " If <code>micromap</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>micromap</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkMicromapEXT\">VkMicromapEXT</a> handle"
}
]
},
@@ -75240,7 +75412,7 @@
},
{
"vuid": "VUID-vkCmdTraceRaysNV-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdTraceRaysNV-None-04115",
@@ -75712,7 +75884,7 @@
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-None-04115",
@@ -76300,7 +76472,7 @@
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-04115",
@@ -76838,7 +77010,7 @@
},
{
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-format-07753",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>format</code> <strong class=\"purple\">must</strong> match the numeric format from the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> as described in the SPIR-V Sampled Type column of the <a href=\"#formats-numericformat\">Interpretation of Numeric Format</a> table"
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric format</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-04115",
@@ -79042,7 +79214,7 @@
},
{
"vuid": "VUID-VkVideoDecodeH265PictureInfoKHR-pStdPictureInfo-parameter",
- "text": " <code>pStdPictureInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>StdVideoDecodeH265PictureInfo</code> value"
+ "text": " <code>pStdPictureInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>StdVideoDecodeH265PictureInfo</code> value"
},
{
"vuid": "VUID-VkVideoDecodeH265PictureInfoKHR-pSliceSegmentOffsets-parameter",
@@ -81014,6 +81186,14 @@
}
]
},
+ "VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR": {
+ "(VK_KHR_ray_tracing_position_fetch)": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR</code>"
+ }
+ ]
+ },
"VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD": {
"(VK_AMD_shader_early_and_late_fragment_tests)": [
{
@@ -83244,7 +83424,7 @@
},
{
"vuid": "VUID-StandaloneSpirv-Image-04965",
- "text": " The converted bit width, signedness, and numeric type of the <code>Image</code> <code>Format</code> operand of an <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match the <code>Sampled</code> <code>Type</code>, as defined in <a href=\"#spirvenv-format-type-matching\">Image Format and Type Matching</a>"
+ "text": " The <a href=\"#spirv-type\">SPIR-V Type</a> of the <code>Image</code> <code>Format</code> operand of an <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match the <code>Sampled</code> <code>Type</code>, as defined in <a href=\"#spirvenv-format-type-matching\">Image Format and Type Matching</a>"
},
{
"vuid": "VUID-StandaloneSpirv-OpImageTexelPointer-04658",
@@ -83784,7 +83964,7 @@
},
{
"vuid": "VUID-RuntimeSpirv-Workgroup-06530",
- "text": " The sum of size in bytes for variables and <a href=\"#limits-maxComputeSharedMemorySize\">padding</a> in the <code>Workgroup</code> {StorageClass} in the <code>GLCompute</code> {ExecutionModel} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxComputeSharedMemorySize\"><code>maxComputeSharedMemorySize</code></a>"
+ "text": " The sum of size in bytes for variables and <a href=\"#workgroup-padding\">padding</a> in the <code>Workgroup</code> {StorageClass} in the <code>GLCompute</code> {ExecutionModel} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxComputeSharedMemorySize\"><code>maxComputeSharedMemorySize</code></a>"
},
{
"vuid": "VUID-RuntimeSpirv-OpImage-06376",
@@ -84139,6 +84319,34 @@
{
"vuid": "VUID-RuntimeSpirv-TaskEXT-07302",
"text": " In task shaders using the <code>TaskEXT</code> {ExecutionModel} the product of the &#8220;Group Count&#8221; operands of <code>OpEmitMeshTasksEXT</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMeshShaderPropertiesEXT\">VkPhysicalDeviceMeshShaderPropertiesEXT</a>::<code>maxMeshWorkGroupTotalCount</code>"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxMeshSharedMemorySize-08754",
+ "text": " The sum of size in bytes for variables and <a href=\"#workgroup-padding\">padding</a> in the <code>Workgroup</code> {StorageClass} in the <code>MeshEXT</code> {ExecutionModel} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxMeshSharedMemorySize\"><code>maxMeshSharedMemorySize</code></a>"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxMeshPayloadAndSharedMemorySize-08755",
+ "text": " The sum of size in bytes for variables and <a href=\"#workgroup-padding\">padding</a> in the <code>TaskPayloadWorkgroupEXT</code> or <code>Workgroup</code> {StorageClass} in the <code>MeshEXT</code> {ExecutionModel} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxMeshPayloadAndSharedMemorySize\"><code>maxMeshPayloadAndSharedMemorySize</code></a>"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxMeshOutputMemorySize-08756",
+ "text": " The sum of size in bytes for variables in the <code>Output</code> {StorageClass} in the <code>MeshEXT</code> {ExecutionModel} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxMeshOutputMemorySize\"><code>maxMeshOutputMemorySize</code></a> according to the formula in <a href=\"#mesh-output\">Mesh Shader Output</a>"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxMeshPayloadAndOutputMemorySize-08757",
+ "text": " The sum of size in bytes for variables and in the <code>TaskPayloadWorkgroupEXT</code> or <code>Output</code> {StorageClass} in the <code>MeshEXT</code> {ExecutionModel} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxMeshPayloadAndOutputMemorySize\"><code>maxMeshPayloadAndOutputMemorySize</code></a> according to the formula in <a href=\"#mesh-output\">Mesh Shader Output</a>"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxTaskPayloadSize-08758",
+ "text": " The sum of size in bytes for variables and in the <code>TaskPayloadWorkgroupEXT</code> {StorageClass} in the <code>TaskEXT</code> {ExecutionModel} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxTaskPayloadSize\"><code>maxTaskPayloadSize</code></a>"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxTaskSharedMemorySize-08759",
+ "text": " The sum of size in bytes for variables and <a href=\"#workgroup-padding\">padding</a> in the <code>Workgroup</code> {StorageClass} in the <code>TaskEXT</code> {ExecutionModel} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxTaskSharedMemorySize\"><code>maxTaskSharedMemorySize</code></a>"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxTaskPayloadAndSharedMemorySize-08760",
+ "text": " The sum of size in bytes for variables and <a href=\"#workgroup-padding\">padding</a> in the <code>TaskPayloadWorkgroupEXT</code> or <code>Workgroup</code> {StorageClass} in the <code>TaskEXT</code> {ExecutionModel} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxTaskPayloadAndSharedMemorySize\"><code>maxTaskPayloadAndSharedMemorySize</code></a>"
}
],
"(VK_KHR_portability_subset)": [
@@ -84237,6 +84445,12 @@
"text": " For <code>OpRayQueryGenerateIntersectionKHR</code> instructions, <code>Acceleration</code> <code>Structure</code> <strong class=\"purple\">must</strong> not be built with <code>VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV</code> in <code>flags</code>"
}
],
+ "(VK_KHR_ray_query)+(VK_KHR_ray_tracing_position_fetch)": [
+ {
+ "vuid": "VUID-RuntimeSpirv-flags-08761",
+ "text": " For <code>OpRayQueryGetIntersectionTriangleVertexPositionsKHR</code> instructions, <code>Acceleration</code> <code>Structure</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR</code> in <code>flags</code>"
+ }
+ ],
"(VK_KHR_ray_tracing_pipeline)": [
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayKHR-06355",