aboutsummaryrefslogtreecommitdiffhomepage
path: root/registry
diff options
context:
space:
mode:
authorJon Leech <[email protected]>2024-07-19 02:34:48 -0700
committerJon Leech <[email protected]>2024-07-19 02:38:51 -0700
commitfabe9e2672334fdb9a622d42a2e8f94578952082 (patch)
tree4d7b952f3343343a416ae4af2a237ecd9c11a735 /registry
parentb379292b2ab6df5771ba9870d53cf8b2c9295daf (diff)
downloadVulkan-Headers-fabe9e2672334fdb9a622d42a2e8f94578952082.tar.gz
Vulkan-Headers-fabe9e2672334fdb9a622d42a2e8f94578952082.zip
Update for Vulkan-Docs 1.3.291v1.3.291
Diffstat (limited to 'registry')
-rw-r--r--registry/cgenerator.py15
-rw-r--r--registry/generator.py47
-rw-r--r--registry/validusage.json622
-rwxr-xr-xregistry/vk.xml314
4 files changed, 592 insertions, 406 deletions
diff --git a/registry/cgenerator.py b/registry/cgenerator.py
index 79d83b0..1d2708d 100644
--- a/registry/cgenerator.py
+++ b/registry/cgenerator.py
@@ -334,15 +334,18 @@ class COutputGenerator(OutputGenerator):
else:
if self.genOpts is None:
raise MissingGeneratorOptionsError()
+
+ body = self.deprecationComment(typeElem)
+
# OpenXR: this section was not under 'else:' previously, just fell through
if alias:
# If the type is an alias, just emit a typedef declaration
- body = 'typedef ' + alias + ' ' + name + ';\n'
+ body += 'typedef ' + alias + ' ' + name + ';\n'
else:
# Replace <apientry /> tags with an APIENTRY-style string
# (from self.genOpts). Copy other text through unchanged.
# If the resulting text is an empty string, do not emit it.
- body = noneStr(typeElem.text)
+ body += noneStr(typeElem.text)
for elem in typeElem:
if elem.tag == 'apientry':
body += self.genOpts.apientry + noneStr(elem.tail)
@@ -417,11 +420,11 @@ class COutputGenerator(OutputGenerator):
raise MissingGeneratorOptionsError()
typeElem = typeinfo.elem
+ body = self.deprecationComment(typeElem)
if alias:
- body = 'typedef ' + alias + ' ' + typeName + ';\n'
+ body += 'typedef ' + alias + ' ' + typeName + ';\n'
else:
- body = ''
(protect_begin, protect_end) = self.genProtectString(typeElem.get('protect'))
if protect_begin:
body += protect_begin
@@ -442,6 +445,7 @@ class COutputGenerator(OutputGenerator):
targetLen = self.getMaxCParamTypeLength(typeinfo)
for member in typeElem.findall('.//member'):
+ body += self.deprecationComment(member, indent = 4)
body += self.makeCParamDecl(member, targetLen + 4)
body += ';\n'
body += '} ' + typeName + ';\n'
@@ -486,7 +490,8 @@ class COutputGenerator(OutputGenerator):
OutputGenerator.genEnum(self, enuminfo, name, alias)
- body = self.buildConstantCDecl(enuminfo, name, alias)
+ body = self.deprecationComment(enuminfo.elem)
+ body += self.buildConstantCDecl(enuminfo, name, alias)
self.appendSection('enum', body)
def genCmd(self, cmdinfo, name, alias):
diff --git a/registry/generator.py b/registry/generator.py
index 7b066f1..aed43b2 100644
--- a/registry/generator.py
+++ b/registry/generator.py
@@ -562,6 +562,41 @@ class OutputGenerator:
def misracppstyle(self):
return False;
+ def deprecationComment(self, elem, indent = 0):
+ """If an API element is marked deprecated, return a brief comment
+ describing why.
+ Otherwise, return an empty string.
+
+ - elem - Element of the API.
+ API name is determined depending on the element tag.
+ - indent - number of spaces to indent the comment"""
+
+ reason = elem.get('deprecated')
+
+ # This is almost always the path taken.
+ if reason == None:
+ return ''
+
+ # There is actually a deprecated attribute.
+ padding = indent * ' '
+
+ # Determine the API name.
+ if elem.tag == 'member' or elem.tag == 'param':
+ name = elem.find('.//name').text
+ else:
+ name = elem.get('name')
+
+ if reason == 'aliased':
+ return f'{padding}// {name} is a deprecated alias\n'
+ elif reason == 'ignored':
+ return f'{padding}// {name} is deprecated and should not be used\n'
+ elif reason == 'true':
+ return f'{padding}// {name} is deprecated, but no reason was given in the API XML\n'
+ else:
+ # This can be caught by schema validation
+ self.logMsg('error', f"{name} has an unknown deprecation attribute value '{reason}'")
+ exit(1)
+
def buildEnumCDecl(self, expand, groupinfo, groupName):
"""Generate the C declaration for an enum"""
if self.genOpts is None:
@@ -664,6 +699,8 @@ class OutputGenerator:
if protect is not None:
body += '#ifdef {}\n'.format(protect)
+ body += self.deprecationComment(elem, indent = 0)
+
if usedefine:
decl += "#define {} {}\n".format(name, strVal)
elif self.misracppstyle():
@@ -757,11 +794,9 @@ class OutputGenerator:
if protect is not None:
decl += '#ifdef {}\n'.format(protect)
- # Indent requirements comment, if there is one
- requirements = self.genRequirements(name, mustBeFound = False)
- if requirements != '':
- requirements = ' ' + requirements
- decl += requirements
+
+ decl += self.genRequirements(name, mustBeFound = False, indent = 2)
+ decl += self.deprecationComment(elem, indent = 2)
decl += ' {} = {},'.format(name, strVal)
if protect is not None:
@@ -944,7 +979,7 @@ class OutputGenerator:
self.featureName = None
self.featureExtraProtect = None
- def genRequirements(self, name, mustBeFound = True):
+ def genRequirements(self, name, mustBeFound = True, indent = 0):
"""Generate text showing what core versions and extensions introduce
an API. This exists in the base Generator class because it is used by
the shared enumerant-generating interfaces (buildEnumCDecl, etc.).
diff --git a/registry/validusage.json b/registry/validusage.json
index e053284..38356f4 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.290",
- "comment": "from git branch: github-main commit: 043260d06e96c8586492be41cc109945e92a69ff",
- "date": "2024-07-12 06:39:16Z"
+ "api version": "1.3.291",
+ "comment": "from git branch: github-main commit: 4b01c384d9fc4ffff9bb7dc18a1b76d57c6d7d4f",
+ "date": "2024-07-19 09:18:33Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -886,7 +886,7 @@
},
{
"vuid": "VUID-VkDeviceCreateInfo-pNext-pNext",
- "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkDeviceQueueShaderCoreControlCreateInfoARM\">VkDeviceQueueShaderCoreControlCreateInfoARM</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI\">VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesKHR\">VkPhysicalDeviceCooperativeMatrixFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCubicClampFeaturesQCOM\">VkPhysicalDeviceCubicClampFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceCubicWeightsFeaturesQCOM\">VkPhysicalDeviceCubicWeightsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceCudaKernelLaunchFeaturesNV\">VkPhysicalDeviceCudaKernelLaunchFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthBiasControlFeaturesEXT\">VkPhysicalDeviceDepthBiasControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClampZeroOneFeaturesEXT\">VkPhysicalDeviceDepthClampZeroOneFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV\">VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapFeaturesNV\">VkPhysicalDeviceDisplacementMicromapFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR\">VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT\">VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV\">VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalFormatResolveFeaturesANDROID\">VkPhysicalDeviceExternalFormatResolveFeaturesANDROID</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX\">VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX</a>, <a href=\"#VkPhysicalDeviceFaultFeaturesEXT\">VkPhysicalDeviceFaultFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFrameBoundaryFeaturesEXT\">VkPhysicalDeviceFrameBoundaryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyFeaturesEXT\">VkPhysicalDeviceHostImageCopyFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageAlignmentControlFeaturesMESA\">VkPhysicalDeviceImageAlignmentControlFeaturesMESA</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessing2FeaturesQCOM\">VkPhysicalDeviceImageProcessing2FeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT\">VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesKHR\">VkPhysicalDeviceIndexTypeUint8FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT\">VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesKHR\">VkPhysicalDeviceLineRasterizationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMaintenance5FeaturesKHR\">VkPhysicalDeviceMaintenance5FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMaintenance6FeaturesKHR\">VkPhysicalDeviceMaintenance6FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMaintenance7FeaturesKHR\">VkPhysicalDeviceMaintenance7FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMapMemoryPlacedFeaturesEXT\">VkPhysicalDeviceMapMemoryPlacedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNestedCommandBufferFeaturesEXT\">VkPhysicalDeviceNestedCommandBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerStageDescriptorSetFeaturesNV\">VkPhysicalDevicePerStageDescriptorSetFeaturesNV</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT\">VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRawAccessChainsFeaturesNV\">VkPhysicalDeviceRawAccessChainsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR\">VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingValidationFeaturesNV\">VkPhysicalDeviceRayTracingValidationFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG\">VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG</a>, <a href=\"#VkPhysicalDeviceRenderPassStripedFeaturesARM\">VkPhysicalDeviceRenderPassStripedFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSchedulingControlsFeaturesARM\">VkPhysicalDeviceSchedulingControlsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV\">VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderEnqueueFeaturesAMDX\">VkPhysicalDeviceShaderEnqueueFeaturesAMDX</a>, <a href=\"#VkPhysicalDeviceShaderExpectAssumeFeaturesKHR\">VkPhysicalDeviceShaderExpectAssumeFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderFloatControls2FeaturesKHR\">VkPhysicalDeviceShaderFloatControls2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR\">VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectFeaturesEXT\">VkPhysicalDeviceShaderObjectFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderQuadControlFeaturesKHR\">VkPhysicalDeviceShaderQuadControlFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR\">VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT\">VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR\">VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTileImageFeaturesEXT\">VkPhysicalDeviceShaderTileImageFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT\">VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR\">VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVideoMaintenance1FeaturesKHR\">VkPhysicalDeviceVideoMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrDegammaFeaturesQCOM\">VkPhysicalDeviceYcbcrDegammaFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>",
+ "text": "Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkDeviceQueueShaderCoreControlCreateInfoARM\">VkDeviceQueueShaderCoreControlCreateInfoARM</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#VkPhysicalDeviceAntiLagFeaturesAMD\">VkPhysicalDeviceAntiLagFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI\">VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesKHR\">VkPhysicalDeviceCooperativeMatrixFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCubicClampFeaturesQCOM\">VkPhysicalDeviceCubicClampFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceCubicWeightsFeaturesQCOM\">VkPhysicalDeviceCubicWeightsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceCudaKernelLaunchFeaturesNV\">VkPhysicalDeviceCudaKernelLaunchFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthBiasControlFeaturesEXT\">VkPhysicalDeviceDepthBiasControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClampZeroOneFeaturesEXT\">VkPhysicalDeviceDepthClampZeroOneFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV\">VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapFeaturesNV\">VkPhysicalDeviceDisplacementMicromapFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR\">VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT\">VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV\">VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalFormatResolveFeaturesANDROID\">VkPhysicalDeviceExternalFormatResolveFeaturesANDROID</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX\">VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX</a>, <a href=\"#VkPhysicalDeviceFaultFeaturesEXT\">VkPhysicalDeviceFaultFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFrameBoundaryFeaturesEXT\">VkPhysicalDeviceFrameBoundaryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyFeaturesEXT\">VkPhysicalDeviceHostImageCopyFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageAlignmentControlFeaturesMESA\">VkPhysicalDeviceImageAlignmentControlFeaturesMESA</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessing2FeaturesQCOM\">VkPhysicalDeviceImageProcessing2FeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT\">VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesKHR\">VkPhysicalDeviceIndexTypeUint8FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT\">VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesKHR\">VkPhysicalDeviceLineRasterizationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMaintenance5FeaturesKHR\">VkPhysicalDeviceMaintenance5FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMaintenance6FeaturesKHR\">VkPhysicalDeviceMaintenance6FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMaintenance7FeaturesKHR\">VkPhysicalDeviceMaintenance7FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMapMemoryPlacedFeaturesEXT\">VkPhysicalDeviceMapMemoryPlacedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNestedCommandBufferFeaturesEXT\">VkPhysicalDeviceNestedCommandBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerStageDescriptorSetFeaturesNV\">VkPhysicalDevicePerStageDescriptorSetFeaturesNV</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT\">VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRawAccessChainsFeaturesNV\">VkPhysicalDeviceRawAccessChainsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR\">VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingValidationFeaturesNV\">VkPhysicalDeviceRayTracingValidationFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG\">VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG</a>, <a href=\"#VkPhysicalDeviceRenderPassStripedFeaturesARM\">VkPhysicalDeviceRenderPassStripedFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSchedulingControlsFeaturesARM\">VkPhysicalDeviceSchedulingControlsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV\">VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderEnqueueFeaturesAMDX\">VkPhysicalDeviceShaderEnqueueFeaturesAMDX</a>, <a href=\"#VkPhysicalDeviceShaderExpectAssumeFeaturesKHR\">VkPhysicalDeviceShaderExpectAssumeFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderFloatControls2FeaturesKHR\">VkPhysicalDeviceShaderFloatControls2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR\">VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectFeaturesEXT\">VkPhysicalDeviceShaderObjectFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderQuadControlFeaturesKHR\">VkPhysicalDeviceShaderQuadControlFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR\">VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT\">VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR\">VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTileImageFeaturesEXT\">VkPhysicalDeviceShaderTileImageFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT\">VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR\">VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVideoMaintenance1FeaturesKHR\">VkPhysicalDeviceVideoMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrDegammaFeaturesQCOM\">VkPhysicalDeviceYcbcrDegammaFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>",
"page": "vkspec"
},
{
@@ -14533,7 +14533,7 @@
"core": [
{
"vuid": "VUID-VkComputePipelineCreateInfo-None-09497",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
"page": "vkspec"
},
{
@@ -15258,7 +15258,7 @@
"core": [
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-None-09497",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
"page": "vkspec"
},
{
@@ -17249,7 +17249,7 @@
"core": [
{
"vuid": "VUID-VkRayTracingPipelineCreateInfoNV-None-09497",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
"page": "vkspec"
},
{
@@ -17438,7 +17438,7 @@
"core": [
{
"vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-None-09497",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
"page": "vkspec"
},
{
@@ -17981,7 +17981,7 @@
},
{
"vuid": "VUID-vkGetRayTracingShaderGroupStackSizeKHR-group-03608",
- "text": "The value of <code>group</code> must be less than the number of shader groups in <code>pipeline</code>",
+ "text": "The value of <code>group</code> <strong class=\"purple\">must</strong> be less than the number of shader groups in <code>pipeline</code>",
"page": "vkspec"
},
{
@@ -19003,12 +19003,12 @@
},
{
"vuid": "VUID-VkMemoryAllocateInfo-buffer-06380",
- "text": "If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> is present and non-NULL, <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>collection</code> and <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>index</code> must match <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>::<code>collection</code> and <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>::<code>index</code>, respectively, of the <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> structure used to create the <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code>",
+ "text": "If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> is present and non-NULL, <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>collection</code> and <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>index</code> <strong class=\"purple\">must</strong> match <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>::<code>collection</code> and <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>::<code>index</code>, respectively, of the <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> structure used to create the <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code>",
"page": "vkspec"
},
{
"vuid": "VUID-VkMemoryAllocateInfo-image-06381",
- "text": "If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> is present and non-NULL, <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>collection</code> and <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>index</code> must match <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>::<code>collection</code> and <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>::<code>index</code>, respectively, of the <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a> structure used to create the <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code>",
+ "text": "If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> is present and non-NULL, <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>collection</code> and <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>index</code> <strong class=\"purple\">must</strong> match <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>::<code>collection</code> and <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>::<code>index</code>, respectively, of the <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a> structure used to create the <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code>",
"page": "vkspec"
},
{
@@ -19188,7 +19188,7 @@
},
{
"vuid": "VUID-VkMemoryAllocateInfo-pNext-08944",
- "text": "If the parameters define an import operation, the external handle is a QNX Screen buffer, and the <code>pNext</code> chain includes a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> with <code>image</code> that is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the QNX Screen&#8217;s buffer must be a <a href=\"#memory-external-screen-buffer-validity\">valid QNX Screen buffer</a>",
+ "text": "If the parameters define an import operation, the external handle is a QNX Screen buffer, and the <code>pNext</code> chain includes a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> with <code>image</code> that is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the QNX Screen&#8217;s buffer <strong class=\"purple\">must</strong> be a <a href=\"#memory-external-screen-buffer-validity\">valid QNX Screen buffer</a>",
"page": "vkspec"
},
{
@@ -19198,7 +19198,7 @@
},
{
"vuid": "VUID-VkMemoryAllocateInfo-pNext-08946",
- "text": "If the parameters define an import operation, the external handle is a QNX Screen buffer, and the <code>pNext</code> chain includes a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure with <code>image</code> that is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the width, height, and array layer dimensions of <code>image</code> and the QNX Screen buffer&#8217;s <code>_screen_buffer</code> must be identical",
+ "text": "If the parameters define an import operation, the external handle is a QNX Screen buffer, and the <code>pNext</code> chain includes a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure with <code>image</code> that is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the width, height, and array layer dimensions of <code>image</code> and the QNX Screen buffer&#8217;s <code>_screen_buffer</code> <strong class=\"purple\">must</strong> be identical",
"page": "vkspec"
},
{
@@ -20198,7 +20198,7 @@
},
{
"vuid": "VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-zirconHandle-04774",
- "text": "<code>zirconHandle</code> must reference a valid VMO",
+ "text": "<code>zirconHandle</code> <strong class=\"purple\">must</strong> reference a valid VMO",
"page": "vkspec"
},
{
@@ -21229,12 +21229,12 @@
"core": [
{
"vuid": "VUID-VkBufferCreateInfo-None-09499",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> must be a valid combination of <a href=\"#VkBufferUsageFlagBits\">VkBufferUsageFlagBits</a> values",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBufferUsageFlagBits\">VkBufferUsageFlagBits</a> values",
"page": "vkspec"
},
{
"vuid": "VUID-VkBufferCreateInfo-None-09500",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> must not be 0",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> <strong class=\"purple\">must</strong> not be 0",
"page": "vkspec"
},
{
@@ -22277,7 +22277,12 @@
},
{
"vuid": "VUID-VkImageCreateInfo-pNext-06722",
- "text": "If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero, then each format in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> <strong class=\"purple\">must</strong> either be compatible with the <code>format</code> as described in the <a href=\"#formats-compatibility\">compatibility table</a> or, if <code>flags</code> contains <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code>, be an uncompressed format that is size-compatible with <code>format</code>",
+ "text": "If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain and <code>format</code> is not a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar</a> format and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero, then each format in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> <strong class=\"purple\">must</strong> either be compatible with the <code>format</code> as described in the <a href=\"#formats-compatibility\">compatibility table</a> or, if <code>flags</code> contains <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code>, be an uncompressed format that is size-compatible with <code>format</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkImageCreateInfo-pNext-10062",
+ "text": "If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain and <code>format</code> is a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar</a> format and <code>flags</code> contains <code>VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT</code> and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero, then each format in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> <strong class=\"purple\">must</strong> be compatible with the <code>VkFormat</code> for the plane of the image format",
"page": "vkspec"
},
{
@@ -30521,12 +30526,12 @@
"core": [
{
"vuid": "VUID-VkDescriptorBufferBindingInfoEXT-None-09499",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> must be a valid combination of <a href=\"#VkBufferUsageFlagBits\">VkBufferUsageFlagBits</a> values",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBufferUsageFlagBits\">VkBufferUsageFlagBits</a> values",
"page": "vkspec"
},
{
"vuid": "VUID-VkDescriptorBufferBindingInfoEXT-None-09500",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> must not be 0",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> <strong class=\"purple\">must</strong> not be 0",
"page": "vkspec"
},
{
@@ -42029,7 +42034,7 @@
},
{
"vuid": "VUID-vkCmdDraw-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -43663,7 +43668,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexed-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -45312,7 +45317,7 @@
},
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -46966,7 +46971,7 @@
},
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -48640,7 +48645,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndirect-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -50328,7 +50333,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -52022,7 +52027,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -53725,7 +53730,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -55429,7 +55434,7 @@
},
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -57220,7 +57225,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -58774,7 +58779,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -60387,7 +60392,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -62021,7 +62026,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -63610,7 +63615,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -65258,7 +65263,7 @@
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -66892,7 +66897,7 @@
},
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -68461,7 +68466,7 @@
},
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -70879,7 +70884,7 @@
},
{
"vuid": "VUID-vkCmdSetDepthClampEnableEXT-depthClamp-07449",
- "text": "If the <a href=\"#features-depthClamp\"><code>depthClamp</code></a> feature is not enabled, <code>depthClampEnable</code> must be <code>VK_FALSE</code>",
+ "text": "If the <a href=\"#features-depthClamp\"><code>depthClamp</code></a> feature is not enabled, <code>depthClampEnable</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>",
"page": "vkspec"
},
{
@@ -74838,7 +74843,7 @@
},
{
"vuid": "VUID-vkCmdDispatch-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -75237,7 +75242,7 @@
},
{
"vuid": "VUID-vkCmdDispatchIndirect-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -75660,7 +75665,7 @@
},
{
"vuid": "VUID-vkCmdDispatchBase-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -76079,7 +76084,7 @@
},
{
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -76259,7 +76264,7 @@
},
{
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-04931",
- "text": "This command must be called in a subpass with bind point <code>VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI</code>. No draw commands can be called in the same subpass. Only one <a href=\"#vkCmdSubpassShadingHUAWEI\">vkCmdSubpassShadingHUAWEI</a> command can be called in a subpass",
+ "text": "This command <strong class=\"purple\">must</strong> be called in a subpass with bind point <code>VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI</code>. No draw commands can be called in the same subpass. Only one <a href=\"#vkCmdSubpassShadingHUAWEI\">vkCmdSubpassShadingHUAWEI</a> command can be called in a subpass",
"page": "vkspec"
},
{
@@ -76347,12 +76352,12 @@
},
{
"vuid": "VUID-VkCudaLaunchInfoNV-extraCount-09411",
- "text": "<code>extraCount</code> must be 0",
+ "text": "<code>extraCount</code> <strong class=\"purple\">must</strong> be 0",
"page": "vkspec"
},
{
"vuid": "VUID-VkCudaLaunchInfoNV-pExtras-09412",
- "text": "<code>pExtras</code> must be NULL",
+ "text": "<code>pExtras</code> <strong class=\"purple\">must</strong> be NULL",
"page": "vkspec"
},
{
@@ -77087,7 +77092,7 @@
},
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -82716,7 +82721,7 @@
},
{
"vuid": "VUID-VkSwapchainPresentModeInfoEXT-pPresentModes-07761",
- "text": "Each entry in <code>pPresentModes</code> must be a presentation mode specified in <a href=\"#VkSwapchainPresentModesCreateInfoEXT\">VkSwapchainPresentModesCreateInfoEXT</a>::<code>pPresentModes</code> when creating the entry&#8217;s corresponding swapchain",
+ "text": "Each entry in <code>pPresentModes</code> <strong class=\"purple\">must</strong> be a presentation mode specified in <a href=\"#VkSwapchainPresentModesCreateInfoEXT\">VkSwapchainPresentModesCreateInfoEXT</a>::<code>pPresentModes</code> when creating the entry&#8217;s corresponding swapchain",
"page": "vkspec"
},
{
@@ -82866,6 +82871,279 @@
}
]
},
+ "vkAntiLagUpdateAMD": {
+ "core": [
+ {
+ "vuid": "VUID-vkAntiLagUpdateAMD-antiLag-10061",
+ "text": "The <a href=\"#features-antiLag\"><code>antiLag</code></a> feature <strong class=\"purple\">must</strong> be enabled",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkAntiLagUpdateAMD-device-parameter",
+ "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkAntiLagUpdateAMD-pData-parameter",
+ "text": "<code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAntiLagDataAMD\">VkAntiLagDataAMD</a> structure",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkAntiLagDataAMD": {
+ "core": [
+ {
+ "vuid": "VUID-VkAntiLagDataAMD-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkAntiLagDataAMD-mode-parameter",
+ "text": "<code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAntiLagModeAMD\">VkAntiLagModeAMD</a> value",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkAntiLagDataAMD-pPresentationInfo-parameter",
+ "text": "If <code>pPresentationInfo</code> is not <code>NULL</code>, <code>pPresentationInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAntiLagPresentationInfoAMD\">VkAntiLagPresentationInfoAMD</a> structure",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkAntiLagPresentationInfoAMD": {
+ "core": [
+ {
+ "vuid": "VUID-VkAntiLagPresentationInfoAMD-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkAntiLagPresentationInfoAMD-stage-parameter",
+ "text": "<code>stage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAntiLagStageAMD\">VkAntiLagStageAMD</a> value",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "vkSetLatencySleepModeNV": {
+ "core": [
+ {
+ "vuid": "VUID-vkSetLatencySleepModeNV-device-parameter",
+ "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkSetLatencySleepModeNV-swapchain-parameter",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSwapchainKHR\">VkSwapchainKHR</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkSetLatencySleepModeNV-pSleepModeInfo-parameter",
+ "text": "<code>pSleepModeInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkLatencySleepModeInfoNV\">VkLatencySleepModeInfoNV</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkSetLatencySleepModeNV-swapchain-parent",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkLatencySleepModeInfoNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkLatencySleepModeInfoNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "vkLatencySleepNV": {
+ "core": [
+ {
+ "vuid": "VUID-vkLatencySleepNV-device-parameter",
+ "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkLatencySleepNV-swapchain-parameter",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSwapchainKHR\">VkSwapchainKHR</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkLatencySleepNV-pSleepInfo-parameter",
+ "text": "<code>pSleepInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkLatencySleepInfoNV\">VkLatencySleepInfoNV</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkLatencySleepNV-swapchain-parent",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkLatencySleepInfoNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkLatencySleepInfoNV-signalSemaphore-09361",
+ "text": "<code>signalSemaphore</code> <strong class=\"purple\">must</strong> be a timeline semaphore",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkLatencySleepInfoNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkLatencySleepInfoNV-signalSemaphore-parameter",
+ "text": "<code>signalSemaphore</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSemaphore\">VkSemaphore</a> handle",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "vkSetLatencyMarkerNV": {
+ "core": [
+ {
+ "vuid": "VUID-vkSetLatencyMarkerNV-device-parameter",
+ "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkSetLatencyMarkerNV-swapchain-parameter",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSwapchainKHR\">VkSwapchainKHR</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkSetLatencyMarkerNV-pLatencyMarkerInfo-parameter",
+ "text": "<code>pLatencyMarkerInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkSetLatencyMarkerInfoNV\">VkSetLatencyMarkerInfoNV</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkSetLatencyMarkerNV-swapchain-parent",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkSetLatencyMarkerInfoNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkSetLatencyMarkerInfoNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkSetLatencyMarkerInfoNV-marker-parameter",
+ "text": "<code>marker</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLatencyMarkerNV\">VkLatencyMarkerNV</a> value",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "vkGetLatencyTimingsNV": {
+ "core": [
+ {
+ "vuid": "VUID-vkGetLatencyTimingsNV-device-parameter",
+ "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetLatencyTimingsNV-swapchain-parameter",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSwapchainKHR\">VkSwapchainKHR</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetLatencyTimingsNV-pLatencyMarkerInfo-parameter",
+ "text": "<code>pLatencyMarkerInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkGetLatencyMarkerInfoNV\">VkGetLatencyMarkerInfoNV</a> structure",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkGetLatencyTimingsNV-swapchain-parent",
+ "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkGetLatencyMarkerInfoNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkGetLatencyMarkerInfoNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkGetLatencyMarkerInfoNV-pTimings-parameter",
+ "text": "If <code>timingCount</code> is not <code>0</code>, and <code>pTimings</code> is not <code>NULL</code>, <code>pTimings</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>timingCount</code> <a href=\"#VkLatencyTimingsFrameReportNV\">VkLatencyTimingsFrameReportNV</a> structures",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkLatencyTimingsFrameReportNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkLatencyTimingsFrameReportNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkLatencySubmissionPresentIdNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkLatencySubmissionPresentIdNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "vkQueueNotifyOutOfBandNV": {
+ "core": [
+ {
+ "vuid": "VUID-vkQueueNotifyOutOfBandNV-queue-parameter",
+ "text": "<code>queue</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueue\">VkQueue</a> handle",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-vkQueueNotifyOutOfBandNV-pQueueTypeInfo-parameter",
+ "text": "<code>pQueueTypeInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkOutOfBandQueueTypeInfoNV\">VkOutOfBandQueueTypeInfoNV</a> structure",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkOutOfBandQueueTypeInfoNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkOutOfBandQueueTypeInfoNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkOutOfBandQueueTypeInfoNV-queueType-parameter",
+ "text": "<code>queueType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkOutOfBandQueueTypeNV\">VkOutOfBandQueueTypeNV</a> value",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkSwapchainLatencyCreateInfoNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkSwapchainLatencyCreateInfoNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
+ "VkLatencySurfaceCapabilitiesNV": {
+ "core": [
+ {
+ "vuid": "VUID-VkLatencySurfaceCapabilitiesNV-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV</code>",
+ "page": "vkspec"
+ },
+ {
+ "vuid": "VUID-VkLatencySurfaceCapabilitiesNV-pPresentModes-parameter",
+ "text": "If <code>presentModeCount</code> is not <code>0</code>, and <code>pPresentModes</code> is not <code>NULL</code>, <code>pPresentModes</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>presentModeCount</code> <a href=\"#VkPresentModeKHR\">VkPresentModeKHR</a> values",
+ "page": "vkspec"
+ }
+ ]
+ },
"VkSwapchainPresentBarrierCreateInfoNV": {
"core": [
{
@@ -86832,7 +87110,7 @@
},
{
"vuid": "VUID-vkCmdTraceRaysNV-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -87351,7 +87629,7 @@
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -87999,7 +88277,7 @@
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -88597,7 +88875,7 @@
},
{
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -93151,7 +93429,7 @@
"core": [
{
"vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09497",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> must be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> structure, <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values",
"page": "vkspec"
},
{
@@ -93640,7 +93918,7 @@
},
{
"vuid": "VUID-vkCmdDispatchGraphAMDX-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -94084,7 +94362,7 @@
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -94548,7 +94826,7 @@
},
{
"vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08608",
- "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state not specified as dynamic in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
+ "text": "If a pipeline is bound to the pipeline bind point used by this command, there <strong class=\"purple\">must</strong> not have been any calls to dynamic state setting commands for any state specified statically in the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command, since that pipeline was bound",
"page": "vkspec"
},
{
@@ -94867,227 +95145,6 @@
}
]
},
- "vkSetLatencySleepModeNV": {
- "core": [
- {
- "vuid": "VUID-vkSetLatencySleepModeNV-device-parameter",
- "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkSetLatencySleepModeNV-swapchain-parameter",
- "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSwapchainKHR\">VkSwapchainKHR</a> handle",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkSetLatencySleepModeNV-pSleepModeInfo-parameter",
- "text": "<code>pSleepModeInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkLatencySleepModeInfoNV\">VkLatencySleepModeInfoNV</a> structure",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkSetLatencySleepModeNV-swapchain-parent",
- "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>",
- "page": "vkspec"
- }
- ]
- },
- "VkLatencySleepModeInfoNV": {
- "core": [
- {
- "vuid": "VUID-VkLatencySleepModeInfoNV-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV</code>",
- "page": "vkspec"
- }
- ]
- },
- "vkLatencySleepNV": {
- "core": [
- {
- "vuid": "VUID-vkLatencySleepNV-device-parameter",
- "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkLatencySleepNV-swapchain-parameter",
- "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSwapchainKHR\">VkSwapchainKHR</a> handle",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkLatencySleepNV-pSleepInfo-parameter",
- "text": "<code>pSleepInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkLatencySleepInfoNV\">VkLatencySleepInfoNV</a> structure",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkLatencySleepNV-swapchain-parent",
- "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>",
- "page": "vkspec"
- }
- ]
- },
- "VkLatencySleepInfoNV": {
- "core": [
- {
- "vuid": "VUID-VkLatencySleepInfoNV-signalSemaphore-09361",
- "text": "<code>signalSemaphore</code> <strong class=\"purple\">must</strong> be a timeline semaphore",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkLatencySleepInfoNV-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV</code>",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkLatencySleepInfoNV-signalSemaphore-parameter",
- "text": "<code>signalSemaphore</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSemaphore\">VkSemaphore</a> handle",
- "page": "vkspec"
- }
- ]
- },
- "vkSetLatencyMarkerNV": {
- "core": [
- {
- "vuid": "VUID-vkSetLatencyMarkerNV-device-parameter",
- "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkSetLatencyMarkerNV-swapchain-parameter",
- "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSwapchainKHR\">VkSwapchainKHR</a> handle",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkSetLatencyMarkerNV-pLatencyMarkerInfo-parameter",
- "text": "<code>pLatencyMarkerInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkSetLatencyMarkerInfoNV\">VkSetLatencyMarkerInfoNV</a> structure",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkSetLatencyMarkerNV-swapchain-parent",
- "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>",
- "page": "vkspec"
- }
- ]
- },
- "VkSetLatencyMarkerInfoNV": {
- "core": [
- {
- "vuid": "VUID-VkSetLatencyMarkerInfoNV-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV</code>",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkSetLatencyMarkerInfoNV-marker-parameter",
- "text": "<code>marker</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkLatencyMarkerNV\">VkLatencyMarkerNV</a> value",
- "page": "vkspec"
- }
- ]
- },
- "vkGetLatencyTimingsNV": {
- "core": [
- {
- "vuid": "VUID-vkGetLatencyTimingsNV-device-parameter",
- "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkGetLatencyTimingsNV-swapchain-parameter",
- "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSwapchainKHR\">VkSwapchainKHR</a> handle",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkGetLatencyTimingsNV-pLatencyMarkerInfo-parameter",
- "text": "<code>pLatencyMarkerInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkGetLatencyMarkerInfoNV\">VkGetLatencyMarkerInfoNV</a> structure",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkGetLatencyTimingsNV-swapchain-parent",
- "text": "<code>swapchain</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>",
- "page": "vkspec"
- }
- ]
- },
- "VkGetLatencyMarkerInfoNV": {
- "core": [
- {
- "vuid": "VUID-VkGetLatencyMarkerInfoNV-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV</code>",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkGetLatencyMarkerInfoNV-pTimings-parameter",
- "text": "If <code>timingCount</code> is not <code>0</code>, and <code>pTimings</code> is not <code>NULL</code>, <code>pTimings</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>timingCount</code> <a href=\"#VkLatencyTimingsFrameReportNV\">VkLatencyTimingsFrameReportNV</a> structures",
- "page": "vkspec"
- }
- ]
- },
- "VkLatencyTimingsFrameReportNV": {
- "core": [
- {
- "vuid": "VUID-VkLatencyTimingsFrameReportNV-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV</code>",
- "page": "vkspec"
- }
- ]
- },
- "VkLatencySubmissionPresentIdNV": {
- "core": [
- {
- "vuid": "VUID-VkLatencySubmissionPresentIdNV-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV</code>",
- "page": "vkspec"
- }
- ]
- },
- "vkQueueNotifyOutOfBandNV": {
- "core": [
- {
- "vuid": "VUID-vkQueueNotifyOutOfBandNV-queue-parameter",
- "text": "<code>queue</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueue\">VkQueue</a> handle",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-vkQueueNotifyOutOfBandNV-pQueueTypeInfo-parameter",
- "text": "<code>pQueueTypeInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkOutOfBandQueueTypeInfoNV\">VkOutOfBandQueueTypeInfoNV</a> structure",
- "page": "vkspec"
- }
- ]
- },
- "VkOutOfBandQueueTypeInfoNV": {
- "core": [
- {
- "vuid": "VUID-VkOutOfBandQueueTypeInfoNV-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV</code>",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkOutOfBandQueueTypeInfoNV-queueType-parameter",
- "text": "<code>queueType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkOutOfBandQueueTypeNV\">VkOutOfBandQueueTypeNV</a> value",
- "page": "vkspec"
- }
- ]
- },
- "VkSwapchainLatencyCreateInfoNV": {
- "core": [
- {
- "vuid": "VUID-VkSwapchainLatencyCreateInfoNV-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV</code>",
- "page": "vkspec"
- }
- ]
- },
- "VkLatencySurfaceCapabilitiesNV": {
- "core": [
- {
- "vuid": "VUID-VkLatencySurfaceCapabilitiesNV-sType-sType",
- "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV</code>",
- "page": "vkspec"
- },
- {
- "vuid": "VUID-VkLatencySurfaceCapabilitiesNV-pPresentModes-parameter",
- "text": "If <code>presentModeCount</code> is not <code>0</code>, and <code>pPresentModes</code> is not <code>NULL</code>, <code>pPresentModes</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>presentModeCount</code> <a href=\"#VkPresentModeKHR\">VkPresentModeKHR</a> values",
- "page": "vkspec"
- }
- ]
- },
"vkEnumerateInstanceLayerProperties": {
"core": [
{
@@ -96550,6 +96607,15 @@
}
]
},
+ "VkPhysicalDeviceAntiLagFeaturesAMD": {
+ "core": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceAntiLagFeaturesAMD-sType-sType",
+ "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD</code>",
+ "page": "vkspec"
+ }
+ ]
+ },
"VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT": {
"core": [
{
@@ -98203,12 +98269,12 @@
"core": [
{
"vuid": "VUID-VkPhysicalDeviceExternalBufferInfo-None-09499",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> must be a valid combination of <a href=\"#VkBufferUsageFlagBits\">VkBufferUsageFlagBits</a> values",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBufferUsageFlagBits\">VkBufferUsageFlagBits</a> values",
"page": "vkspec"
},
{
"vuid": "VUID-VkPhysicalDeviceExternalBufferInfo-None-09500",
- "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> must not be 0",
+ "text": "If the <code>pNext</code> chain does not include a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> structure, <code>usage</code> <strong class=\"purple\">must</strong> not be 0",
"page": "vkspec"
},
{
@@ -99691,7 +99757,7 @@
},
{
"vuid": "VUID-StandaloneSpirv-Offset-04865",
- "text": "Any image instruction which uses an <code>Offset</code>, <code>ConstOffset</code>, or <code>ConstOffsets</code> image operand, must only consume a &#8220;Sampled Image&#8221; operand whose type has its &#8220;Sampled&#8221; operand set to 1",
+ "text": "Any image instruction which uses an <code>Offset</code>, <code>ConstOffset</code>, or <code>ConstOffsets</code> image operand, <strong class=\"purple\">must</strong> only consume a &#8220;Sampled Image&#8221; operand whose type has its &#8220;Sampled&#8221; operand set to 1",
"page": "vkspec"
},
{
diff --git a/registry/vk.xml b/registry/vk.xml
index 1e0acee..3633256 100755
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -55,7 +55,7 @@ branch of the member gitlab server.
<tag name="FUCHSIA" author="Google LLC" contact="Craig Stout @cdotstout, Jesse Hall @critsec, John Rosasco @rosasco"/>
<tag name="GGP" author="Google, LLC" contact="Jean-Francois Roy @jfroy, Hai Nguyen @chaoticbob, Jesse Hall @critsec"/>
<tag name="GOOGLE" author="Google LLC" contact="Jesse Hall @critsec"/>
- <tag name="QCOM" author="Qualcomm Technologies, Inc." contact="Jeff Leger @jackohounhd"/>
+ <tag name="QCOM" author="Qualcomm Technologies, Inc." contact="Matthew Netsch @mnetsch"/>
<tag name="LUNARG" author="LunarG, Inc." contact="Karen Ghavam @karenghavam-lunarg"/>
<tag name="NZXT" author="NZXT Inc." contact="Jacob Kiesel @xaeroxe"/>
<tag name="SAMSUNG" author="Samsung Electronics Co., Ltd." contact="Alon Or-bach @alonorbach"/>
@@ -175,7 +175,7 @@ branch of the member gitlab server.
#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type>
<type api="vulkan" category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 290</type>
+#define <name>VK_HEADER_VERSION</name> 291</type>
<type api="vulkan" 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>
<type api="vulkansc" category="define">// Version of this file
@@ -784,6 +784,8 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkMemoryDecompressionMethodFlagBitsNV" category="enum"/>
<type name="VkDepthBiasRepresentationEXT" category="enum"/>
<type name="VkDirectDriverLoadingModeLUNARG" category="enum"/>
+ <type name="VkAntiLagModeAMD" category="enum"/>
+ <type name="VkAntiLagStageAMD" category="enum"/>
<type name="VkPipelineCreateFlagBits2KHR" category="enum"/>
<type name="VkBufferUsageFlagBits2KHR" category="enum"/>
<type name="VkDisplacementMicromapFormatNV" category="enum"/>
@@ -6701,12 +6703,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoFormatPropertiesKHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>VkFormat</type> <name>format</name></member>
- <member><type>VkComponentMapping</type> <name>componentMapping</name></member>
- <member><type>VkImageCreateFlags</type> <name>imageCreateFlags</name></member>
- <member><type>VkImageType</type> <name>imageType</name></member>
- <member><type>VkImageTiling</type> <name>imageTiling</name></member>
- <member><type>VkImageUsageFlags</type> <name>imageUsageFlags</name></member>
+ <member limittype="exact"><type>VkFormat</type> <name>format</name></member>
+ <member limittype="exact"><type>VkComponentMapping</type> <name>componentMapping</name></member>
+ <member limittype="bitmask"><type>VkImageCreateFlags</type> <name>imageCreateFlags</name></member>
+ <member limittype="exact"><type>VkImageType</type> <name>imageType</name></member>
+ <member limittype="exact"><type>VkImageTiling</type> <name>imageTiling</name></member>
+ <member limittype="bitmask"><type>VkImageUsageFlags</type> <name>imageUsageFlags</name></member>
</type>
<type category="struct" name="VkVideoProfileInfoKHR" structextends="VkQueryPoolCreateInfo">
<member values="VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
@@ -6718,16 +6720,16 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type>
<type category="struct" name="VkVideoCapabilitiesKHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
- <member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>VkVideoCapabilityFlagsKHR</type> <name>flags</name></member>
- <member><type>VkDeviceSize</type> <name>minBitstreamBufferOffsetAlignment</name></member>
- <member><type>VkDeviceSize</type> <name>minBitstreamBufferSizeAlignment</name></member>
- <member><type>VkExtent2D</type> <name>pictureAccessGranularity</name></member>
- <member><type>VkExtent2D</type> <name>minCodedExtent</name></member>
- <member><type>VkExtent2D</type> <name>maxCodedExtent</name></member>
- <member><type>uint32_t</type> <name>maxDpbSlots</name></member>
- <member><type>uint32_t</type> <name>maxActiveReferencePictures</name></member>
- <member><type>VkExtensionProperties</type> <name>stdHeaderVersion</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member limittype="bitmask"><type>VkVideoCapabilityFlagsKHR</type> <name>flags</name></member>
+ <member limittype="min,pot"><type>VkDeviceSize</type> <name>minBitstreamBufferOffsetAlignment</name></member>
+ <member limittype="min,pot"><type>VkDeviceSize</type> <name>minBitstreamBufferSizeAlignment</name></member>
+ <member limittype="min"><type>VkExtent2D</type> <name>pictureAccessGranularity</name></member>
+ <member limittype="min"><type>VkExtent2D</type> <name>minCodedExtent</name></member>
+ <member limittype="max"><type>VkExtent2D</type> <name>maxCodedExtent</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxDpbSlots</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxActiveReferencePictures</name></member>
+ <member limittype="noauto"><type>VkExtensionProperties</type> <name>stdHeaderVersion</name></member>
</type>
<type category="struct" name="VkVideoSessionMemoryRequirementsKHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR"><type>VkStructureType</type> <name>sType</name></member>
@@ -6760,7 +6762,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoDecodeCapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member noautovalidity="true"><type>VkVideoDecodeCapabilityFlagsKHR</type> <name>flags</name></member>
+ <member limittype="bitmask" noautovalidity="true"><type>VkVideoDecodeCapabilityFlagsKHR</type> <name>flags</name></member>
</type>
<type category="struct" name="VkVideoDecodeUsageInfoKHR" structextends="VkVideoProfileInfoKHR,VkQueryPoolCreateInfo">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
@@ -6795,27 +6797,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="include" name="vk_video/vulkan_video_codec_h264std.h">#include "vk_video/vulkan_video_codec_h264std.h"</type>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264ProfileIdc"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264LevelIdc"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264ChromaFormatIdc"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PocType"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SpsFlags"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264ScalingLists"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SequenceParameterSetVui"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264AspectRatioIdc"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264HrdParameters"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SpsVuiFlags"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264WeightedBipredIdc"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PpsFlags"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SliceType"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264CabacInitIdc"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264DisableDeblockingFilterIdc"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PictureType"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264ModificationOfPicNumsIdc"/>
- <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264MemMgmtControlOp"/>
<type category="include" name="vk_video/vulkan_video_codec_h264std_decode.h">#include "vk_video/vulkan_video_codec_h264std_decode.h"</type>
<type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264PictureInfo"/>
<type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264ReferenceInfo"/>
- <type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264PictureInfoFlags"/>
- <type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264ReferenceInfoFlags"/>
<type category="struct" name="VkVideoDecodeH264ProfileInfoKHR" structextends="VkVideoProfileInfoKHR,VkQueryPoolCreateInfo">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -6824,9 +6808,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type>
<type category="struct" name="VkVideoDecodeH264CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
- <member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>StdVideoH264LevelIdc</type> <name>maxLevelIdc</name></member>
- <member><type>VkOffset2D</type> <name>fieldOffsetGranularity</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member limittype="max"><type>StdVideoH264LevelIdc</type> <name>maxLevelIdc</name></member>
+ <member limittype="noauto"><type>VkOffset2D</type> <name>fieldOffsetGranularity</name></member>
</type>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SequenceParameterSet"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PictureParameterSet"/>
@@ -6862,25 +6846,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265VideoParameterSet"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SequenceParameterSet"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265PictureParameterSet"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265DecPicBufMgr"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265HrdParameters"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265VpsFlags"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265LevelIdc"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SpsFlags"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265ScalingLists"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SequenceParameterSetVui"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265PredictorPaletteEntries"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265PpsFlags"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SubLayerHrdParameters"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265HrdFlags"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SpsVuiFlags"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SliceType"/>
- <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265PictureType"/>
<type category="include" name="vk_video/vulkan_video_codec_h265std_decode.h">#include "vk_video/vulkan_video_codec_h265std_decode.h"</type>
<type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265PictureInfo"/>
<type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265ReferenceInfo"/>
- <type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265PictureInfoFlags"/>
- <type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265ReferenceInfoFlags"/>
<type category="struct" name="VkVideoDecodeH265ProfileInfoKHR" structextends="VkVideoProfileInfoKHR,VkQueryPoolCreateInfo">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -6889,7 +6858,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoDecodeH265CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>StdVideoH265LevelIdc</type> <name>maxLevelIdc</name></member>
+ <member limittype="max"><type>StdVideoH265LevelIdc</type> <name>maxLevelIdc</name></member>
</type>
<type category="struct" name="VkVideoDecodeH265SessionParametersAddInfoKHR" structextends="VkVideoSessionParametersUpdateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
@@ -6937,7 +6906,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoDecodeAV1CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member><type>StdVideoAV1Level</type> <name>maxLevel</name></member>
+ <member limittype="max"><type>StdVideoAV1Level</type> <name>maxLevel</name></member>
</type>
<type category="struct" name="VkVideoDecodeAV1SessionParametersCreateInfoKHR" structextends="VkVideoSessionParametersCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
@@ -7076,30 +7045,30 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoEncodeCapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member noautovalidity="true"><type>VkVideoEncodeCapabilityFlagsKHR</type> <name>flags</name></member>
- <member><type>VkVideoEncodeRateControlModeFlagsKHR</type> <name>rateControlModes</name></member>
- <member><type>uint32_t</type> <name>maxRateControlLayers</name></member>
- <member><type>uint64_t</type> <name>maxBitrate</name></member>
- <member><type>uint32_t</type> <name>maxQualityLevels</name></member>
- <member><type>VkExtent2D</type> <name>encodeInputPictureGranularity</name></member>
- <member><type>VkVideoEncodeFeedbackFlagsKHR</type> <name>supportedEncodeFeedbackFlags</name></member>
+ <member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeCapabilityFlagsKHR</type> <name>flags</name></member>
+ <member limittype="bitmask"><type>VkVideoEncodeRateControlModeFlagsKHR</type> <name>rateControlModes</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxRateControlLayers</name></member>
+ <member limittype="max"><type>uint64_t</type> <name>maxBitrate</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxQualityLevels</name></member>
+ <member limittype="min"><type>VkExtent2D</type> <name>encodeInputPictureGranularity</name></member>
+ <member limittype="bitmask"><type>VkVideoEncodeFeedbackFlagsKHR</type> <name>supportedEncodeFeedbackFlags</name></member>
</type>
<type category="struct" name="VkVideoEncodeH264CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member noautovalidity="true"><type>VkVideoEncodeH264CapabilityFlagsKHR</type> <name>flags</name></member>
- <member><type>StdVideoH264LevelIdc</type> <name>maxLevelIdc</name></member>
- <member><type>uint32_t</type> <name>maxSliceCount</name></member>
- <member><type>uint32_t</type> <name>maxPPictureL0ReferenceCount</name></member>
- <member><type>uint32_t</type> <name>maxBPictureL0ReferenceCount</name></member>
- <member><type>uint32_t</type> <name>maxL1ReferenceCount</name></member>
- <member><type>uint32_t</type> <name>maxTemporalLayerCount</name></member>
- <member><type>VkBool32</type> <name>expectDyadicTemporalLayerPattern</name></member>
- <member><type>int32_t</type> <name>minQp</name></member>
- <member><type>int32_t</type> <name>maxQp</name></member>
- <member><type>VkBool32</type> <name>prefersGopRemainingFrames</name></member>
- <member><type>VkBool32</type> <name>requiresGopRemainingFrames</name></member>
- <member noautovalidity="true"><type>VkVideoEncodeH264StdFlagsKHR</type> <name>stdSyntaxFlags</name></member>
+ <member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeH264CapabilityFlagsKHR</type> <name>flags</name></member>
+ <member limittype="max"><type>StdVideoH264LevelIdc</type> <name>maxLevelIdc</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxSliceCount</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxPPictureL0ReferenceCount</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxBPictureL0ReferenceCount</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxL1ReferenceCount</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxTemporalLayerCount</name></member>
+ <member limittype="not"><type>VkBool32</type> <name>expectDyadicTemporalLayerPattern</name></member>
+ <member limittype="min"><type>int32_t</type> <name>minQp</name></member>
+ <member limittype="max"><type>int32_t</type> <name>maxQp</name></member>
+ <member limittype="not"><type>VkBool32</type> <name>prefersGopRemainingFrames</name></member>
+ <member limittype="not"><type>VkBool32</type> <name>requiresGopRemainingFrames</name></member>
+ <member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeH264StdFlagsKHR</type> <name>stdSyntaxFlags</name></member>
</type>
<type category="struct" name="VkVideoEncodeH264QualityLevelPropertiesKHR" returnedonly="true" structextends="VkVideoEncodeQualityLevelPropertiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
@@ -7118,13 +7087,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264SliceHeader"/>
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264PictureInfo"/>
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264ReferenceInfo"/>
- <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264SliceHeaderFlags"/>
- <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264ReferenceListsInfo"/>
- <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264PictureInfoFlags"/>
- <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264ReferenceInfoFlags"/>
- <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264RefMgmtFlags"/>
- <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264RefListModEntry"/>
- <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264RefPicMarkingEntry"/>
<type category="struct" name="VkVideoEncodeH264SessionCreateInfoKHR" structextends="VkVideoSessionCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -7224,22 +7186,22 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoEncodeH265CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
- <member noautovalidity="true"><type>VkVideoEncodeH265CapabilityFlagsKHR</type> <name>flags</name></member>
- <member><type>StdVideoH265LevelIdc</type> <name>maxLevelIdc</name></member>
- <member><type>uint32_t</type> <name>maxSliceSegmentCount</name></member>
- <member><type>VkExtent2D</type> <name>maxTiles</name></member>
- <member><type>VkVideoEncodeH265CtbSizeFlagsKHR</type> <name>ctbSizes</name></member>
- <member><type>VkVideoEncodeH265TransformBlockSizeFlagsKHR</type> <name>transformBlockSizes</name></member>
- <member><type>uint32_t</type> <name>maxPPictureL0ReferenceCount</name></member>
- <member><type>uint32_t</type> <name>maxBPictureL0ReferenceCount</name></member>
- <member><type>uint32_t</type> <name>maxL1ReferenceCount</name></member>
- <member><type>uint32_t</type> <name>maxSubLayerCount</name></member>
- <member><type>VkBool32</type> <name>expectDyadicTemporalSubLayerPattern</name></member>
- <member><type>int32_t</type> <name>minQp</name></member>
- <member><type>int32_t</type> <name>maxQp</name></member>
- <member><type>VkBool32</type> <name>prefersGopRemainingFrames</name></member>
- <member><type>VkBool32</type> <name>requiresGopRemainingFrames</name></member>
- <member noautovalidity="true"><type>VkVideoEncodeH265StdFlagsKHR</type> <name>stdSyntaxFlags</name></member>
+ <member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeH265CapabilityFlagsKHR</type> <name>flags</name></member>
+ <member limittype="max"><type>StdVideoH265LevelIdc</type> <name>maxLevelIdc</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxSliceSegmentCount</name></member>
+ <member limittype="max"><type>VkExtent2D</type> <name>maxTiles</name></member>
+ <member limittype="bitmask"><type>VkVideoEncodeH265CtbSizeFlagsKHR</type> <name>ctbSizes</name></member>
+ <member limittype="bitmask"><type>VkVideoEncodeH265TransformBlockSizeFlagsKHR</type> <name>transformBlockSizes</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxPPictureL0ReferenceCount</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxBPictureL0ReferenceCount</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxL1ReferenceCount</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxSubLayerCount</name></member>
+ <member limittype="not"><type>VkBool32</type> <name>expectDyadicTemporalSubLayerPattern</name></member>
+ <member limittype="min"><type>int32_t</type> <name>minQp</name></member>
+ <member limittype="max"><type>int32_t</type> <name>maxQp</name></member>
+ <member limittype="not"><type>VkBool32</type> <name>prefersGopRemainingFrames</name></member>
+ <member limittype="not"><type>VkBool32</type> <name>requiresGopRemainingFrames</name></member>
+ <member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeH265StdFlagsKHR</type> <name>stdSyntaxFlags</name></member>
</type>
<type category="struct" name="VkVideoEncodeH265QualityLevelPropertiesKHR" returnedonly="true" structextends="VkVideoEncodeQualityLevelPropertiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
@@ -7254,14 +7216,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member><type>uint32_t</type> <name>preferredMaxL1ReferenceCount</name></member>
</type>
<type category="include" name="vk_video/vulkan_video_codec_h265std_encode.h">#include "vk_video/vulkan_video_codec_h265std_encode.h"</type>
- <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265PictureInfoFlags"/>
<type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265PictureInfo"/>
<type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265SliceSegmentHeader"/>
<type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265ReferenceInfo"/>
- <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265ReferenceListsInfo"/>
- <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265SliceSegmentHeaderFlags"/>
- <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265ReferenceInfoFlags"/>
- <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265ReferenceModificationFlags"/>
<type category="struct" name="VkVideoEncodeH265SessionCreateInfoKHR" structextends="VkVideoSessionCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -8831,6 +8788,24 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member noautovalidity="true"><type>VkDeviceOrHostAddressConstAMDX</type> <name>infos</name></member>
<member><type>uint64_t</type> <name>stride</name></member>
</type>
+ <type category="struct" name="VkPhysicalDeviceAntiLagFeaturesAMD" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD"><type>VkStructureType</type> <name>sType</name></member>
+ <member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkBool32</type> <name>antiLag</name></member>
+ </type>
+ <type category="struct" name="VkAntiLagDataAMD">
+ <member values="VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD"><type>VkStructureType</type> <name>sType</name></member>
+ <member noautovalidity="true" optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>VkAntiLagModeAMD</type> <name>mode</name></member>
+ <member><type>uint32_t</type> <name>maxFPS</name></member>
+ <member optional="true">const <type>VkAntiLagPresentationInfoAMD</type>* <name>pPresentationInfo</name></member>
+ </type>
+ <type category="struct" name="VkAntiLagPresentationInfoAMD">
+ <member values="VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD"><type>VkStructureType</type> <name>sType</name></member>
+ <member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkAntiLagStageAMD</type> <name>stage</name></member>
+ <member><type>uint64_t</type> <name>frameIndex</name></member>
+ </type>
<type category="struct" name="VkBindMemoryStatusKHR" structextends="VkBindBufferMemoryInfo,VkBindImageMemoryInfo">
<member values="VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -9774,6 +9749,15 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="0" name="VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG"/>
<enum value="1" name="VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG"/>
</enums>
+ <enums name="VkAntiLagModeAMD" type="enum">
+ <enum value="0" name="VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD"/>
+ <enum value="1" name="VK_ANTI_LAG_MODE_ON_AMD"/>
+ <enum value="2" name="VK_ANTI_LAG_MODE_OFF_AMD"/>
+ </enums>
+ <enums name="VkAntiLagStageAMD" type="enum">
+ <enum value="0" name="VK_ANTI_LAG_STAGE_INPUT_AMD"/>
+ <enum value="1" name="VK_ANTI_LAG_STAGE_PRESENT_AMD"/>
+ </enums>
<comment>Flags</comment>
<enums name="VkQueueFlagBits" type="bitmask">
@@ -14274,6 +14258,11 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkPipelineIndirectDeviceAddressInfoNV</type>* <name>pInfo</name></param>
</command>
+ <command>
+ <proto><type>void</type> <name>vkAntiLagUpdateAMD</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkAntiLagDataAMD</type>* <name>pData</name></param>
+ </command>
<command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state">
<proto><type>void</type> <name>vkCmdSetCullMode</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
@@ -18248,7 +18237,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkGetRandROutputDisplayEXT"/>
</require>
</extension>
- <extension name="VK_EXT_display_surface_counter" number="91" type="instance" depends="VK_KHR_display" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc">
+ <extension name="VK_EXT_display_surface_counter" number="91" type="instance" depends="VK_KHR_display" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_display_surface_counter&quot;" name="VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME"/>
@@ -18260,7 +18249,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkGetPhysicalDeviceSurfaceCapabilities2EXT"/>
</require>
</extension>
- <extension name="VK_EXT_display_control" number="92" type="device" depends="VK_EXT_display_surface_counter+VK_KHR_swapchain" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc">
+ <extension name="VK_EXT_display_control" number="92" type="device" depends="VK_EXT_display_surface_counter+VK_KHR_swapchain" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_DISPLAY_CONTROL_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_display_control&quot;" name="VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME"/>
@@ -18982,7 +18971,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkImageFormatListCreateInfoKHR"/>
</require>
</extension>
- <extension name="VK_EXT_blend_operation_advanced" number="149" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan,vulkansc">
+ <extension name="VK_EXT_blend_operation_advanced" number="149" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="2" name="VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_blend_operation_advanced&quot;" name="VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME"/>
@@ -19228,7 +19217,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkPhysicalDeviceShaderSMBuiltinsFeaturesNV"/>
</require>
</extension>
- <extension name="VK_EXT_post_depth_coverage" number="156" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan,vulkansc">
+ <extension name="VK_EXT_post_depth_coverage" number="156" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_post_depth_coverage&quot;" name="VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME"/>
@@ -19330,7 +19319,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkBindImageMemoryInfoKHR"/>
</require>
</extension>
- <extension name="VK_EXT_image_drm_format_modifier" number="159" type="device" depends="(((VK_KHR_bind_memory2+VK_KHR_get_physical_device_properties2+VK_KHR_sampler_ycbcr_conversion),VK_VERSION_1_1)+VK_KHR_image_format_list),VK_VERSION_1_2" author="EXT" contact="Lina Versace @versalinyaa" supported="vulkan,vulkansc">
+ <extension name="VK_EXT_image_drm_format_modifier" number="159" type="device" depends="(((VK_KHR_bind_memory2+VK_KHR_get_physical_device_properties2+VK_KHR_sampler_ycbcr_conversion),VK_VERSION_1_1)+VK_KHR_image_format_list),VK_VERSION_1_2" author="EXT" contact="Lina Versace @versalinyaa" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="2" name="VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_image_drm_format_modifier&quot;" name="VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME"/>
@@ -19452,7 +19441,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkCmdSetCoarseSampleOrderNV"/>
</require>
</extension>
- <extension name="VK_NV_ray_tracing" number="166" type="device" depends="(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1" author="NV" contact="Eric Werness @ewerness-nv" supported="vulkan">
+ <extension name="VK_NV_ray_tracing" number="166" type="device" depends="(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1" author="NV" contact="Eric Werness @ewerness-nv" supported="vulkan" deprecatedby="VK_KHR_ray_tracing_pipeline">
<require>
<enum value="3" name="VK_NV_RAY_TRACING_SPEC_VERSION"/>
<enum value="&quot;VK_NV_ray_tracing&quot;" name="VK_NV_RAY_TRACING_EXTENSION_NAME"/>
@@ -20567,7 +20556,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkGetDeviceMemoryOpaqueCaptureAddressKHR"/>
</require>
</extension>
- <extension name="VK_EXT_extension_259" number="259" author="EXT" contact="Jeff Leger @jackohound" supported="disabled">
+ <extension name="VK_EXT_extension_259" number="259" author="EXT" contact="Matthew Netsch @mnetsch" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_259_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_259&quot;" name="VK_EXT_EXTENSION_259_EXTENSION_NAME"/>
@@ -20943,7 +20932,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkCmdSetDepthBias2EXT"/>
</require>
</extension>
- <extension name="VK_EXT_device_memory_report" number="285" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Yiwei Zhang @zhangyiwei" specialuse="devtools" supported="vulkan">
+ <extension name="VK_EXT_device_memory_report" number="285" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Yiwei Zhang @zhangyiwei" specialuse="devtools" supported="vulkan" ratified="vulkan">
<require>
<enum value="2" name="VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_device_memory_report&quot;" name="VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME"/>
@@ -21743,7 +21732,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR"/>
</require>
</extension>
- <extension name="VK_KHR_copy_commands2" number="338" author="KHR" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" contact="Jeff Leger @jackohound" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3" ratified="vulkan,vulkansc">
+ <extension name="VK_KHR_copy_commands2" number="338" author="KHR" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" contact="Matthew Netsch @mnetsch" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3" ratified="vulkan,vulkansc">
<require>
<enum value="1" name="VK_KHR_COPY_COMMANDS_2_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_copy_commands2&quot;" name="VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME"/>
@@ -23453,10 +23442,19 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_AMD_extension_476&quot;" name="VK_AMD_EXTENSION_476_EXTENSION_NAME"/>
</require>
</extension>
- <extension name="VK_AMD_extension_477" number="477" author="AMD" contact="Stu Smith" supported="disabled">
+ <extension name="VK_AMD_anti_lag" number="477" type="device" author="AMD" contact="Stu Smith" supported="vulkan">
<require>
- <enum value="0" name="VK_AMD_EXTENSION_477_SPEC_VERSION"/>
- <enum value="&quot;VK_AMD_extension_477&quot;" name="VK_AMD_EXTENSION_477_EXTENSION_NAME"/>
+ <enum value="1" name="VK_AMD_ANTI_LAG_SPEC_VERSION"/>
+ <enum value="&quot;VK_AMD_anti_lag&quot;" name="VK_AMD_ANTI_LAG_EXTENSION_NAME"/>
+ <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD"/>
+ <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD"/>
+ <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD"/>
+ <type name="VkPhysicalDeviceAntiLagFeaturesAMD"/>
+ <type name="VkAntiLagDataAMD"/>
+ <type name="VkAntiLagPresentationInfoAMD"/>
+ <type name="VkAntiLagModeAMD"/>
+ <type name="VkAntiLagStageAMD"/>
+ <command name="vkAntiLagUpdateAMD"/>
</require>
</extension>
<extension name="VK_AMD_extension_478" number="478" author="AMD" contact="Stu Smith" supported="disabled">
@@ -27145,4 +27143,86 @@ typedef void* <name>MTLSharedEvent_id</name>;
<syncpipelinestage>VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV</syncpipelinestage>
</syncpipeline>
</sync>
+ <videocodecs>
+ <videocodec name="Decode">
+ <videocapabilities struct="VkVideoDecodeCapabilitiesKHR"/>
+ <videoformat name="Decode Output (Coincide)" usage="VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR+VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR">
+ <videorequirecapabilities struct="VkVideoDecodeCapabilitiesKHR" member="flags" value="VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR"/>
+ </videoformat>
+ <videoformat name="Decode Output (Distinct)" usage="VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR">
+ <videorequirecapabilities struct="VkVideoDecodeCapabilitiesKHR" member="flags" value="VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR"/>
+ </videoformat>
+ <videoformat name="DPB" usage="VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR"/>
+ </videocodec>
+ <videocodec name="Encode">
+ <videocapabilities struct="VkVideoEncodeCapabilitiesKHR"/>
+ <videoformat name="Encode Input" usage="VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"/>
+ <videoformat name="DPB" usage="VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR"/>
+ </videocodec>
+ <videocodec name="H.264 Decode" extend="Decode" value="VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR">
+ <videoprofiles struct="VkVideoDecodeH264ProfileInfoKHR">
+ <videoprofilemember name="stdProfileIdc">
+ <videoprofile name="Baseline" value="STD_VIDEO_H264_PROFILE_IDC_BASELINE"/>
+ <videoprofile name="Main" value="STD_VIDEO_H264_PROFILE_IDC_MAIN"/>
+ <videoprofile name="High" value="STD_VIDEO_H264_PROFILE_IDC_HIGH"/>
+ <videoprofile name="High 4:4:4 Predictive" value="STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE"/>
+ </videoprofilemember>
+ <videoprofilemember name="pictureLayout">
+ <videoprofile name="progressive" value="VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR"/>
+ <videoprofile name="interlaced (interleaved lines)" value="VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR"/>
+ <videoprofile name="interlaced (separate planes)" value="VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR"/>
+ </videoprofilemember>
+ </videoprofiles>
+ <videocapabilities struct="VkVideoDecodeH264CapabilitiesKHR"/>
+ </videocodec>
+ <videocodec name="H.265 Decode" extend="Decode" value="VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR">
+ <videoprofiles struct="VkVideoDecodeH265ProfileInfoKHR">
+ <videoprofilemember name="stdProfileIdc">
+ <videoprofile name="Main" value="STD_VIDEO_H265_PROFILE_IDC_MAIN"/>
+ <videoprofile name="Main 10" value="STD_VIDEO_H265_PROFILE_IDC_MAIN_10"/>
+ <videoprofile name="Main Still Picture" value="STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE"/>
+ <videoprofile name="Format range extensions" value="STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS"/>
+ <videoprofile name="Screen content coding extensions" value="STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS"/>
+ </videoprofilemember>
+ </videoprofiles>
+ <videocapabilities struct="VkVideoDecodeH265CapabilitiesKHR"/>
+ </videocodec>
+ <videocodec name="AV1 Decode" extend="Decode" value="VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR">
+ <videoprofiles struct="VkVideoDecodeAV1ProfileInfoKHR">
+ <videoprofilemember name="stdProfile">
+ <videoprofile name="Main" value="STD_VIDEO_AV1_PROFILE_MAIN"/>
+ <videoprofile name="High" value="STD_VIDEO_AV1_PROFILE_HIGH"/>
+ <videoprofile name="Professional" value="STD_VIDEO_AV1_PROFILE_PROFESSIONAL"/>
+ </videoprofilemember>
+ <videoprofilemember name="filmGrainSupport">
+ <videoprofile name="with film grain support" value="VK_TRUE"/>
+ <videoprofile name="without film grain support" value="VK_TRUE"/>
+ </videoprofilemember>
+ </videoprofiles>
+ <videocapabilities struct="VkVideoDecodeAV1CapabilitiesKHR"/>
+ </videocodec>
+ <videocodec name="H.264 Encode" extend="Encode" value="VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR">
+ <videoprofiles struct="VkVideoEncodeH264ProfileInfoKHR">
+ <videoprofilemember name="stdProfileIdc">
+ <videoprofile name="Baseline" value="STD_VIDEO_H264_PROFILE_IDC_BASELINE"/>
+ <videoprofile name="Main" value="STD_VIDEO_H264_PROFILE_IDC_MAIN"/>
+ <videoprofile name="High" value="STD_VIDEO_H264_PROFILE_IDC_HIGH"/>
+ <videoprofile name="High 4:4:4 Predictive" value="STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE"/>
+ </videoprofilemember>
+ </videoprofiles>
+ <videocapabilities struct="VkVideoEncodeH264CapabilitiesKHR"/>
+ </videocodec>
+ <videocodec name="H.265 Encode" extend="Encode" value="VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR">
+ <videoprofiles struct="VkVideoEncodeH265ProfileInfoKHR">
+ <videoprofilemember name="stdProfileIdc">
+ <videoprofile name="Main" value="STD_VIDEO_H265_PROFILE_IDC_MAIN"/>
+ <videoprofile name="Main 10" value="STD_VIDEO_H265_PROFILE_IDC_MAIN_10"/>
+ <videoprofile name="Main Still Picture" value="STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE"/>
+ <videoprofile name="Format range extensions" value="STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS"/>
+ <videoprofile name="Screen content coding extensions" value="STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS"/>
+ </videoprofilemember>
+ </videoprofiles>
+ <videocapabilities struct="VkVideoEncodeH265CapabilitiesKHR"/>
+ </videocodec>
+ </videocodecs>
</registry>