summaryrefslogtreecommitdiffhomepage
path: root/registry
diff options
context:
space:
mode:
authorJon Leech <[email protected]>2022-05-17 07:38:27 -0700
committerJon Leech <[email protected]>2022-05-17 07:40:06 -0700
commit1b4f46a3cc698eff1eb76aa2cd5a05736cd16857 (patch)
tree3f913102d38c36a7fb5e2dff5dd151f03edb5790 /registry
parent33d4dd987fc8fc6475ff9ca2b4f0c3cc6e793337 (diff)
downloadVulkan-Headers-1b4f46a3cc698eff1eb76aa2cd5a05736cd16857.tar.gz
Vulkan-Headers-1b4f46a3cc698eff1eb76aa2cd5a05736cd16857.zip
Update for Vulkan-Docs 1.3.214v1.3.214
Diffstat (limited to 'registry')
-rw-r--r--registry/validusage.json466
-rw-r--r--registry/vk.xml103
2 files changed, 353 insertions, 216 deletions
diff --git a/registry/validusage.json b/registry/validusage.json
index 7f398c1..5d9ec91 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.213",
- "comment": "from git branch: github-main commit: 71decb7f868d3891974eab139f03c7c6c87fea4d",
- "date": "2022-05-10 09:06:33Z"
+ "api version": "1.3.214",
+ "comment": "from git branch: github-main commit: 028789841d7ba54cabc678a128e7b98d30c0b4cd",
+ "date": "2022-05-17 13:52:45Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -498,7 +498,11 @@
"(VK_VERSION_1_1)": [
{
"vuid": "VUID-VkDeviceCreateInfo-queueFamilyIndex-02802",
- "text": " The <code>queueFamilyIndex</code> member of each element of <code>pQueueCreateInfos</code> <strong class=\"purple\">must</strong> be unique within <code>pQueueCreateInfos</code>, except that two members can share the same <code>queueFamilyIndex</code> if one is a protected-capable queue and one is not a protected-capable queue"
+ "text": " The <code>queueFamilyIndex</code> member of each element of <code>pQueueCreateInfos</code> <strong class=\"purple\">must</strong> be unique within <code>pQueueCreateInfos</code>, except that two members can share the same <code>queueFamilyIndex</code> if one describes protected-capable queues and one describes queues that are not protected-capable"
+ },
+ {
+ "vuid": "VUID-VkDeviceCreateInfo-pQueueCreateInfos-06755",
+ "text": " If multiple elements of <code>pQueueCreateInfos</code> share the same <code>queueFamilyIndex</code>, the sum of their <code>queueCount</code> members <strong class=\"purple\">must</strong> be less than or equal to the <code>queueCount</code> member of the <code>VkQueueFamilyProperties</code> structure, as returned by <code>vkGetPhysicalDeviceQueueFamilyProperties</code> in the <code>pQueueFamilyProperties</code>[queueFamilyIndex]"
}
],
"(VK_VERSION_1_1)+(VK_KHR_global_priority,VK_EXT_global_priority)": [
@@ -652,7 +656,7 @@
},
{
"vuid": "VUID-VkDeviceCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#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=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#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=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesEXT\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>"
},
{
"vuid": "VUID-VkDeviceCreateInfo-sType-unique",
@@ -11477,6 +11481,18 @@
"text": " If one element of <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>::<code>pLibraries</code> includes <code>VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT</code> and another element includes <code>VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT</code>, and any element of the <code>pSetLayouts</code> array used to create each library&#8217;s <code>layout</code> was <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then the corresponding element of the <code>pSetLayouts</code> array used to create the other library&#8217;s <code>layout</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
},
{
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06756",
+ "text": " If <a href=\"#VkGraphicsPipelineLibraryCreateInfoEXT\">VkGraphicsPipelineLibraryCreateInfoEXT</a>::<code>flags</code> includes only one of <code>VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT</code> or <code>VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT</code>, an element of <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>::<code>pLibraries</code> includes the other subset, and any element of the <code>pSetLayouts</code> array which <code>layout</code> was created with was <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then the corresponding element of the <code>pSetLayouts</code> array used to create the library&#8217;s <code>layout</code> <strong class=\"purple\">must</strong> not have shader bindings for shaders in the other subset"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06757",
+ "text": " If <a href=\"#VkGraphicsPipelineLibraryCreateInfoEXT\">VkGraphicsPipelineLibraryCreateInfoEXT</a>::<code>flags</code> includes only one of <code>VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT</code> or <code>VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT</code>, an element of <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>::<code>pLibraries</code> includes the other subset, and any element of the <code>pSetLayouts</code> array used to create the library&#8217;s <code>layout</code> was <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then the corresponding element of the <code>pSetLayouts</code> array used to create this pipeline&#8217;s <code>layout</code> <strong class=\"purple\">must</strong> not have shader bindings for shaders in the other subset"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-pLibraries-06758",
+ "text": " If one element of <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>::<code>pLibraries</code> includes <code>VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT</code> and another element includes <code>VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT</code>, and any element of the <code>pSetLayouts</code> array used to create each library&#8217;s <code>layout</code> was <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then the corresponding element of the <code>pSetLayouts</code> array used to create the other library&#8217;s <code>layout</code> <strong class=\"purple\">must</strong> not have shader bindings for shaders in the other subset"
+ },
+ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06682",
"text": " If <a href=\"#VkGraphicsPipelineLibraryCreateInfoEXT\">VkGraphicsPipelineLibraryCreateInfoEXT</a>::<code>flags</code> includes both <code>VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT</code> and <code>VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT</code>, <code>layout</code> <strong class=\"purple\">must</strong> have been created with no elements of the <code>pSetLayouts</code> array set to <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
},
@@ -11546,11 +11562,11 @@
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06729",
- "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT</code>, the pipeline includes a <a href=\"#pipelines-graphics-subsets-complete\">complete set of state</a> specified entirely by libraries, and each library was created with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> created with <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, then <code>pipelineLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is <a href=\"#descriptorsets-compatibility\">compatible</a> with the union of the libraries' pipeline layouts other than the inclusion/exclusion of <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>"
+ "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT</code>, the pipeline includes a <a href=\"#pipelines-graphics-subsets-complete\">complete set of state</a> specified entirely by libraries, and each library was created with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> created with <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, then <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is <a href=\"#descriptorsets-compatibility\">compatible</a> with the union of the libraries' pipeline layouts other than the inclusion/exclusion of <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06730",
- "text": " If <code>flags</code> does not include <code>VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT</code>, the pipeline includes a <a href=\"#pipelines-graphics-subsets-complete\">complete set of state</a> specified entirely by libraries, and each library was created with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> created with <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, then <code>pipelineLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is <a href=\"#descriptorsets-compatibility\">compatible</a> with the union of the libraries' pipeline layouts"
+ "text": " If <code>flags</code> does not include <code>VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT</code>, the pipeline includes a <a href=\"#pipelines-graphics-subsets-complete\">complete set of state</a> specified entirely by libraries, and each library was created with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> created with <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, then <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is <a href=\"#descriptorsets-compatibility\">compatible</a> with the union of the libraries' pipeline layouts"
}
],
"(VK_EXT_graphics_pipeline_library)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)": [
@@ -11614,6 +11630,22 @@
"vuid": "VUID-VkGraphicsPipelineCreateInfo-libraryCount-06649",
"text": " If the pipeline is created with a <a href=\"#pipelines-graphics-subsets-complete\">complete set of state</a>, <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>::<code>libraryCount</code> is <code>0</code>, and the <code>pNext</code> chain includes an instance of <a href=\"#VkGraphicsPipelineShaderGroupsCreateInfoNV\">VkGraphicsPipelineShaderGroupsCreateInfoNV</a>, <a href=\"#VkGraphicsPipelineShaderGroupsCreateInfoNV\">VkGraphicsPipelineShaderGroupsCreateInfoNV</a>::<code>groupCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
}
+ ],
+ "(VK_EXT_conservative_rasterization)": [
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-06759",
+ "text": " If <a href=\"#limits-conservativePointAndLineRasterization\"><code>conservativePointAndLineRasterization</code></a> is not supported; the pipeline is being created with <a href=\"#pipeline-graphics-subsets-vertex-input\">vertex input state</a> and <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>; the pipeline does not include a geometry shader; and the value of <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> is <code>VK_PRIMITIVE_TOPOLOGY_POINT_LIST</code>, <code>VK_PRIMITIVE_TOPOLOGY_LINE_LIST</code>, or <code>VK_PRIMITIVE_TOPOLOGY_LINE_STRIP</code>, then <a href=\"#VkPipelineRasterizationConservativeStateCreateInfoEXT\">VkPipelineRasterizationConservativeStateCreateInfoEXT</a>::<code>conservativeRasterizationMode</code> <strong class=\"purple\">must</strong> be <code>VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-06760",
+ "text": " If <a href=\"#limits-conservativePointAndLineRasterization\"><code>conservativePointAndLineRasterization</code></a> is not supported, the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and the pipeline includes a geometry shader with either the <code>OutputPoints</code> or <code>OutputLineStrip</code> execution modes, <a href=\"#VkPipelineRasterizationConservativeStateCreateInfoEXT\">VkPipelineRasterizationConservativeStateCreateInfoEXT</a>::<code>conservativeRasterizationMode</code> <strong class=\"purple\">must</strong> be <code>VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT</code>"
+ }
+ ],
+ "(VK_EXT_conservative_rasterization)+(VK_NV_mesh_shader)": [
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-06761",
+ "text": " If <a href=\"#limits-conservativePointAndLineRasterization\"><code>conservativePointAndLineRasterization</code></a> is not supported, the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and the pipeline includes a mesh shader with either the <code>OutputPoints</code> or <code>OutputLinesNV</code> execution modes, <a href=\"#VkPipelineRasterizationConservativeStateCreateInfoEXT\">VkPipelineRasterizationConservativeStateCreateInfoEXT</a>::<code>conservativeRasterizationMode</code> <strong class=\"purple\">must</strong> be <code>VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT</code>"
+ }
]
},
"VkPipelineRenderingCreateInfo": {
@@ -13173,16 +13205,16 @@
"text": " <code>pPipelineProperties</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkPipelinePropertiesIdentifierEXT\">VkPipelinePropertiesIdentifierEXT</a> structure"
},
{
+ "vuid": "VUID-vkGetPipelinePropertiesEXT-None-06766",
+ "text": " The <a href=\"#features-pipelinePropertiesIdentifier\">pipelinePropertiesIdentifier</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
"vuid": "VUID-vkGetPipelinePropertiesEXT-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-pPipelineInfo-parameter",
"text": " <code>pPipelineInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineInfoEXT\">VkPipelineInfoEXT</a> structure"
- },
- {
- "vuid": "VUID-vkGetPipelinePropertiesEXT-pPipelineProperties-parameter",
- "text": " <code>pPipelineProperties</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkBaseOutStructure\">VkBaseOutStructure</a> structure"
}
]
},
@@ -19821,8 +19853,8 @@
],
"(VK_EXT_graphics_pipeline_library)": [
{
- "vuid": "VUID-VkPipelineLayoutCreateInfo-flags-06562",
- "text": " If <code>flags</code>: does not include <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be valid <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> objects"
+ "vuid": "VUID-VkPipelineLayoutCreateInfo-graphicsPipelineLibrary-06753",
+ "text": " If <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> is not enabled, elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be valid <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> objects"
}
]
},
@@ -20955,8 +20987,8 @@
],
"(VK_EXT_graphics_pipeline_library)": [
{
- "vuid": "VUID-vkCmdBindDescriptorSets-layout-06564",
- "text": " If <code>layout</code> was not created with <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSet\">VkDescriptorSet</a>"
+ "vuid": "VUID-vkCmdBindDescriptorSets-graphicsPipelineLibrary-06754",
+ "text": " If <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> is not enabled, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSet\">VkDescriptorSet</a>"
}
]
},
@@ -25734,59 +25766,59 @@
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-srcImage-00199",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:dstImage is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-imageOffset-00200",
- "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of pname:dstImage"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-srcImage-00201",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:dstImage is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-bufferRowLength-00203",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-bufferImageHeight-00204",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-imageOffset-00205",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-00206",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00207",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of pname:dstImage"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00208",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of pname:dstImage"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00209",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of pname:dstImage"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-aspectMask-00211",
- "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in {imageparam}"
+ "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in pname:dstImage"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-baseArrayLayer-00213",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:dstImage is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-pRegions-04725",
- "text": " If {imageparam} is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+ "text": " If pname:dstImage is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of pname:dstImage <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-pRegions-04726",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of pname:dstImage <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-04052",
@@ -25794,7 +25826,7 @@
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-srcImage-04053",
- "text": " If {imageparam} has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+ "text": " If pname:dstImage has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-parameter",
@@ -25870,21 +25902,21 @@
"!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-00193",
- "text": " If {imageparam} does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+ "text": " If pname:dstImage does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
}
],
"(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-01558",
- "text": " If {imageparam} does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+ "text": " If pname:dstImage does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-01559",
- "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
+ "text": " If pname:dstImage has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-aspectMask-01560",
- "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
+ "text": " If pname:dstImage has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
}
]
},
@@ -25962,59 +25994,59 @@
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-00199",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:srcImage is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-imageOffset-00200",
- "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of pname:srcImage"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-00201",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:srcImage is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-bufferRowLength-00203",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-bufferImageHeight-00204",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-imageOffset-00205",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-00206",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00207",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of pname:srcImage"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00208",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of pname:srcImage"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00209",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of pname:srcImage"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-aspectMask-00211",
- "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in {imageparam}"
+ "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in pname:srcImage"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-baseArrayLayer-00213",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:srcImage is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-04725",
- "text": " If {imageparam} is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+ "text": " If pname:srcImage is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of pname:srcImage <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-04726",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of pname:srcImage <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-04052",
@@ -26022,7 +26054,7 @@
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-04053",
- "text": " If {imageparam} has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+ "text": " If pname:srcImage has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-parameter",
@@ -26092,21 +26124,21 @@
"!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-00193",
- "text": " If {imageparam} does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+ "text": " If pname:srcImage does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
}
],
"(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-01558",
- "text": " If {imageparam} does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+ "text": " If pname:srcImage does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-01559",
- "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
+ "text": " If pname:srcImage has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-aspectMask-01560",
- "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
+ "text": " If pname:srcImage has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
}
]
},
@@ -26268,59 +26300,59 @@
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-srcImage-00199",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:dstImage is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-imageOffset-00200",
- "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of pname:dstImage"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-srcImage-00201",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:dstImage is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-bufferRowLength-00203",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-bufferImageHeight-00204",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-imageOffset-00205",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-bufferOffset-00206",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-00207",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of pname:dstImage"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-00208",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of pname:dstImage"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-00209",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of pname:dstImage"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-aspectMask-00211",
- "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in {imageparam}"
+ "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in pname:dstImage"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-baseArrayLayer-00213",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:dstImage is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-04725",
- "text": " If {imageparam} is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+ "text": " If pname:dstImage is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of pname:dstImage <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-04726",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+ "text": " If pname:dstImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of pname:dstImage <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-commandBuffer-04052",
@@ -26328,7 +26360,7 @@
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-srcImage-04053",
- "text": " If {imageparam} has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+ "text": " If pname:dstImage has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-sType-sType",
@@ -26396,21 +26428,21 @@
"(VK_VERSION_1_3,VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-VkCopyBufferToImageInfo2-bufferOffset-00193",
- "text": " If {imageparam} does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+ "text": " If pname:dstImage does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
}
],
"(VK_VERSION_1_3,VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-VkCopyBufferToImageInfo2-bufferOffset-01558",
- "text": " If {imageparam} does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+ "text": " If pname:dstImage does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-bufferOffset-01559",
- "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
+ "text": " If pname:dstImage has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-aspectMask-01560",
- "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
+ "text": " If pname:dstImage has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
}
]
},
@@ -26536,59 +26568,59 @@
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-00199",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:srcImage is of type <code>VK_IMAGE_TYPE_1D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.y</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-imageOffset-00200",
- "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " For each element of <code>pRegions</code>, <code>imageOffset.z</code> and <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>imageSubresource</code> of pname:srcImage"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-00201",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:srcImage is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>imageOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-bufferRowLength-00203",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-bufferImageHeight-00204",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-imageOffset-00205",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, all members of <code>imageOffset</code> <strong class=\"purple\">must</strong> be a multiple of the corresponding dimensions of the compressed texel block"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-bufferOffset-00206",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block size in bytes"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-imageExtent-00207",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.width</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block width or <span class=\"eq\">(<code>imageExtent.width</code> &#43; <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> equal the width of the specified <code>imageSubresource</code> of pname:srcImage"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-imageExtent-00208",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.height</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block height or <span class=\"eq\">(<code>imageExtent.height</code> &#43; <code>imageOffset.y</code>)</span> <strong class=\"purple\">must</strong> equal the height of the specified <code>imageSubresource</code> of pname:srcImage"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-imageExtent-00209",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of {imageparam}"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>imageExtent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the compressed texel block depth or <span class=\"eq\">(<code>imageExtent.depth</code> &#43; <code>imageOffset.z</code>)</span> <strong class=\"purple\">must</strong> equal the depth of the specified <code>imageSubresource</code> of pname:srcImage"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-aspectMask-00211",
- "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in {imageparam}"
+ "text": " For each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> specify aspects present in pname:srcImage"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-baseArrayLayer-00213",
- "text": " If {imageparam} is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
+ "text": " If pname:srcImage is of type <code>VK_IMAGE_TYPE_3D</code>, for each element of <code>pRegions</code>, <code>imageSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>imageSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-04725",
- "text": " If {imageparam} is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+ "text": " If pname:srcImage is not a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> multiplied by the texel block size of pname:srcImage <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-04726",
- "text": " If {imageparam} is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of {imageparam} <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
+ "text": " If pname:srcImage is a <a href=\"#blocked-image\">blocked image</a>, for each element of <code>pRegions</code>, <code>bufferRowLength</code> divided by the compressed texel block width and then multiplied by the texel block size of pname:srcImage <strong class=\"purple\">must</strong> be less than or equal to <span class=\"eq\">2<sup>31</sup>-1</span>"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-commandBuffer-04052",
@@ -26596,7 +26628,7 @@
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-04053",
- "text": " If {imageparam} has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
+ "text": " If pname:srcImage has a depth/stencil format, the <code>bufferOffset</code> member of any element of <code>pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-sType-sType",
@@ -26658,21 +26690,21 @@
"(VK_VERSION_1_3,VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-VkCopyImageToBufferInfo2-bufferOffset-00193",
- "text": " If {imageparam} does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+ "text": " If pname:srcImage does not have a depth/stencil format, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
}
],
"(VK_VERSION_1_3,VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-VkCopyImageToBufferInfo2-bufferOffset-01558",
- "text": " If {imageparam} does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
+ "text": " If pname:srcImage does not have either a depth/stencil or a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the format&#8217;s texel block size"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-bufferOffset-01559",
- "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
+ "text": " If pname:srcImage has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>bufferOffset</code> <strong class=\"purple\">must</strong> be a multiple of the element size of the compatible format for the format and the <code>aspectMask</code> of the <code>imageSubresource</code> as defined in <a href=\"#formats-compatible-planes\">Compatible formats of planes of multi-planar formats</a>"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-aspectMask-01560",
- "text": " If {imageparam} has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
+ "text": " If pname:srcImage has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>, then for each element of <code>pRegions</code>, <code>imageSubresource.aspectMask</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> (with <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> valid only for image formats with three planes)"
}
]
},
@@ -27435,6 +27467,14 @@
"text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
+ "vuid": "VUID-vkCmdResolveImage-srcImage-06762",
+ "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> usage flag"
+ },
+ {
+ "vuid": "VUID-vkCmdResolveImage-dstImage-06764",
+ "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> usage flag"
+ },
+ {
"vuid": "VUID-vkCmdResolveImage-commandBuffer-parameter",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
},
@@ -27510,6 +27550,16 @@
"vuid": "VUID-vkCmdResolveImage-dstImage-02546",
"text": " <code>dstImage</code> and <code>srcImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
}
+ ],
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)": [
+ {
+ "vuid": "VUID-vkCmdResolveImage-srcImage-06763",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdResolveImage-dstImage-06765",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>"
+ }
]
},
"VkImageResolve": {
@@ -27881,6 +27931,14 @@
"text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_1D</code> or <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
+ "vuid": "VUID-VkResolveImageInfo2-srcImage-06762",
+ "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> usage flag"
+ },
+ {
+ "vuid": "VUID-VkResolveImageInfo2-dstImage-06764",
+ "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> usage flag"
+ },
+ {
"vuid": "VUID-VkResolveImageInfo2-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2</code>"
},
@@ -27948,6 +28006,16 @@
"vuid": "VUID-VkResolveImageInfo2-dstImage-02546",
"text": " <code>dstImage</code> and <code>srcImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>"
}
+ ],
+ "(VK_VERSION_1_3,VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
+ {
+ "vuid": "VUID-VkResolveImageInfo2-srcImage-06763",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>"
+ },
+ {
+ "vuid": "VUID-VkResolveImageInfo2-dstImage-06765",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>"
+ }
]
},
"VkImageResolve2": {
@@ -40718,7 +40786,7 @@
"(VK_KHR_surface)+(VK_KHR_get_surface_capabilities2)+(VK_EXT_image_compression_control)+(VK_EXT_image_compression_control_swapchain)": [
{
"vuid": "VUID-VkSurfaceFormat2KHR-pNext-06750",
- "text": " If the <code><a href=\"#VK_EXT_image_compression_control_swapchain\">VK_EXT_image_compression_control_swapchain</a></code> extension is not enabled, the <code>pNext</code> chain <strong class=\"purple\">must</strong> not include an <a href=\"#VkImageCompressionPropertiesEXT\">VkImageCompressionPropertiesEXT</a> structure"
+ "text": " If the <a href=\"#features-imageCompressionControlSwapchain\">imageCompressionControlSwapchain</a> feature is not enabled, the <code>pNext</code> chain <strong class=\"purple\">must</strong> not include an <a href=\"#VkImageCompressionPropertiesEXT\">VkImageCompressionPropertiesEXT</a> structure"
}
],
"(VK_KHR_surface)+(VK_KHR_get_surface_capabilities2)": [
@@ -41240,7 +41308,7 @@
"(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_EXT_image_compression_control)+(VK_EXT_image_compression_control_swapchain)": [
{
"vuid": "VUID-VkSwapchainCreateInfoKHR-pNext-06752",
- "text": " If the <code><a href=\"#VK_EXT_image_compression_control_swapchain\">VK_EXT_image_compression_control_swapchain</a></code> extension is not enabled, the <code>pNext</code> chain <strong class=\"purple\">must</strong> not include an <a href=\"#VkImageCompressionControlEXT\">VkImageCompressionControlEXT</a> structure"
+ "text": " If the <a href=\"#features-imageCompressionControlSwapchain\">imageCompressionControlSwapchain</a> feature is not enabled, the <code>pNext</code> chain <strong class=\"purple\">must</strong> not include an <a href=\"#VkImageCompressionControlEXT\">VkImageCompressionControlEXT</a> structure"
}
]
},
@@ -42326,7 +42394,7 @@
},
{
"vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03801",
- "text": " For each element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the corresponding {maxinstancecheck} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
+ "text": " For each element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the corresponding pname:ppBuildRangeInfos[i][j].pname:primitiveCount <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
},
{
"vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03707",
@@ -42610,7 +42678,7 @@
},
{
"vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03801",
- "text": " For each element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the corresponding {maxinstancecheck} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
+ "text": " For each element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the corresponding pname:ppMaxPrimitiveCounts[i][j] <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
},
{
"vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03707",
@@ -43688,7 +43756,7 @@
},
{
"vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03801",
- "text": " For each element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the corresponding {maxinstancecheck} <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
+ "text": " For each element of <code>pInfos</code>[i].<code>pGeometries</code> or <code>pInfos</code>[i].<code>ppGeometries</code> with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_INSTANCES_KHR</code>, the corresponding pname:ppBuildRangeInfos[i][j].pname:primitiveCount <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>::<code>maxInstanceCount</code>"
},
{
"vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03675",
@@ -44430,107 +44498,107 @@
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pRayGenShaderBindingTable-03680",
- "text": " If the buffer from which {rayGenShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:pRayGenShaderBindingTable-&gt;deviceAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pRayGenShaderBindingTable-03681",
- "text": " The buffer from which the {rayGenShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:pRayGenShaderBindingTable-&gt;deviceAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pRayGenShaderBindingTable-03682",
- "text": " {rayGenShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:pRayGenShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pMissShaderBindingTable-03683",
- "text": " If the buffer from which {missShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:pMissShaderBindingTable-&gt;deviceAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pMissShaderBindingTable-03684",
- "text": " The buffer from which the {missShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:pMissShaderBindingTable-&gt;deviceAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pMissShaderBindingTable-03685",
- "text": " {missShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:pMissShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-stride-03686",
- "text": " {missShaderBindingTableStride} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
+ "text": " pname:pMissShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-stride-04029",
- "text": " {missShaderBindingTableStride} <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+ "text": " pname:pMissShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-03687",
- "text": " If the buffer from which {hitShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:pHitShaderBindingTable-&gt;deviceAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-03688",
- "text": " The buffer from which the {hitShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:pHitShaderBindingTable-&gt;deviceAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-03689",
- "text": " {hitShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:pHitShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-stride-03690",
- "text": " {hitShaderBindingTableStride} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
+ "text": " pname:pHitShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-stride-04035",
- "text": " {hitShaderBindingTableStride} <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+ "text": " pname:pHitShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pCallableShaderBindingTable-03691",
- "text": " If the buffer from which {callableShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:pCallableShaderBindingTable-&gt;deviceAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pCallableShaderBindingTable-03692",
- "text": " The buffer from which the {callableShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:pCallableShaderBindingTable-&gt;deviceAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pCallableShaderBindingTable-03693",
- "text": " {callableShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:pCallableShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-stride-03694",
- "text": " {callableShaderBindingTableStride} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
+ "text": " pname:pCallableShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-stride-04041",
- "text": " {callableShaderBindingTableStride} <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+ "text": " pname:pCallableShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-flags-03696",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, {hitShaderBindingTableAddress} <strong class=\"purple\">must</strong> not be zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, pname:pHitShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> not be zero"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-flags-03697",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, {hitShaderBindingTableAddress} <strong class=\"purple\">must</strong> not be zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, pname:pHitShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> not be zero"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-flags-03511",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>, the shader group handle identified by {missShaderBindingTableAddress} <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>, the shader group handle identified by pname:pMissShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-flags-03512",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by {hitShaderBindingTableAddress} accessed as a result of this command in order to execute an any-hit shader <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed as a result of this command in order to execute an any-hit shader <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-flags-03513",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by {hitShaderBindingTableAddress} accessed as a result of this command in order to execute a closest hit shader <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed as a result of this command in order to execute a closest hit shader <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-flags-03514",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, entries in the table identified by {hitShaderBindingTableAddress} accessed as a result of this command in order to execute an intersection shader <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed as a result of this command in order to execute an intersection shader <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-04735",
- "text": " Any non-zero hit shader group entries in the table identified by {hitShaderBindingTableAddress} accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code>"
+ "text": " Any non-zero hit shader group entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-pHitShaderBindingTable-04736",
- "text": " Any non-zero hit shader group entries in the table identified by {hitShaderBindingTableAddress} accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>"
+ "text": " Any non-zero hit shader group entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-width-03638",
@@ -44840,107 +44908,107 @@
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRayGenShaderBindingTable-03680",
- "text": " If the buffer from which {rayGenShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:pRayGenShaderBindingTable-&gt;deviceAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRayGenShaderBindingTable-03681",
- "text": " The buffer from which the {rayGenShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:pRayGenShaderBindingTable-&gt;deviceAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pRayGenShaderBindingTable-03682",
- "text": " {rayGenShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:pRayGenShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pMissShaderBindingTable-03683",
- "text": " If the buffer from which {missShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:pMissShaderBindingTable-&gt;deviceAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pMissShaderBindingTable-03684",
- "text": " The buffer from which the {missShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:pMissShaderBindingTable-&gt;deviceAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pMissShaderBindingTable-03685",
- "text": " {missShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:pMissShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-03686",
- "text": " {missShaderBindingTableStride} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
+ "text": " pname:pMissShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-04029",
- "text": " {missShaderBindingTableStride} <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+ "text": " pname:pMissShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-03687",
- "text": " If the buffer from which {hitShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:pHitShaderBindingTable-&gt;deviceAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-03688",
- "text": " The buffer from which the {hitShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:pHitShaderBindingTable-&gt;deviceAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-03689",
- "text": " {hitShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:pHitShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-03690",
- "text": " {hitShaderBindingTableStride} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
+ "text": " pname:pHitShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-04035",
- "text": " {hitShaderBindingTableStride} <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+ "text": " pname:pHitShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pCallableShaderBindingTable-03691",
- "text": " If the buffer from which {callableShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:pCallableShaderBindingTable-&gt;deviceAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pCallableShaderBindingTable-03692",
- "text": " The buffer from which the {callableShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:pCallableShaderBindingTable-&gt;deviceAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pCallableShaderBindingTable-03693",
- "text": " {callableShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:pCallableShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-03694",
- "text": " {callableShaderBindingTableStride} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
+ "text": " pname:pCallableShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-stride-04041",
- "text": " {callableShaderBindingTableStride} <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+ "text": " pname:pCallableShaderBindingTable-&gt;stride <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03696",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, {hitShaderBindingTableAddress} <strong class=\"purple\">must</strong> not be zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, pname:pHitShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> not be zero"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03697",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, {hitShaderBindingTableAddress} <strong class=\"purple\">must</strong> not be zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, pname:pHitShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> not be zero"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03511",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>, the shader group handle identified by {missShaderBindingTableAddress} <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>, the shader group handle identified by pname:pMissShaderBindingTable-&gt;deviceAddress <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03512",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by {hitShaderBindingTableAddress} accessed as a result of this command in order to execute an any-hit shader <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed as a result of this command in order to execute an any-hit shader <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03513",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by {hitShaderBindingTableAddress} accessed as a result of this command in order to execute a closest hit shader <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed as a result of this command in order to execute a closest hit shader <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-flags-03514",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, entries in the table identified by {hitShaderBindingTableAddress} accessed as a result of this command in order to execute an intersection shader <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed as a result of this command in order to execute an intersection shader <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-04735",
- "text": " Any non-zero hit shader group entries in the table identified by {hitShaderBindingTableAddress} accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code>"
+ "text": " Any non-zero hit shader group entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-pHitShaderBindingTable-04736",
- "text": " Any non-zero hit shader group entries in the table identified by {hitShaderBindingTableAddress} accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>"
+ "text": " Any non-zero hit shader group entries in the table identified by pname:pHitShaderBindingTable-&gt;deviceAddress accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-indirectDeviceAddress-03632",
@@ -44956,11 +45024,11 @@
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-indirectDeviceAddress-03636",
- "text": " All device addresses between <code>indirectDeviceAddress</code> and <span class=\"eq\"><code>indirectDeviceAddress</code> &#43; <code>sizeof</code>(sname:{cmdstruct}) - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer"
+ "text": " All device addresses between <code>indirectDeviceAddress</code> and <span class=\"eq\"><code>indirectDeviceAddress</code> &#43; <code>sizeof</code>(sname:VkTraceRaysIndirectCommandKHR) - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer"
},
{
- "vuid": "VUID-vkCmdTraceRaysIndirectKHR-{feature}-03637",
- "text": " The <a href=\"#features-{feature}\">pname:{feature}</a> feature <strong class=\"purple\">must</strong> be enabled"
+ "vuid": "VUID-vkCmdTraceRaysIndirectKHR-rayTracingPipelineTraceRaysIndirect-03637",
+ "text": " The <a href=\"#features-rayTracingPipelineTraceRaysIndirect\">pname:rayTracingPipelineTraceRaysIndirect</a> feature <strong class=\"purple\">must</strong> be enabled"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-commandBuffer-parameter",
@@ -45212,11 +45280,11 @@
},
{
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-indirectDeviceAddress-03636",
- "text": " All device addresses between <code>indirectDeviceAddress</code> and <span class=\"eq\"><code>indirectDeviceAddress</code> &#43; <code>sizeof</code>(sname:{cmdstruct}) - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer"
+ "text": " All device addresses between <code>indirectDeviceAddress</code> and <span class=\"eq\"><code>indirectDeviceAddress</code> &#43; <code>sizeof</code>(sname:VkTraceRaysIndirectCommand2KHR) - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer"
},
{
- "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-{feature}-03637",
- "text": " The <a href=\"#features-{feature}\">pname:{feature}</a> feature <strong class=\"purple\">must</strong> be enabled"
+ "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-rayTracingPipelineTraceRaysIndirect2-03637",
+ "text": " The <a href=\"#features-rayTracingPipelineTraceRaysIndirect2\">pname:rayTracingPipelineTraceRaysIndirect2</a> feature <strong class=\"purple\">must</strong> be enabled"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-commandBuffer-parameter",
@@ -45348,107 +45416,107 @@
"(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_maintenance1)": [
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pRayGenShaderBindingTable-03680",
- "text": " If the buffer from which {rayGenShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:raygenShaderRecordAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pRayGenShaderBindingTable-03681",
- "text": " The buffer from which the {rayGenShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:raygenShaderRecordAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pRayGenShaderBindingTable-03682",
- "text": " {rayGenShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:raygenShaderRecordAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pMissShaderBindingTable-03683",
- "text": " If the buffer from which {missShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:missShaderBindingTableAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pMissShaderBindingTable-03684",
- "text": " The buffer from which the {missShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:missShaderBindingTableAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pMissShaderBindingTable-03685",
- "text": " {missShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:missShaderBindingTableAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-stride-03686",
- "text": " {missShaderBindingTableStride} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
+ "text": " pname:missShaderBindingTableStride <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-stride-04029",
- "text": " {missShaderBindingTableStride} <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+ "text": " pname:missShaderBindingTableStride <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pHitShaderBindingTable-03687",
- "text": " If the buffer from which {hitShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:hitShaderBindingTableAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pHitShaderBindingTable-03688",
- "text": " The buffer from which the {hitShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:hitShaderBindingTableAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pHitShaderBindingTable-03689",
- "text": " {hitShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:hitShaderBindingTableAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-stride-03690",
- "text": " {hitShaderBindingTableStride} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
+ "text": " pname:hitShaderBindingTableStride <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-stride-04035",
- "text": " {hitShaderBindingTableStride} <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+ "text": " pname:hitShaderBindingTableStride <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pCallableShaderBindingTable-03691",
- "text": " If the buffer from which {callableShaderBindingTableAddress} was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ "text": " If the buffer from which pname:callableShaderBindingTableAddress was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pCallableShaderBindingTable-03692",
- "text": " The buffer from which the {callableShaderBindingTableAddress} is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
+ "text": " The buffer from which the pname:callableShaderBindingTableAddress is queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR</code> usage flag"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pCallableShaderBindingTable-03693",
- "text": " {callableShaderBindingTableAddress} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
+ "text": " pname:callableShaderBindingTableAddress <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupBaseAlignment</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-stride-03694",
- "text": " {callableShaderBindingTableStride} <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
+ "text": " pname:callableShaderBindingTableStride <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>shaderGroupHandleAlignment</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-stride-04041",
- "text": " {callableShaderBindingTableStride} <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
+ "text": " pname:callableShaderBindingTableStride <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceRayTracingPipelinePropertiesKHR</code>::<code>maxShaderGroupStride</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-flags-03696",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, {hitShaderBindingTableAddress} <strong class=\"purple\">must</strong> not be zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, pname:hitShaderBindingTableAddress <strong class=\"purple\">must</strong> not be zero"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-flags-03697",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, {hitShaderBindingTableAddress} <strong class=\"purple\">must</strong> not be zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, pname:hitShaderBindingTableAddress <strong class=\"purple\">must</strong> not be zero"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-flags-03511",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>, the shader group handle identified by {missShaderBindingTableAddress} <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>, the shader group handle identified by pname:missShaderBindingTableAddress <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-flags-03512",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by {hitShaderBindingTableAddress} accessed as a result of this command in order to execute an any-hit shader <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by pname:hitShaderBindingTableAddress accessed as a result of this command in order to execute an any-hit shader <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-flags-03513",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by {hitShaderBindingTableAddress} accessed as a result of this command in order to execute a closest hit shader <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>, entries in the table identified by pname:hitShaderBindingTableAddress accessed as a result of this command in order to execute a closest hit shader <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-flags-03514",
- "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, entries in the table identified by {hitShaderBindingTableAddress} accessed as a result of this command in order to execute an intersection shader <strong class=\"purple\">must</strong> not be set to zero"
+ "text": " If the currently bound ray tracing pipeline was created with <code>flags</code> that included <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>, entries in the table identified by pname:hitShaderBindingTableAddress accessed as a result of this command in order to execute an intersection shader <strong class=\"purple\">must</strong> not be set to zero"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pHitShaderBindingTable-04735",
- "text": " Any non-zero hit shader group entries in the table identified by {hitShaderBindingTableAddress} accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code>"
+ "text": " Any non-zero hit shader group entries in the table identified by pname:hitShaderBindingTableAddress accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_TRIANGLES_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-pHitShaderBindingTable-04736",
- "text": " Any non-zero hit shader group entries in the table identified by {hitShaderBindingTableAddress} accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>"
+ "text": " Any non-zero hit shader group entries in the table identified by pname:hitShaderBindingTableAddress accessed by this call from a geometry with a <code>geometryType</code> of <code>VK_GEOMETRY_TYPE_AABBS_KHR</code> <strong class=\"purple\">must</strong> have been created with <code>VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR</code>"
},
{
"vuid": "VUID-VkTraceRaysIndirectCommand2KHR-width-03638",
@@ -48080,6 +48148,14 @@
}
]
},
+ "VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesEXT": {
+ "(VK_AMD_shader_early_and_late_fragment_tests)": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_EXT</code>"
+ }
+ ]
+ },
"VkPhysicalDevicePushDescriptorPropertiesKHR": {
"(VK_KHR_push_descriptor)": [
{
@@ -50702,6 +50778,36 @@
"vuid": "VUID-RuntimeSpirv-SubgroupUniformControlFlowKHR-06379",
"text": " The execution mode <code>SubgroupUniformControlFlowKHR</code> <strong class=\"purple\">must</strong> not be applied to an entry point unless <a href=\"#features-shaderSubgroupUniformControlFlow\"><code>shaderSubgroupUniformControlFlow</code></a> is enabled and the corresponding shader stage bit is set in subgroup <a href=\"#limits-subgroup-supportedStages\"><code>supportedStages</code></a> and the entry point does not execute any <a href=\"#ray-tracing-repack\"><em>invocation repack instructions</em></a>."
}
+ ],
+ "(VK_AMD_shader_early_and_late_fragment_tests)": [
+ {
+ "vuid": "VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06767",
+ "text": " If <a href=\"#features-shaderEarlyAndLateFragmentTests\"><code>shaderEarlyAndLateFragmentTests</code></a> is not enabled, the <code>EarlyAndLateFragmentTestsEXT</code> <code>Execution</code> <code>Mode</code> <strong class=\"purple\">must</strong> not be used."
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06768",
+ "text": " If <a href=\"#features-shaderEarlyAndLateFragmentTests\"><code>shaderEarlyAndLateFragmentTests</code></a> feature is not enabled, the <code>StencilRefUnchangedFrontEXT</code> <code>Execution</code> <code>Mode</code> <strong class=\"purple\">must</strong> not be used."
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06769",
+ "text": " If <a href=\"#features-shaderEarlyAndLateFragmentTests\"><code>shaderEarlyAndLateFragmentTests</code></a> is not enabled, the <code>StencilRefUnchangedBackEXT</code> <code>Execution</code> <code>Mode</code> <strong class=\"purple\">must</strong> not be used."
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06770",
+ "text": " If <a href=\"#features-shaderEarlyAndLateFragmentTests\"><code>shaderEarlyAndLateFragmentTests</code></a> is not enabled, the <code>StencilRefGreaterFrontEXT</code> <code>Execution</code> <code>Mode</code> <strong class=\"purple\">must</strong> not be used."
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06771",
+ "text": " If <a href=\"#features-shaderEarlyAndLateFragmentTests\"><code>shaderEarlyAndLateFragmentTests</code></a> is not enabled, the <code>StencilRefGreaterBackEXT</code> <code>Execution</code> <code>Mode</code> <strong class=\"purple\">must</strong> not be used."
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06772",
+ "text": " If <a href=\"#features-shaderEarlyAndLateFragmentTests\"><code>shaderEarlyAndLateFragmentTests</code></a> is not enabled, the <code>StencilRefLessFrontEXT</code> <code>Execution</code> <code>Mode</code> <strong class=\"purple\">must</strong> not be used."
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-shaderEarlyAndLateFragmentTests-06773",
+ "text": " If <a href=\"#features-shaderEarlyAndLateFragmentTests\"><code>shaderEarlyAndLateFragmentTests</code></a> is not enabled, the <code>StencilRefLessBackEXT</code> <code>Execution</code> <code>Mode</code> <strong class=\"purple\">must</strong> not be used."
+ }
]
},
"vkCreateCuFunctionNVX": {
diff --git a/registry/vk.xml b/registry/vk.xml
index 0625eaf..ec58928 100644
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -159,7 +159,7 @@ branch of the member gitlab server.
<type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.3 version number
#define <name>VK_API_VERSION_1_3</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 213</type>
+#define <name>VK_HEADER_VERSION</name> 214</type>
<type category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type>
@@ -949,8 +949,8 @@ typedef void <name>CAMetalLayer</name>;
<member len="enabledExtensionCount,null-terminated">const <type>char</type>* const* <name>ppEnabledExtensionNames</name><comment>Extension names to be enabled</comment></member>
</type>
<type category="struct" name="VkQueueFamilyProperties" returnedonly="true">
- <member optional="true"><type>VkQueueFlags</type> <name>queueFlags</name><comment>Queue flags</comment></member>
- <member><type>uint32_t</type> <name>queueCount</name></member>
+ <member optional="true" limittype="bitmask"><type>VkQueueFlags</type> <name>queueFlags</name><comment>Queue flags</comment></member>
+ <member limittype="max"><type>uint32_t</type> <name>queueCount</name></member>
<member><type>uint32_t</type> <name>timestampValidBits</name></member>
<member><type>VkExtent3D</type> <name>minImageTransferGranularity</name><comment>Minimum alignment requirement for image transfers</comment></member>
</type>
@@ -999,9 +999,9 @@ typedef void <name>CAMetalLayer</name>;
<member><type>VkDeviceSize</type> <name>size</name><comment>Size of the range within the memory object</comment></member>
</type>
<type category="struct" name="VkFormatProperties" returnedonly="true">
- <member optional="true"><type>VkFormatFeatureFlags</type> <name>linearTilingFeatures</name><comment>Format features in case of linear tiling</comment></member>
- <member optional="true"><type>VkFormatFeatureFlags</type> <name>optimalTilingFeatures</name><comment>Format features in case of optimal tiling</comment></member>
- <member optional="true"><type>VkFormatFeatureFlags</type> <name>bufferFeatures</name><comment>Format features supported by buffers</comment></member>
+ <member optional="true" limittype="bitmask"><type>VkFormatFeatureFlags</type> <name>linearTilingFeatures</name><comment>Format features in case of linear tiling</comment></member>
+ <member optional="true" limittype="bitmask"><type>VkFormatFeatureFlags</type> <name>optimalTilingFeatures</name><comment>Format features in case of optimal tiling</comment></member>
+ <member optional="true" limittype="bitmask"><type>VkFormatFeatureFlags</type> <name>bufferFeatures</name><comment>Format features supported by buffers</comment></member>
</type>
<type category="struct" name="VkImageFormatProperties" returnedonly="true">
<member><type>VkExtent3D</type> <name>maxExtent</name><comment>max image dimensions for this resource type</comment></member>
@@ -2272,7 +2272,7 @@ typedef void <name>CAMetalLayer</name>;
<type category="struct" name="VkQueueFamilyProperties2" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>VkQueueFamilyProperties</type> <name>queueFamilyProperties</name></member>
+ <member limittype="struct"><type>VkQueueFamilyProperties</type> <name>queueFamilyProperties</name></member>
</type>
<type category="struct" name="VkQueueFamilyProperties2KHR" alias="VkQueueFamilyProperties2"/>
<type category="struct" name="VkPhysicalDeviceMemoryProperties2" returnedonly="true">
@@ -3446,8 +3446,8 @@ typedef void <name>CAMetalLayer</name>;
<type category="struct" name="VkQueueFamilyGlobalPriorityPropertiesKHR" structextends="VkQueueFamilyProperties2">
<member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>uint32_t</type> <name>priorityCount</name></member>
- <member><type>VkQueueGlobalPriorityKHR</type> <name>priorities</name>[<enum>VK_MAX_GLOBAL_PRIORITY_SIZE_KHR</enum>]</member>
+ <member limittype="max"><type>uint32_t</type> <name>priorityCount</name></member>
+ <member limittype="bitmask"><type>VkQueueGlobalPriorityKHR</type> <name>priorities</name>[<enum>VK_MAX_GLOBAL_PRIORITY_SIZE_KHR</enum>]</member>
</type>
<type category="struct" name="VkQueueFamilyGlobalPriorityPropertiesEXT" alias="VkQueueFamilyGlobalPriorityPropertiesKHR"/>
<type category="struct" name="VkDebugUtilsObjectNameInfoEXT" structextends="VkPipelineShaderStageCreateInfo">
@@ -3912,7 +3912,7 @@ typedef void <name>CAMetalLayer</name>;
<type category="struct" name="VkQueueFamilyCheckpointPropertiesNV" structextends="VkQueueFamilyProperties2" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>VkPipelineStageFlags</type> <name>checkpointExecutionStageMask</name></member>
+ <member limittype="bitmask"><type>VkPipelineStageFlags</type> <name>checkpointExecutionStageMask</name></member>
</type>
<type category="struct" name="VkCheckpointDataNV" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV"><type>VkStructureType</type> <name>sType</name></member>
@@ -5588,7 +5588,7 @@ typedef void <name>CAMetalLayer</name>;
<member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateNonTrivialCombinerOps</name></member>
<member limittype="max"><type>VkExtent2D</type> <name>maxFragmentSize</name></member>
<member limittype="noauto"><type>uint32_t</type> <name>maxFragmentSizeAspectRatio</name></member>
- <member limittype="noauto"><type>uint32_t</type> <name>maxFragmentShadingRateCoverageSamples</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxFragmentShadingRateCoverageSamples</name></member>
<member limittype="max"><type>VkSampleCountFlagBits</type> <name>maxFragmentShadingRateRasterizationSamples</name></member>
<member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateWithShaderDepthStencilWrites</name></member>
<member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateWithSampleMask</name></member>
@@ -5785,7 +5785,7 @@ typedef void <name>CAMetalLayer</name>;
<type category="struct" name="VkQueueFamilyCheckpointProperties2NV" structextends="VkQueueFamilyProperties2" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>VkPipelineStageFlags2</type> <name>checkpointExecutionStageMask</name></member>
+ <member limittype="bitmask"><type>VkPipelineStageFlags2</type> <name>checkpointExecutionStageMask</name></member>
</type>
<type category="struct" name="VkCheckpointData2NV" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"><type>VkStructureType</type> <name>sType</name></member>
@@ -5809,7 +5809,7 @@ typedef void <name>CAMetalLayer</name>;
<type category="struct" name="VkVideoQueueFamilyProperties2KHR" structextends="VkQueueFamilyProperties2">
<member values="VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR"><type>VkStructureType</type><name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>VkVideoCodecOperationFlagsKHR</type> <name>videoCodecOperations</name></member>
+ <member limittype="bitmask"><type>VkVideoCodecOperationFlagsKHR</type> <name>videoCodecOperations</name></member>
</type>
<type category="struct" name="VkQueueFamilyQueryResultStatusProperties2KHR" structextends="VkQueueFamilyProperties2">
<member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR"><type>VkStructureType</type><name>sType</name></member>
@@ -6637,9 +6637,9 @@ typedef void <name>CAMetalLayer</name>;
<type category="struct" name="VkFormatProperties3" returnedonly="true" structextends="VkFormatProperties2">
<member values="VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member optional="true"><type>VkFormatFeatureFlags2</type> <name>linearTilingFeatures</name></member>
- <member optional="true"><type>VkFormatFeatureFlags2</type> <name>optimalTilingFeatures</name></member>
- <member optional="true"><type>VkFormatFeatureFlags2</type> <name>bufferFeatures</name></member>
+ <member optional="true" limittype="bitmask"><type>VkFormatFeatureFlags2</type> <name>linearTilingFeatures</name></member>
+ <member optional="true" limittype="bitmask"><type>VkFormatFeatureFlags2</type> <name>optimalTilingFeatures</name></member>
+ <member optional="true" limittype="bitmask"><type>VkFormatFeatureFlags2</type> <name>bufferFeatures</name></member>
</type>
<type category="struct" name="VkFormatProperties3KHR" alias="VkFormatProperties3"/>
<type category="struct" name="VkDrmFormatModifierPropertiesList2EXT" returnedonly="true" structextends="VkFormatProperties2">
@@ -6829,7 +6829,7 @@ typedef void <name>CAMetalLayer</name>;
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkImageSubresource</type> <name>imageSubresource</name></member>
</type>
- <type category="struct" name="VkSubresourceLayout2EXT">
+ <type category="struct" name="VkSubresourceLayout2EXT" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkSubresourceLayout</type> <name>subresourceLayout</name></member>
@@ -6866,6 +6866,11 @@ typedef void <name>CAMetalLayer</name>;
<member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>pipelinePropertiesIdentifier</name></member>
</type>
+ <type category="struct" name="VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkBool32</type> <name>shaderEarlyAndLateFragmentTests</name></member>
+ </type>
</types>
<comment>Vulkan enumerant (token) definitions</comment>
@@ -8171,6 +8176,7 @@ typedef void <name>CAMetalLayer</name>;
<enum bitpos="0" name="VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV"/>
<enum bitpos="1" name="VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV"/>
<enum bitpos="2" name="VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV"/>
+ <enum bitpos="3" name="VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV"/>
</enums>
<enums name="VkPipelineCreationFeedbackFlagBits" type="bitmask">
<enum bitpos="0" name="VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT"/>
@@ -11905,7 +11911,7 @@ typedef void <name>CAMetalLayer</name>;
<proto><type>VkResult</type> <name>vkGetPipelinePropertiesEXT</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkPipelineInfoEXT</type>* <name>pPipelineInfo</name></param>
- <param><type>VkBaseOutStructure</type>* <name>pPipelineProperties</name></param>
+ <param noautovalidity="true"><type>VkBaseOutStructure</type>* <name>pPipelineProperties</name></param>
</command>
</commands>
@@ -11930,6 +11936,24 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkResult"/>
<type name="VkStructureType"/>
</require>
+ <require comment="API constants">
+ <enum name="VK_ATTACHMENT_UNUSED"/>
+ <enum name="VK_FALSE"/>
+ <enum name="VK_LOD_CLAMP_NONE"/>
+ <enum name="VK_QUEUE_FAMILY_IGNORED"/>
+ <enum name="VK_REMAINING_ARRAY_LAYERS"/>
+ <enum name="VK_REMAINING_MIP_LEVELS"/>
+ <enum name="VK_SUBPASS_EXTERNAL"/>
+ <enum name="VK_TRUE"/>
+ <enum name="VK_WHOLE_SIZE"/>
+ <enum name="VK_MAX_MEMORY_TYPES"/>
+ <enum name="VK_MAX_PHYSICAL_DEVICE_NAME_SIZE"/>
+ <enum name="VK_UUID_SIZE"/>
+ <enum name="VK_MAX_EXTENSION_NAME_SIZE"/>
+ <enum name="VK_MAX_DESCRIPTION_SIZE"/>
+ <enum name="VK_MAX_MEMORY_HEAPS"/>
+ <type name="VkPipelineCacheHeaderVersion"/>
+ </require>
<require comment="These types are part of the API, though not directly used in API commands or data structures">
<type name="VkBaseInStructure"/>
<type name="VkBaseOutStructure"/>
@@ -11958,18 +11982,6 @@ typedef void <name>CAMetalLayer</name>;
<type name="VK_API_VERSION_MINOR"/>
<type name="VK_API_VERSION_PATCH"/>
</require>
- <require comment="API constants">
- <enum name="VK_ATTACHMENT_UNUSED"/>
- <enum name="VK_FALSE"/>
- <enum name="VK_LOD_CLAMP_NONE"/>
- <enum name="VK_QUEUE_FAMILY_IGNORED"/>
- <enum name="VK_REMAINING_ARRAY_LAYERS"/>
- <enum name="VK_REMAINING_MIP_LEVELS"/>
- <enum name="VK_SUBPASS_EXTERNAL"/>
- <enum name="VK_TRUE"/>
- <enum name="VK_WHOLE_SIZE"/>
- <type name="VkPipelineCacheHeaderVersion"/>
- </require>
<require comment="Device initialization">
<type name="PFN_vkAllocationFunction"/>
<type name="PFN_vkFreeFunction"/>
@@ -12949,6 +12961,9 @@ typedef void <name>CAMetalLayer</name>;
<type name="VK_API_VERSION_1_3"/>
</require>
<require>
+ <type name="VkFlags64"/>
+ </require>
+ <require>
<enum extends="VkStructureType" value="53" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES"/>
<enum extends="VkStructureType" value="54" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES"/>
<type name="VkPhysicalDeviceVulkan13Features"/>
@@ -13896,7 +13911,7 @@ typedef void <name>CAMetalLayer</name>;
<enum value="&quot;VK_AMD_extension_44&quot;" name="VK_AMD_EXTENSION_44_EXTENSION_NAME"/>
</require>
</extension>
- <extension name="VK_KHR_dynamic_rendering" number="45" author="KHR" type="device" requires="VK_KHR_get_physical_device_properties2" contact="Tobias Hector @tobski" supported="vulkan" promotedto="VK_VERSION_1_3">
+ <extension name="VK_KHR_dynamic_rendering" number="45" author="KHR" type="device" requires="VK_KHR_depth_stencil_resolve,VK_KHR_get_physical_device_properties2" contact="Tobias Hector @tobski" supported="vulkan" promotedto="VK_VERSION_1_3">
<require>
<enum value="1" name="VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_dynamic_rendering&quot;" name="VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME"/>
@@ -14735,7 +14750,7 @@ typedef void <name>CAMetalLayer</name>;
<enum extends="VkFramebufferCreateFlagBits" name="VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR" alias="VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT"/>
</require>
</extension>
- <extension name="VK_KHR_create_renderpass2" requires="VK_KHR_multiview,VK_KHR_maintenance2" number="110" contact="Tobias Hector @tobias" type="device" supported="vulkan" promotedto="VK_VERSION_1_2">
+ <extension name="VK_KHR_create_renderpass2" requires="VK_KHR_multiview,VK_KHR_maintenance2" number="110" author="KHR" contact="Tobias Hector @tobias" type="device" supported="vulkan" promotedto="VK_VERSION_1_2">
<require>
<enum value="1" name="VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_create_renderpass2&quot;" name="VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME"/>
@@ -17290,7 +17305,7 @@ typedef void <name>CAMetalLayer</name>;
</extension>
<extension name="VK_NV_device_diagnostics_config" number="301" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Kedarnath Thangudu @kthangudu" supported="vulkan">
<require>
- <enum value="1" name="VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION"/>
+ <enum value="2" name="VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION"/>
<enum value="&quot;VK_NV_device_diagnostics_config&quot;" name="VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV"/>
@@ -17536,10 +17551,12 @@ typedef void <name>CAMetalLayer</name>;
<enum bitpos="1" extends="VkPipelineLayoutCreateFlagBits" name="VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT"/>
</require>
</extension>
- <extension name="VK_AMD_extension_322" number="322" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
+ <extension name="VK_AMD_shader_early_and_late_fragment_tests" number="322" author="EXT" contact="Tobias Hector @tobski" type="device" supported="vulkan">
<require>
- <enum value="0" name="VK_AMD_EXTENSION_322_SPEC_VERSION"/>
- <enum value="&quot;VK_AMD_extension_322&quot;" name="VK_AMD_EXTENSION_322_EXTENSION_NAME"/>
+ <enum value="1" name="VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION"/>
+ <enum value="&quot;VK_AMD_shader_early_and_late_fragment_tests&quot;" name="VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME"/>
+ <type name="VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesEXT"/>
+ <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_EXT"/>
</require>
</extension>
<extension name="VK_AMD_extension_323" number="323" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
@@ -17747,6 +17764,7 @@ typedef void <name>CAMetalLayer</name>;
<enum bitpos="19" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_19_BIT_EXT"/>
<enum bitpos="25" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_RESERVED_25_BIT_EXT"/>
<enum bitpos="26" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_RESERVED_26_BIT_EXT"/>
+ <enum bitpos="3" extends="VkDependencyFlagBits" name="VK_DEPENDENCY_RESERVED_3_BIT_EXT"/>
</require>
</extension>
<extension name="VK_EXT_4444_formats" number="341" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="vulkan" promotedto="VK_VERSION_1_3">
@@ -18785,6 +18803,7 @@ typedef void <name>CAMetalLayer</name>;
<require>
<enum value="0" name="VK_EXT_EXTENSION_467_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_467&quot;" name="VK_EXT_EXTENSION_467_EXTENSION_NAME"/>
+ <enum bitpos="27" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_RESERVED_27_BIT_EXT"/>
</require>
</extension>
<extension name="VK_EXT_extension_468" number="468" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
@@ -18859,6 +18878,18 @@ typedef void <name>CAMetalLayer</name>;
<enum value="&quot;VK_AMD_extension_479&quot;" name="VK_AMD_EXTENSION_479_EXTENSION_NAME"/>
</require>
</extension>
+ <extension name="VK_EXT_extension_480" number="480" author="EXT" contact="Daniel Stone" supported="disabled">
+ <require>
+ <enum value="0" name="VK_EXT_EXTENSION_480_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_480&quot;" name="VK_EXT_EXTENSION_480_EXTENSION_NAME"/>
+ </require>
+ </extension>
+ <extension name="VK_EXT_extension_481" number="481" author="EXT" contact="Daniel Stone" supported="disabled">
+ <require>
+ <enum value="0" name="VK_EXT_EXTENSION_481_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_481&quot;" name="VK_EXT_EXTENSION_481_EXTENSION_NAME"/>
+ </require>
+ </extension>
</extensions>
<formats>
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">