diff options
author | Jon Leech <[email protected]> | 2023-04-27 03:36:25 -0700 |
---|---|---|
committer | Jon Leech <[email protected]> | 2023-04-27 03:37:31 -0700 |
commit | 870a531486f77dfaf124395de80ed38867400d31 (patch) | |
tree | f312e60ae7038786124eb7d38549945e9e8d10e2 /registry/validusage.json | |
parent | 8a397558c4d2a4bf9e64e900c45a7e65664c32b2 (diff) | |
download | Vulkan-Headers-870a531486f77dfaf124395de80ed38867400d31.tar.gz Vulkan-Headers-870a531486f77dfaf124395de80ed38867400d31.zip |
Update for Vulkan-Docs 1.3.249v1.3.249
Diffstat (limited to 'registry/validusage.json')
-rw-r--r-- | registry/validusage.json | 620 |
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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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’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 “Group Count” 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", |