aboutsummaryrefslogtreecommitdiffhomepage
path: root/registry
diff options
context:
space:
mode:
authorJon Leech <[email protected]>2023-07-28 04:40:18 -0700
committerJon Leech <[email protected]>2023-07-28 04:50:00 -0700
commit94bb3c998b9156b9101421f7614617dfcf7f4256 (patch)
treef0e26d08fae2f2be5d61ebd94d3e7b0536a7d3e2 /registry
parentcb7b123f2ddc04b86fd106c3a2b2e9872e8215b5 (diff)
downloadVulkan-Headers-94bb3c998b9156b9101421f7614617dfcf7f4256.tar.gz
Vulkan-Headers-94bb3c998b9156b9101421f7614617dfcf7f4256.zip
Update for Vulkan-Docs 1.3.260v1.3.260
Diffstat (limited to 'registry')
-rwxr-xr-xregistry/genvk.py2
-rwxr-xr-xregistry/parse_dependency.py161
-rw-r--r--registry/validusage.json2196
-rw-r--r--registry/vk.xml506
4 files changed, 2557 insertions, 308 deletions
diff --git a/registry/genvk.py b/registry/genvk.py
index 9cfabd4..71e6baf 100755
--- a/registry/genvk.py
+++ b/registry/genvk.py
@@ -417,11 +417,13 @@ def makeGenOpts(args):
'VK_EXT_video_encode_h264',
'VK_EXT_video_encode_h265',
'VK_NV_displacement_micromap',
+ 'VK_AMDX_shader_enqueue',
]
betaSuppressExtensions = [
'VK_KHR_video_queue',
'VK_EXT_opacity_micromap',
+ 'VK_KHR_pipeline_library',
]
platforms = [
diff --git a/registry/parse_dependency.py b/registry/parse_dependency.py
index 63eeabc..313b3c0 100755
--- a/registry/parse_dependency.py
+++ b/registry/parse_dependency.py
@@ -52,32 +52,79 @@ import operator
import pyparsing as pp
import re
-def nameMarkup(name):
- """Returns asciidoc markup to generate a link to an API version or
- extension anchor.
+def markupPassthrough(name):
+ """Pass a name (leaf or operator) through without applying markup"""
+ return name
- - name - version or extension name"""
+# A regexp matching Vulkan and VulkanSC core version names
+# The Conventions is_api_version_name() method is similar, but does not
+# return the matches.
+apiVersionNamePat = re.compile(r'(VK|VKSC)_VERSION_([0-9]+)_([0-9]+)')
+
+def apiVersionNameMatch(name):
+ """Return [ apivariant, major, minor ] if name is an API version name,
+ or [ None, None, None ] if it is not."""
- # Could use ApiConventions.is_api_version_name, but that does not split
- # out the major/minor version numbers.
- match = re.search("[A-Z]+_VERSION_([0-9]+)_([0-9]+)", name)
+ match = apiVersionNamePat.match(name)
if match is not None:
- major = match.group(1)
- minor = match.group(2)
- version = major + '.' + minor
+ return [ match.group(1), match.group(2), match.group(3) ]
+ else:
+ return [ None, None, None ]
+
+def leafMarkupAsciidoc(name):
+ """Markup a leaf name as an asciidoc link to an API version or extension
+ anchor.
+
+ - name - version or extension name"""
+
+ (apivariant, major, minor) = apiVersionNameMatch(name)
- # Vulkan SC has a different anchor pattern for version appendices
- scMatch = re.search("[A-Z]+SC_VERSION_([0-9]+)_([0-9]+)", name)
- if scMatch is not None:
+ if apivariant is not None:
+ version = major + '.' + minor
+ if apivariant == 'VKSC':
+ # Vulkan SC has a different anchor pattern for version appendices
if version == '1.0':
return 'Vulkan SC 1.0'
else:
- return f'<<versions-sc-{major}.{minor}, Version SC {version}>>'
+ return f'<<versions-sc-{version}, Version SC {version}>>'
else:
- return f'<<versions-{major}.{minor}, Version {version}>>'
+ return f'<<versions-{version}, Version {version}>>'
+ else:
+ return f'apiext:{name}'
+
+def leafMarkupC(name):
+ """Markup a leaf name as a C expression, using conventions of the
+ Vulkan Validation Layers
+
+ - name - version or extension name"""
+
+ (apivariant, major, minor) = apiVersionNameMatch(name)
+
+ if apivariant is not None:
+ return name
else:
- return 'apiext:' + name
+ return f'ext.{name}'
+opMarkupAsciidocMap = { '+' : 'and', ',' : 'or' }
+
+def opMarkupAsciidoc(op):
+ """Markup a operator as an asciidoc spec markup equivalent
+
+ - op - operator ('+' or ',')"""
+
+ return opMarkupAsciidocMap[op]
+
+opMarkupCMap = { '+' : '&&', ',' : '||' }
+
+def opMarkupC(op):
+ """Markup a operator as an C language equivalent
+
+ - op - operator ('+' or ',')"""
+
+ return opMarkupCMap[op]
+
+
+# Unfortunately global to be used in pyparsing
exprStack = []
def push_first(toks):
@@ -130,12 +177,6 @@ _opn = {
',': operator.or_,
}
-# map operator symbols to corresponding words
-_opname = {
- '+': 'and',
- ',': 'or',
-}
-
def evaluateStack(stack, isSupported):
"""Evaluate an expression stack, returning a boolean result.
@@ -170,42 +211,66 @@ def evaluateDependency(dependency, isSupported):
val = evaluateStack(exprStack[:], isSupported)
return val
-def evalDependencyLanguage(stack, specmacros):
+def evalDependencyLanguage(stack, leafMarkup, opMarkup, parenthesize, root):
"""Evaluate an expression stack, returning an English equivalent
- stack - the stack
- - specmacros - if True, prepare the language for spec inclusion"""
+ - leafMarkup, opMarkup, parenthesize - same as dependencyLanguage
+ - root - True only if this is the outer (root) expression level"""
op, num_args = stack.pop(), 0
if isinstance(op, tuple):
op, num_args = op
if op in '+,':
# Could parenthesize, not needed yet
- rhs = evalDependencyLanguage(stack, specmacros)
- return evalDependencyLanguage(stack, specmacros) + f' {_opname[op]} ' + rhs
+ rhs = evalDependencyLanguage(stack, leafMarkup, opMarkup, parenthesize, root = False)
+ opname = opMarkup(op)
+ lhs = evalDependencyLanguage(stack, leafMarkup, opMarkup, parenthesize, root = False)
+ if parenthesize and not root:
+ return f'({lhs} {opname} {rhs})'
+ else:
+ return f'{lhs} {opname} {rhs}'
elif op[0].isalpha():
# This is an extension or feature name
- if specmacros:
- return nameMarkup(op)
- else:
- return op
+ return leafMarkup(op)
else:
raise Exception(f'invalid op: {op}')
-def dependencyLanguage(dependency, specmacros = False):
+def dependencyLanguage(dependency, leafMarkup, opMarkup, parenthesize):
"""Return an API dependency expression translated to a form suitable for
asciidoctor conditionals or header file comments.
- dependency - the expression
- - specmacros - if False, return a string that can be used as an
- asciidoctor conditional.
- If True, return a string suitable for spec inclusion with macros and
- xrefs included."""
+ - leafMarkup - function taking an extension / version name and
+ returning an equivalent marked up version
+ - opMarkup - function taking an operator ('+' / ',') name name and
+ returning an equivalent marked up version
+ - parenthesize - True if parentheses should be used in the resulting
+ expression, False otherwise"""
global exprStack
exprStack = []
results = dependencyBNF().parseString(dependency, parseAll=True)
- return evalDependencyLanguage(exprStack, specmacros)
+ return evalDependencyLanguage(exprStack, leafMarkup, opMarkup, parenthesize, root = True)
+
+# aka specmacros = False
+def dependencyLanguageComment(dependency):
+ """Return dependency expression translated to a form suitable for
+ comments in headers of emitted C code, as used by the
+ docgenerator."""
+ return dependencyLanguage(dependency, leafMarkup = markupPassthrough, opMarkup = opMarkupAsciidoc, parenthesize = True)
+
+# aka specmacros = True
+def dependencyLanguageSpecMacros(dependency):
+ """Return dependency expression translated to a form suitable for
+ comments in headers of emitted C code, as used by the
+ interfacegenerator."""
+ return dependencyLanguage(dependency, leafMarkup = leafMarkupAsciidoc, opMarkup = opMarkupAsciidoc, parenthesize = False)
+
+def dependencyLanguageC(dependency):
+ """Return dependency expression translated to a form suitable for
+ use in C expressions"""
+ return dependencyLanguage(dependency, leafMarkup = leafMarkupC, opMarkup = opMarkupC, parenthesize = True)
def evalDependencyNames(stack):
"""Evaluate an expression stack, returning the set of extension and
@@ -262,9 +327,9 @@ def markupTraverse(expr, level = 0, root = True):
str = str + markupTraverse(elem, level = nextlevel, root = False)
elif elem in ('+', ','):
- str = str + f'{prefix}{_opname[elem]} +\n'
+ str = str + f'{prefix}{opMarkupAsciidoc(elem)} +\n'
else:
- str = str + f'{prefix}{nameMarkup(elem)} +\n'
+ str = str + f'{prefix}{leafMarkupAsciidoc(elem)} +\n'
return str
@@ -297,7 +362,8 @@ if __name__ == "__main__":
print(dependency, f'failed eval: {dependency}')
if val == expected:
- print(f'{dependency} = {val} (as expected)')
+ True
+ # print(f'{dependency} = {val} (as expected)')
else:
print(f'{dependency} ERROR: {val} != {expected}')
@@ -340,24 +406,19 @@ if __name__ == "__main__":
test('true+(true,false)', True)
test('true+(true,true)', True)
-
- #test('VK_VERSION_1_1+(false,true)', True)
- #test('true', True)
- #test('(true)', True)
- #test('false,false', False)
- #test('false,true', True)
- #test('false+true', False)
- #test('true+true', True)
-
# Check formatting
for dependency in [
#'true',
#'true+true+false',
+ 'true+false',
'true+(true+false),(false,true)',
- 'true+((true+false),(false,true))',
+ #'true+((true+false),(false,true))',
+ 'VK_VERSION_1_0+VK_KHR_display',
#'VK_VERSION_1_1+(true,false)',
]:
print(f'expr = {dependency}\n{dependencyMarkup(dependency)}')
- print(f' language = {dependencyLanguage(dependency)}')
+ print(f' spec language = {dependencyLanguageSpecMacros(dependency)}')
+ print(f' comment language = {dependencyLanguageComment(dependency)}')
+ print(f' C language = {dependencyLanguageC(dependency)}')
print(f' names = {dependencyNames(dependency)}')
print(f' value = {evaluateDependency(dependency, termSupported)}')
diff --git a/registry/validusage.json b/registry/validusage.json
index 90e0d67..d44738f 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.259",
- "comment": "from git branch: github-main commit: 3da7531f2f9d48993ab627c02a866479d5163ba4",
- "date": "2023-07-22 10:52:33Z"
+ "api version": "1.3.260",
+ "comment": "from git branch: github-main commit: 12ab5855b1608e4b05b270e0dedecd1b1a5458f8",
+ "date": "2023-07-28 10:25:36Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -278,7 +278,7 @@
},
{
"vuid": "VUID-VkPhysicalDeviceProperties2-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI\">VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesKHR\">VkPhysicalDeviceCooperativeMatrixPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectPropertiesNV\">VkPhysicalDeviceCopyMemoryIndirectPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapPropertiesNV\">VkPhysicalDeviceDisplacementMicromapPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3PropertiesEXT\">VkPhysicalDeviceExtendedDynamicState3PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR\">VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyPropertiesEXT\">VkPhysicalDeviceHostImageCopyPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceImageProcessingPropertiesQCOM\">VkPhysicalDeviceImageProcessingPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockProperties\">VkPhysicalDeviceInlineUniformBlockProperties</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance4Properties\">VkPhysicalDeviceMaintenance4Properties</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionPropertiesNV\">VkPhysicalDeviceMemoryDecompressionPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesEXT\">VkPhysicalDeviceMeshShaderPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapPropertiesEXT\">VkPhysicalDeviceOpacityMicromapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowPropertiesNV\">VkPhysicalDeviceOpticalFlowPropertiesNV</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessPropertiesEXT\">VkPhysicalDevicePipelineRobustnessPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV\">VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM\">VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesARM\">VkPhysicalDeviceShaderCorePropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductProperties\">VkPhysicalDeviceShaderIntegerDotProductProperties</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT\">VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectPropertiesEXT\">VkPhysicalDeviceShaderObjectPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShaderTileImagePropertiesEXT\">VkPhysicalDeviceShaderTileImagePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlProperties\">VkPhysicalDeviceSubgroupSizeControlProperties</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentProperties\">VkPhysicalDeviceTexelBufferAlignmentProperties</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan13Properties\">VkPhysicalDeviceVulkan13Properties</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI\">VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesKHR\">VkPhysicalDeviceCooperativeMatrixPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectPropertiesNV\">VkPhysicalDeviceCopyMemoryIndirectPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapPropertiesNV\">VkPhysicalDeviceDisplacementMicromapPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3PropertiesEXT\">VkPhysicalDeviceExtendedDynamicState3PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR\">VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyPropertiesEXT\">VkPhysicalDeviceHostImageCopyPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceImageProcessingPropertiesQCOM\">VkPhysicalDeviceImageProcessingPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockProperties\">VkPhysicalDeviceInlineUniformBlockProperties</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance4Properties\">VkPhysicalDeviceMaintenance4Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance5PropertiesKHR\">VkPhysicalDeviceMaintenance5PropertiesKHR</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionPropertiesNV\">VkPhysicalDeviceMemoryDecompressionPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesEXT\">VkPhysicalDeviceMeshShaderPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapPropertiesEXT\">VkPhysicalDeviceOpacityMicromapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowPropertiesNV\">VkPhysicalDeviceOpticalFlowPropertiesNV</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessPropertiesEXT\">VkPhysicalDevicePipelineRobustnessPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV\">VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM\">VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesARM\">VkPhysicalDeviceShaderCorePropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderEnqueuePropertiesAMDX\">VkPhysicalDeviceShaderEnqueuePropertiesAMDX</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductProperties\">VkPhysicalDeviceShaderIntegerDotProductProperties</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT\">VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectPropertiesEXT\">VkPhysicalDeviceShaderObjectPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShaderTileImagePropertiesEXT\">VkPhysicalDeviceShaderTileImagePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlProperties\">VkPhysicalDeviceSubgroupSizeControlProperties</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentProperties\">VkPhysicalDeviceTexelBufferAlignmentProperties</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan13Properties\">VkPhysicalDeviceVulkan13Properties</a>"
},
{
"vuid": "VUID-VkPhysicalDeviceProperties2-sType-unique",
@@ -678,7 +678,7 @@
},
{
"vuid": "VUID-VkDeviceCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#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=\"#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=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapFeaturesNV\">VkPhysicalDeviceDisplacementMicromapFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT\">VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#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=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyFeaturesEXT\">VkPhysicalDeviceHostImageCopyFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT\">VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT\">VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR\">VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectFeaturesEXT\">VkPhysicalDeviceShaderObjectFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTileImageFeaturesEXT\">VkPhysicalDeviceShaderTileImageFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT\">VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#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=\"#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=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDisplacementMicromapFeaturesNV\">VkPhysicalDeviceDisplacementMicromapFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT\">VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#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=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostImageCopyFeaturesEXT\">VkPhysicalDeviceHostImageCopyFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT\">VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMaintenance5FeaturesKHR\">VkPhysicalDeviceMaintenance5FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT\">VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR\">VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderEnqueueFeaturesAMDX\">VkPhysicalDeviceShaderEnqueueFeaturesAMDX</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderObjectFeaturesEXT\">VkPhysicalDeviceShaderObjectFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTileImageFeaturesEXT\">VkPhysicalDeviceShaderTileImageFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT\">VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>"
},
{
"vuid": "VUID-VkDeviceCreateInfo-sType-unique",
@@ -1197,6 +1197,10 @@
"VkCommandBufferBeginInfo": {
"core": [
{
+ "vuid": "VUID-VkCommandBufferBeginInfo-flags-09123",
+ "text": " If <code>flags</code> contains <code>VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT</code>, the <a href=\"#VkCommandPool\">VkCommandPool</a> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations"
+ },
+ {
"vuid": "VUID-VkCommandBufferBeginInfo-flags-00055",
"text": " If <code>flags</code> contains <code>VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT</code>, the <code>framebuffer</code> member of <code>pInheritanceInfo</code> <strong class=\"purple\">must</strong> be either <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, or a valid <code>VkFramebuffer</code> that is compatible with the <code>renderPass</code> member of <code>pInheritanceInfo</code>"
},
@@ -7114,6 +7118,34 @@
}
]
},
+ "vkGetRenderingAreaGranularityKHR": {
+ "core": [
+ {
+ "vuid": "VUID-vkGetRenderingAreaGranularityKHR-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetRenderingAreaGranularityKHR-pRenderingAreaInfo-parameter",
+ "text": " <code>pRenderingAreaInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkRenderingAreaInfoKHR\">VkRenderingAreaInfoKHR</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetRenderingAreaGranularityKHR-pGranularity-parameter",
+ "text": " <code>pGranularity</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkExtent2D\">VkExtent2D</a> structure"
+ }
+ ]
+ },
+ "VkRenderingAreaInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkRenderingAreaInfoKHR-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkRenderingAreaInfoKHR-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ }
+ ]
+ },
"vkCmdEndRendering": {
"core": [
{
@@ -11109,22 +11141,6 @@
"text": " If a <a href=\"#interfaces-resources\">resource variables</a> is declared in a shader as an array, a descriptor slot in <code>layout</code> <strong class=\"purple\">must</strong> match the descriptor count"
},
{
- "vuid": "VUID-VkComputePipelineCreateInfo-stage-00701",
- "text": " The <code>stage</code> member of <code>stage</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_STAGE_COMPUTE_BIT</code>"
- },
- {
- "vuid": "VUID-VkComputePipelineCreateInfo-stage-00702",
- "text": " The shader code for the entry point identified by <code>stage</code> and the rest of the state identified by this structure <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter"
- },
- {
- "vuid": "VUID-VkComputePipelineCreateInfo-layout-01687",
- "text": " The number of resources in <code>layout</code> accessible to the compute shader stage <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxPerStageResources</code>"
- },
- {
- "vuid": "VUID-VkComputePipelineCreateInfo-flags-03364",
- "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
- },
- {
"vuid": "VUID-VkComputePipelineCreateInfo-flags-03365",
"text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>"
},
@@ -11169,6 +11185,26 @@
"text": " If the <a href=\"#features-pipelineCreationCacheControl\"><code>pipelineCreationCacheControl</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT</code> or <code>VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT</code>"
},
{
+ "vuid": "VUID-VkComputePipelineCreateInfo-stage-00701",
+ "text": " The <code>stage</code> member of <code>stage</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_STAGE_COMPUTE_BIT</code>"
+ },
+ {
+ "vuid": "VUID-VkComputePipelineCreateInfo-stage-00702",
+ "text": " The shader code for the entry point identified by <code>stage</code> and the rest of the state identified by this structure <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter"
+ },
+ {
+ "vuid": "VUID-VkComputePipelineCreateInfo-layout-01687",
+ "text": " The number of resources in <code>layout</code> accessible to the compute shader stage <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxPerStageResources</code>"
+ },
+ {
+ "vuid": "VUID-VkComputePipelineCreateInfo-shaderEnqueue-09177",
+ "text": " If <a href=\"#features-shaderEnqueue\"><code>shaderEnqueue</code></a> is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkComputePipelineCreateInfo-flags-09178",
+ "text": " If <code>flags</code> does not include <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>, the shader specified by <code>stage</code> <strong class=\"purple\">must</strong> not declare the <code>ShaderEnqueueAMDX</code> capability"
+ },
+ {
"vuid": "VUID-VkComputePipelineCreateInfo-pipelineStageCreationFeedbackCount-06566",
"text": " If <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a>::<code>pipelineStageCreationFeedbackCount</code> is not <code>0</code>, it <strong class=\"purple\">must</strong> be <code>1</code>"
},
@@ -11186,7 +11222,7 @@
},
{
"vuid": "VUID-VkComputePipelineCreateInfo-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=\"#VkPipelineCompilerControlCreateInfoAMD\">VkPipelineCompilerControlCreateInfoAMD</a>, <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a>, <a href=\"#VkPipelineRobustnessCreateInfoEXT\">VkPipelineRobustnessCreateInfoEXT</a>, or <a href=\"#VkSubpassShadingPipelineCreateInfoHUAWEI\">VkSubpassShadingPipelineCreateInfoHUAWEI</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=\"#VkPipelineCompilerControlCreateInfoAMD\">VkPipelineCompilerControlCreateInfoAMD</a>, <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a>, <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a>, <a href=\"#VkPipelineRobustnessCreateInfoEXT\">VkPipelineRobustnessCreateInfoEXT</a>, or <a href=\"#VkSubpassShadingPipelineCreateInfoHUAWEI\">VkSubpassShadingPipelineCreateInfoHUAWEI</a>"
},
{
"vuid": "VUID-VkComputePipelineCreateInfo-sType-unique",
@@ -11341,8 +11377,8 @@
"text": " If a shader module identifier is not specified for this <code>stage</code>, <code>module</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModule\">VkShaderModule</a> or there <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModuleCreateInfo\">VkShaderModuleCreateInfo</a> structure in the <code>pNext</code> chain"
},
{
- "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-06846",
- "text": " If a shader module identifier is not specified for this <code>stage</code>, and the <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> feature is not enabled, <code>module</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModule\">VkShaderModule</a>"
+ "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-08771",
+ "text": " If a shader module identifier is not specified for this <code>stage</code>, and neither the <a href=\"#features-maintenance5\"><code>maintenance5</code></a> nor <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> feature are enabled, <code>module</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModule\">VkShaderModule</a>"
},
{
"vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-06848",
@@ -11358,7 +11394,7 @@
},
{
"vuid": "VUID-VkPipelineShaderStageCreateInfo-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=\"#VkDebugUtilsObjectNameInfoEXT\">VkDebugUtilsObjectNameInfoEXT</a>, <a href=\"#VkPipelineRobustnessCreateInfoEXT\">VkPipelineRobustnessCreateInfoEXT</a>, <a href=\"#VkPipelineShaderStageModuleIdentifierCreateInfoEXT\">VkPipelineShaderStageModuleIdentifierCreateInfoEXT</a>, <a href=\"#VkPipelineShaderStageRequiredSubgroupSizeCreateInfo\">VkPipelineShaderStageRequiredSubgroupSizeCreateInfo</a>, <a href=\"#VkShaderModuleCreateInfo\">VkShaderModuleCreateInfo</a>, or <a href=\"#VkShaderModuleValidationCacheCreateInfoEXT\">VkShaderModuleValidationCacheCreateInfoEXT</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=\"#VkDebugUtilsObjectNameInfoEXT\">VkDebugUtilsObjectNameInfoEXT</a>, <a href=\"#VkPipelineRobustnessCreateInfoEXT\">VkPipelineRobustnessCreateInfoEXT</a>, <a href=\"#VkPipelineShaderStageModuleIdentifierCreateInfoEXT\">VkPipelineShaderStageModuleIdentifierCreateInfoEXT</a>, <a href=\"#VkPipelineShaderStageNodeCreateInfoAMDX\">VkPipelineShaderStageNodeCreateInfoAMDX</a>, <a href=\"#VkPipelineShaderStageRequiredSubgroupSizeCreateInfo\">VkPipelineShaderStageRequiredSubgroupSizeCreateInfo</a>, <a href=\"#VkShaderModuleCreateInfo\">VkShaderModuleCreateInfo</a>, or <a href=\"#VkShaderModuleValidationCacheCreateInfoEXT\">VkShaderModuleValidationCacheCreateInfoEXT</a>"
},
{
"vuid": "VUID-VkPipelineShaderStageCreateInfo-sType-unique",
@@ -11749,20 +11785,24 @@
"text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> and <a href=\"#pipelines-graphics-subsets-vertex-input\">vertex input state</a> and the <code>topology</code> member of <code>pInputAssembly</code> is <code>VK_PRIMITIVE_TOPOLOGY_PATCH_LIST</code>, and either <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state is not enabled or <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then <code>pStages</code> <strong class=\"purple\">must</strong> include tessellation shader stages"
},
{
- "vuid": "VUID-VkGraphicsPipelineCreateInfo-topology-08890",
- "text": " If the pipeline is being created with a <code>Vertex</code> {ExecutionModel} and no <code>TessellationEvaluation</code> or <code>Geometry</code> {ExecutionModel}, and the <code>topology</code> member of <code>pInputAssembly</code> is <code>VK_PRIMITIVE_TOPOLOGY_POINT_LIST</code>, and either <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state is not enabled or <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to"
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-topology-08808",
+ "text": " If the pipeline is being created with a <code>Vertex</code> {ExecutionModel} and no <code>TessellationEvaluation</code> or <code>Geometry</code> {ExecutionModel}, and the <code>topology</code> member of <code>pInputAssembly</code> is <code>VK_PRIMITIVE_TOPOLOGY_POINT_LIST</code>,and either <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state is not enabled or <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to if <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is not enabled"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-shaderTessellationAndGeometryPointSize-08774",
+ "text": " If the pipeline is being created with a <code>TessellationEvaluation</code> {ExecutionModel}, no <code>Geometry</code> {ExecutionModel}, uses the <code>PointMode</code> {ExecutionMode}, and <a href=\"#features-shaderTessellationAndGeometryPointSize\"><code>shaderTessellationAndGeometryPointSize</code></a> is enabled, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to if <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is not enabled"
},
{
- "vuid": "VUID-VkGraphicsPipelineCreateInfo-TessellationEvaluation-07723",
- "text": " If the pipeline is being created with a <code>TessellationEvaluation</code> {ExecutionModel}, no <code>Geometry</code> {ExecutionModel}, uses the <code>PointMode</code> {ExecutionMode}, and <a href=\"#features-shaderTessellationAndGeometryPointSize\"><code>shaderTessellationAndGeometryPointSize</code></a> is enabled, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to"
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-maintenance5-08775",
+ "text": " If <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is enabled and a <code>PointSize</code> decorated variable is written to, all execution paths <strong class=\"purple\">must</strong> write to a <code>PointSize</code> decorated variable"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-TessellationEvaluation-07724",
"text": " If the pipeline is being created with a <code>TessellationEvaluation</code> {ExecutionModel}, no <code>Geometry</code> {ExecutionModel}, uses the <code>PointMode</code> {ExecutionMode}, and <a href=\"#features-shaderTessellationAndGeometryPointSize\"><code>shaderTessellationAndGeometryPointSize</code></a> is not enabled, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> not be written to"
},
{
- "vuid": "VUID-VkGraphicsPipelineCreateInfo-Geometry-07725",
- "text": " If the pipeline is being created with a <code>Geometry</code> {ExecutionModel}, uses the <code>OutputPoints</code> {ExecutionMode}, and <a href=\"#features-shaderTessellationAndGeometryPointSize\"><code>shaderTessellationAndGeometryPointSize</code></a> is enabled, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to for every vertex emitted"
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-shaderTessellationAndGeometryPointSize-08776",
+ "text": " If the pipeline is being created with a <code>Geometry</code> {ExecutionModel}, uses the <code>OutputPoints</code> {ExecutionMode}, and <a href=\"#features-shaderTessellationAndGeometryPointSize\"><code>shaderTessellationAndGeometryPointSize</code></a> is enabled, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to for every vertex emitted if <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is not enabled"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-Geometry-07726",
@@ -12910,7 +12950,7 @@
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-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=\"#VkAttachmentSampleCountInfoAMD\">VkAttachmentSampleCountInfoAMD</a>, <a href=\"#VkGraphicsPipelineLibraryCreateInfoEXT\">VkGraphicsPipelineLibraryCreateInfoEXT</a>, <a href=\"#VkGraphicsPipelineShaderGroupsCreateInfoNV\">VkGraphicsPipelineShaderGroupsCreateInfoNV</a>, <a href=\"#VkMultiviewPerViewAttributesInfoNVX\">VkMultiviewPerViewAttributesInfoNVX</a>, <a href=\"#VkPipelineCompilerControlCreateInfoAMD\">VkPipelineCompilerControlCreateInfoAMD</a>, <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a>, <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>, <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>, <a href=\"#VkPipelineRenderingCreateInfo\">VkPipelineRenderingCreateInfo</a>, <a href=\"#VkPipelineRepresentativeFragmentTestStateCreateInfoNV\">VkPipelineRepresentativeFragmentTestStateCreateInfoNV</a>, or <a href=\"#VkPipelineRobustnessCreateInfoEXT\">VkPipelineRobustnessCreateInfoEXT</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=\"#VkAttachmentSampleCountInfoAMD\">VkAttachmentSampleCountInfoAMD</a>, <a href=\"#VkGraphicsPipelineLibraryCreateInfoEXT\">VkGraphicsPipelineLibraryCreateInfoEXT</a>, <a href=\"#VkGraphicsPipelineShaderGroupsCreateInfoNV\">VkGraphicsPipelineShaderGroupsCreateInfoNV</a>, <a href=\"#VkMultiviewPerViewAttributesInfoNVX\">VkMultiviewPerViewAttributesInfoNVX</a>, <a href=\"#VkPipelineCompilerControlCreateInfoAMD\">VkPipelineCompilerControlCreateInfoAMD</a>, <a href=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a>, <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a>, <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>, <a href=\"#VkPipelineFragmentShadingRateStateCreateInfoKHR\">VkPipelineFragmentShadingRateStateCreateInfoKHR</a>, <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a>, <a href=\"#VkPipelineRenderingCreateInfo\">VkPipelineRenderingCreateInfo</a>, <a href=\"#VkPipelineRepresentativeFragmentTestStateCreateInfoNV\">VkPipelineRepresentativeFragmentTestStateCreateInfoNV</a>, or <a href=\"#VkPipelineRobustnessCreateInfoEXT\">VkPipelineRobustnessCreateInfoEXT</a>"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-sType-unique",
@@ -12938,6 +12978,22 @@
}
]
},
+ "VkPipelineCreateFlags2CreateInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkPipelineCreateFlags2CreateInfoKHR-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkPipelineCreateFlags2CreateInfoKHR-flags-parameter",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits2KHR\">VkPipelineCreateFlagBits2KHR</a> values"
+ },
+ {
+ "vuid": "VUID-VkPipelineCreateFlags2CreateInfoKHR-flags-requiredbitmask",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+ }
+ ]
+ },
"VkGraphicsPipelineLibraryCreateInfoEXT": {
"core": [
{
@@ -13298,7 +13354,7 @@
},
{
"vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pNext-pNext",
- "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</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=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a> or <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a>"
},
{
"vuid": "VUID-VkRayTracingPipelineCreateInfoNV-sType-unique",
@@ -13502,7 +13558,7 @@
},
{
"vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-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=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a> or <a href=\"#VkPipelineRobustnessCreateInfoEXT\">VkPipelineRobustnessCreateInfoEXT</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=\"#VkPipelineCreateFlags2CreateInfoKHR\">VkPipelineCreateFlags2CreateInfoKHR</a>, <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a>, or <a href=\"#VkPipelineRobustnessCreateInfoEXT\">VkPipelineRobustnessCreateInfoEXT</a>"
},
{
"vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-sType-unique",
@@ -16482,7 +16538,7 @@
},
{
"vuid": "VUID-VkBufferCreateInfo-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=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>, <a href=\"#VkBufferDeviceAddressCreateInfoEXT\">VkBufferDeviceAddressCreateInfoEXT</a>, <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>, <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>, <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>, <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>, or <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</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=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>, <a href=\"#VkBufferDeviceAddressCreateInfoEXT\">VkBufferDeviceAddressCreateInfoEXT</a>, <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>, <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a>, <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>, <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>, <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>, or <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a>"
},
{
"vuid": "VUID-VkBufferCreateInfo-sType-unique",
@@ -16506,6 +16562,22 @@
}
]
},
+ "VkBufferUsageFlags2CreateInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkBufferUsageFlags2CreateInfoKHR-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkBufferUsageFlags2CreateInfoKHR-usage-parameter",
+ "text": " <code>usage</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBufferUsageFlagBits2KHR\">VkBufferUsageFlagBits2KHR</a> values"
+ },
+ {
+ "vuid": "VUID-VkBufferUsageFlags2CreateInfoKHR-usage-requiredbitmask",
+ "text": " <code>usage</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+ }
+ ]
+ },
"VkDedicatedAllocationBufferCreateInfoNV": {
"core": [
{
@@ -16641,12 +16713,12 @@
"text": " <code>buffer</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value containing at least one of <code>VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT</code> or <code>VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT</code>"
},
{
- "vuid": "VUID-VkBufferViewCreateInfo-buffer-00933",
- "text": " If <code>buffer</code> was created with <code>usage</code> containing <code>VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT</code>, then <a href=\"#resources-buffer-view-format-features\">format features</a> of <code>format</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT</code>"
+ "vuid": "VUID-VkBufferViewCreateInfo-format-08778",
+ "text": " If the <a href=\"#resources-buffer-views-usage\">buffer view usage</a> contains <code>VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT</code>, then <a href=\"#resources-buffer-view-format-features\">format features</a> of <code>format</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT</code>"
},
{
- "vuid": "VUID-VkBufferViewCreateInfo-buffer-00934",
- "text": " If <code>buffer</code> was created with <code>usage</code> containing <code>VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT</code>, then <a href=\"#resources-buffer-view-format-features\">format features</a> of <code>format</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT</code>"
+ "vuid": "VUID-VkBufferViewCreateInfo-format-08779",
+ "text": " If the <a href=\"#resources-buffer-views-usage\">buffer view usage</a> contains <code>VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT</code>, then <a href=\"#resources-buffer-view-format-features\">format features</a> of <code>format</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT</code>"
},
{
"vuid": "VUID-VkBufferViewCreateInfo-buffer-00935",
@@ -16669,12 +16741,20 @@
"text": " If the <code>pNext</code> chain includes a <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a> structure, its <code>exportObjectType</code> member <strong class=\"purple\">must</strong> be <code>VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT</code>"
},
{
+ "vuid": "VUID-VkBufferViewCreateInfo-pNext-08780",
+ "text": " If the <code>pNext</code> chain includes a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a>, its <code>usage</code> <strong class=\"purple\">must</strong> not contain any other bit than <code>VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR</code> or <code>VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkBufferViewCreateInfo-pNext-08781",
+ "text": " If the <code>pNext</code> chain includes a <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a>, its <code>usage</code> <strong class=\"purple\">must</strong> be a subset of the VkBufferCreateInfo::usage specified or VkBufferUsageFlags2CreateInfoKHR::usage from VkBufferCreateInfo::pNext when creating <code>buffer</code>"
+ },
+ {
"vuid": "VUID-VkBufferViewCreateInfo-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO</code>"
},
{
"vuid": "VUID-VkBufferViewCreateInfo-pNext-pNext",
- "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</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=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> or <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>"
},
{
"vuid": "VUID-VkBufferViewCreateInfo-sType-unique",
@@ -17566,98 +17646,98 @@
}
]
},
- "vkGetImageSubresourceLayout2EXT": {
+ "vkGetImageSubresourceLayout2KHR": {
"core": [
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-aspectMask-00997",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-aspectMask-00997",
"text": " The <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> only have a single bit set"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-mipLevel-01716",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-mipLevel-01716",
"text": " The <code>mipLevel</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-arrayLayer-01717",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-arrayLayer-01717",
"text": " The <code>arrayLayer</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be less than the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-format-08886",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-format-08886",
"text": " If <code>format</code> of the <code>image</code> is a color format, <code>tiling</code> of the <code>image</code> is <code>VK_IMAGE_TILING_LINEAR</code> or <code>VK_IMAGE_TILING_OPTIMAL</code>, and does not have a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a>, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-format-04462",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-format-04462",
"text": " If <code>format</code> of the <code>image</code> has a depth component, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> contain <code>VK_IMAGE_ASPECT_DEPTH_BIT</code>"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-format-04463",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-format-04463",
"text": " If <code>format</code> of the <code>image</code> has a stencil component, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> contain <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-format-04464",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-format-04464",
"text": " If <code>format</code> of the <code>image</code> does not contain a stencil or depth component, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> not contain <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-tiling-08717",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-tiling-08717",
"text": " If the <code>tiling</code> of the <code>image</code> is <code>VK_IMAGE_TILING_LINEAR</code> and has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a>, then the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be a single valid <a href=\"#formats-planes-image-aspect\">multi-planar aspect mask</a>"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-image-01895",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-image-01895",
"text": " If <code>image</code> was created with the <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> external memory handle type, then <code>image</code> <strong class=\"purple\">must</strong> be bound to memory"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-tiling-02271",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-tiling-02271",
"text": " If the <code>tiling</code> of the <code>image</code> is <code>VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT</code>, then the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_MEMORY_PLANE<em>{ibit}</em>BIT_EXT</code> and the index <em>i</em> <strong class=\"purple\">must</strong> be less than the <a href=\"#VkDrmFormatModifierPropertiesEXT\">VkDrmFormatModifierPropertiesEXT</a>::<code>drmFormatModifierPlaneCount</code> associated with the image&#8217;s <code>format</code> and <a href=\"#VkImageDrmFormatModifierPropertiesEXT\">VkImageDrmFormatModifierPropertiesEXT</a>::<code>drmFormatModifier</code>"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-device-parameter",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-image-parameter",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-image-parameter",
"text": " <code>image</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-pSubresource-parameter",
- "text": " <code>pSubresource</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkImageSubresource2EXT\">VkImageSubresource2EXT</a> structure"
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-pSubresource-parameter",
+ "text": " <code>pSubresource</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkImageSubresource2KHR\">VkImageSubresource2KHR</a> structure"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-pLayout-parameter",
- "text": " <code>pLayout</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkSubresourceLayout2EXT\">VkSubresourceLayout2EXT</a> structure"
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-pLayout-parameter",
+ "text": " <code>pLayout</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkSubresourceLayout2KHR\">VkSubresourceLayout2KHR</a> structure"
},
{
- "vuid": "VUID-vkGetImageSubresourceLayout2EXT-image-parent",
+ "vuid": "VUID-vkGetImageSubresourceLayout2KHR-image-parent",
"text": " <code>image</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
}
]
},
- "VkImageSubresource2EXT": {
+ "VkImageSubresource2KHR": {
"core": [
{
- "vuid": "VUID-VkImageSubresource2EXT-sType-sType",
- "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT</code>"
+ "vuid": "VUID-VkImageSubresource2KHR-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR</code>"
},
{
- "vuid": "VUID-VkImageSubresource2EXT-pNext-pNext",
+ "vuid": "VUID-VkImageSubresource2KHR-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
},
{
- "vuid": "VUID-VkImageSubresource2EXT-imageSubresource-parameter",
+ "vuid": "VUID-VkImageSubresource2KHR-imageSubresource-parameter",
"text": " <code>imageSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresource\">VkImageSubresource</a> structure"
}
]
},
- "VkSubresourceLayout2EXT": {
+ "VkSubresourceLayout2KHR": {
"core": [
{
- "vuid": "VUID-VkSubresourceLayout2EXT-sType-sType",
- "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT</code>"
+ "vuid": "VUID-VkSubresourceLayout2KHR-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR</code>"
},
{
- "vuid": "VUID-VkSubresourceLayout2EXT-pNext-pNext",
+ "vuid": "VUID-VkSubresourceLayout2KHR-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=\"#VkImageCompressionPropertiesEXT\">VkImageCompressionPropertiesEXT</a> or <a href=\"#VkSubresourceHostMemcpySizeEXT\">VkSubresourceHostMemcpySizeEXT</a>"
},
{
- "vuid": "VUID-VkSubresourceLayout2EXT-sType-unique",
+ "vuid": "VUID-VkSubresourceLayout2KHR-sType-unique",
"text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
}
]
@@ -17670,6 +17750,82 @@
}
]
},
+ "vkGetDeviceImageSubresourceLayoutKHR": {
+ "core": [
+ {
+ "vuid": "VUID-vkGetDeviceImageSubresourceLayoutKHR-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetDeviceImageSubresourceLayoutKHR-pInfo-parameter",
+ "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDeviceImageSubresourceInfoKHR\">VkDeviceImageSubresourceInfoKHR</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetDeviceImageSubresourceLayoutKHR-pLayout-parameter",
+ "text": " <code>pLayout</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkSubresourceLayout2KHR\">VkSubresourceLayout2KHR</a> structure"
+ }
+ ]
+ },
+ "VkDeviceImageSubresourceInfoKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-aspectMask-00997",
+ "text": " The <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> only have a single bit set"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-mipLevel-01716",
+ "text": " The <code>mipLevel</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-arrayLayer-01717",
+ "text": " The <code>arrayLayer</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be less than the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-format-08886",
+ "text": " If <code>format</code> of the <code>image</code> is a color format, <code>tiling</code> of the <code>image</code> is <code>VK_IMAGE_TILING_LINEAR</code> or <code>VK_IMAGE_TILING_OPTIMAL</code>, and does not have a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a>, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-format-04462",
+ "text": " If <code>format</code> of the <code>image</code> has a depth component, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> contain <code>VK_IMAGE_ASPECT_DEPTH_BIT</code>"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-format-04463",
+ "text": " If <code>format</code> of the <code>image</code> has a stencil component, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> contain <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-format-04464",
+ "text": " If <code>format</code> of the <code>image</code> does not contain a stencil or depth component, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> not contain <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-tiling-08717",
+ "text": " If the <code>tiling</code> of the <code>image</code> is <code>VK_IMAGE_TILING_LINEAR</code> and has a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar image format</a>, then the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be a single valid <a href=\"#formats-planes-image-aspect\">multi-planar aspect mask</a>"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-image-01895",
+ "text": " If <code>image</code> was created with the <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> external memory handle type, then <code>image</code> <strong class=\"purple\">must</strong> be bound to memory"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-tiling-02271",
+ "text": " If the <code>tiling</code> of the <code>image</code> is <code>VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT</code>, then the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_MEMORY_PLANE<em>{ibit}</em>BIT_EXT</code> and the index <em>i</em> <strong class=\"purple\">must</strong> be less than the <a href=\"#VkDrmFormatModifierPropertiesEXT\">VkDrmFormatModifierPropertiesEXT</a>::<code>drmFormatModifierPlaneCount</code> associated with the image&#8217;s <code>format</code> and <a href=\"#VkImageDrmFormatModifierPropertiesEXT\">VkImageDrmFormatModifierPropertiesEXT</a>::<code>drmFormatModifier</code>"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-pCreateInfo-parameter",
+ "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> structure"
+ },
+ {
+ "vuid": "VUID-VkDeviceImageSubresourceInfoKHR-pSubresource-parameter",
+ "text": " <code>pSubresource</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkImageSubresource2KHR\">VkImageSubresource2KHR</a> structure"
+ }
+ ]
+ },
"vkGetImageDrmFormatModifierPropertiesEXT": {
"core": [
{
@@ -17745,6 +17901,10 @@
"vkCreateImageView": {
"core": [
{
+ "vuid": "VUID-vkCreateImageView-image-09179",
+ "text": " <a href=\"#VkImageViewCreateInfo\">VkImageViewCreateInfo</a>::<code>image</code> <strong class=\"purple\">must</strong> have been created from <code>device</code>"
+ },
+ {
"vuid": "VUID-vkCreateImageView-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
@@ -19161,6 +19321,10 @@
"vkGetMicromapBuildSizesEXT": {
"core": [
{
+ "vuid": "VUID-vkGetMicromapBuildSizesEXT-dstMicromap-09180",
+ "text": " <a href=\"#VkMicromapBuildInfoEXT\">VkMicromapBuildInfoEXT</a>::<code>dstMicromap</code> <strong class=\"purple\">must</strong> have been created from <code>device</code>"
+ },
+ {
"vuid": "VUID-vkGetMicromapBuildSizesEXT-micromap-07439",
"text": " The <a href=\"#features-micromap\"><code>micromap</code></a> feature <strong class=\"purple\">must</strong> be enabled"
},
@@ -20897,6 +21061,10 @@
"text": " If the sampler is used to sample an image view of <code>VK_FORMAT_B4G4R4A4_UNORM_PACK16</code>, <code>VK_FORMAT_B5G6R5_UNORM_PACK16</code>, or <code>VK_FORMAT_B5G5R5A1_UNORM_PACK16</code> format then <code>format</code> <strong class=\"purple\">must</strong> not be <code>VK_FORMAT_UNDEFINED</code>"
},
{
+ "vuid": "VUID-VkSamplerCustomBorderColorCreateInfoEXT-format-08807",
+ "text": " If the sampler is used to sample an image view of <code>VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR</code> format then <code>format</code> <strong class=\"purple\">must</strong> not be <code>VK_FORMAT_UNDEFINED</code>"
+ },
+ {
"vuid": "VUID-VkSamplerCustomBorderColorCreateInfoEXT-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT</code>"
},
@@ -22021,12 +22189,12 @@
"text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>, the <code>range</code> member of each element of <code>pBufferInfo</code>, or the <a href=\"#buffer-info-effective-range\">effective range</a> if <code>range</code> is <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxStorageBufferRange</code>"
},
{
- "vuid": "VUID-VkWriteDescriptorSet-descriptorType-00334",
- "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER</code>, the <code>VkBuffer</code> that each element of <code>pTexelBufferView</code> was created from <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT</code> set"
+ "vuid": "VUID-VkWriteDescriptorSet-descriptorType-08765",
+ "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER</code>, the <code>pTexelBufferView</code> <a href=\"#resources-buffer-views-usage\">buffer view usage</a> <strong class=\"purple\">must</strong> include <code>VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT</code>"
},
{
- "vuid": "VUID-VkWriteDescriptorSet-descriptorType-00335",
- "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code>, the <code>VkBuffer</code> that each element of <code>pTexelBufferView</code> was created from <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT</code> set"
+ "vuid": "VUID-VkWriteDescriptorSet-descriptorType-08766",
+ "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code>, the <code>pTexelBufferView</code> <a href=\"#resources-buffer-views-usage\">buffer view usage</a> <strong class=\"purple\">must</strong> include <code>VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT</code>"
},
{
"vuid": "VUID-VkWriteDescriptorSet-descriptorType-00336",
@@ -23210,7 +23378,7 @@
},
{
"vuid": "VUID-VkDescriptorBufferBindingInfoEXT-pNext-pNext",
- "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDescriptorBufferBindingPushDescriptorBufferHandleEXT\">VkDescriptorBufferBindingPushDescriptorBufferHandleEXT</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=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a> or <a href=\"#VkDescriptorBufferBindingPushDescriptorBufferHandleEXT\">VkDescriptorBufferBindingPushDescriptorBufferHandleEXT</a>"
},
{
"vuid": "VUID-VkDescriptorBufferBindingInfoEXT-sType-unique",
@@ -25510,6 +25678,34 @@
}
]
},
+ "CoalescedInputCountAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-CoalescedInputCountAMDX-CoalescedInputCountAMDX-09172",
+ "text": " The variable decorated with <code>CoalescedInputCountAMDX</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+ },
+ {
+ "vuid": "VUID-CoalescedInputCountAMDX-CoalescedInputCountAMDX-09173",
+ "text": " If a variable is decorated with <code>CoalescedInputCountAMDX</code>, the <code>CoalescingAMDX</code> execution mode <strong class=\"purple\">must</strong> be declared"
+ },
+ {
+ "vuid": "VUID-CoalescedInputCountAMDX-CoalescedInputCountAMDX-09174",
+ "text": " The variable decorated with <code>CoalescedInputCountAMDX</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+ }
+ ]
+ },
+ "ShaderIndexAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-ShaderIndexAMDX-ShaderIndexAMDX-09175",
+ "text": " The variable decorated with <code>ShaderIndexAMDX</code> <strong class=\"purple\">must</strong> be declared using the <code>Input</code> {StorageClass}"
+ },
+ {
+ "vuid": "VUID-ShaderIndexAMDX-ShaderIndexAMDX-09176",
+ "text": " The variable decorated with <code>ShaderIndexAMDX</code> <strong class=\"purple\">must</strong> be declared as a scalar 32-bit integer value"
+ }
+ ]
+ },
"vkCreateQueryPool": {
"core": [
{
@@ -25754,7 +25950,7 @@
"core": [
{
"vuid": "VUID-vkCmdBeginQuery-None-00807",
- "text": " All queries used by the command <strong class=\"purple\">must</strong> be unavailable"
+ "text": " All queries used by the command <strong class=\"purple\">must</strong> be <em>unavailable</em>"
},
{
"vuid": "VUID-vkCmdBeginQuery-queryType-02804",
@@ -25906,7 +26102,7 @@
"core": [
{
"vuid": "VUID-vkCmdBeginQueryIndexedEXT-None-00807",
- "text": " All queries used by the command <strong class=\"purple\">must</strong> be unavailable"
+ "text": " All queries used by the command <strong class=\"purple\">must</strong> be <em>unavailable</em>"
},
{
"vuid": "VUID-vkCmdBeginQueryIndexedEXT-queryType-02804",
@@ -26445,10 +26641,6 @@
"text": " <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <code>queryType</code> of <code>VK_QUERY_TYPE_TIMESTAMP</code>"
},
{
- "vuid": "VUID-vkCmdWriteTimestamp2-queryPool-03862",
- "text": " The query identified by <code>queryPool</code> and <code>query</code> <strong class=\"purple\">must</strong> be <em>unavailable</em>"
- },
- {
"vuid": "VUID-vkCmdWriteTimestamp2-timestampValidBits-03863",
"text": " The command pool&#8217;s queue family <strong class=\"purple\">must</strong> support a non-zero <code>timestampValidBits</code>"
},
@@ -26458,7 +26650,7 @@
},
{
"vuid": "VUID-vkCmdWriteTimestamp2-None-03864",
- "text": " All queries used by the command <strong class=\"purple\">must</strong> be unavailable"
+ "text": " All queries used by the command <strong class=\"purple\">must</strong> be <em>unavailable</em>"
},
{
"vuid": "VUID-vkCmdWriteTimestamp2-query-03865",
@@ -26541,10 +26733,6 @@
"text": " <code>queryPool</code> <strong class=\"purple\">must</strong> have been created with a <code>queryType</code> of <code>VK_QUERY_TYPE_TIMESTAMP</code>"
},
{
- "vuid": "VUID-vkCmdWriteTimestamp-queryPool-00828",
- "text": " The query identified by <code>queryPool</code> and <code>query</code> <strong class=\"purple\">must</strong> be <em>unavailable</em>"
- },
- {
"vuid": "VUID-vkCmdWriteTimestamp-timestampValidBits-00829",
"text": " The command pool&#8217;s queue family <strong class=\"purple\">must</strong> support a non-zero <code>timestampValidBits</code>"
},
@@ -26554,7 +26742,7 @@
},
{
"vuid": "VUID-vkCmdWriteTimestamp-None-00830",
- "text": " All queries used by the command <strong class=\"purple\">must</strong> be unavailable"
+ "text": " All queries used by the command <strong class=\"purple\">must</strong> be <em>unavailable</em>"
},
{
"vuid": "VUID-vkCmdWriteTimestamp-query-00831",
@@ -27757,12 +27945,20 @@
"text": " If the <a href=\"#VK_KHR_maintenance1\">VK_KHR_maintenance1</a> extension is not enabled, <a href=\"#VkPhysicalDeviceProperties\">VkPhysicalDeviceProperties</a>::<code>apiVersion</code> is less than Vulkan 1.1, and <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
- "vuid": "VUID-vkCmdCopyImage-srcImage-07743",
- "text": " If <code>srcImage</code> and <code>dstImage</code> have a different <a href=\"#VkImageType\">VkImageType</a>, one <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_3D</code> and the other <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_2D</code>"
+ "vuid": "VUID-vkCmdCopyImage-maintenance5-08791",
+ "text": " If <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is not enabled, and <code>srcImage</code> and <code>dstImage</code> have a different <a href=\"#VkImageType\">VkImageType</a>, one <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_3D</code> and the other <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_2D</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdCopyImage-maintenance5-08792",
+ "text": " If the <a href=\"#features-maintenance5\"><code>maintenance5</code></a> feature is not enabled, the <code>layerCount</code> member of <code>srcSubresource</code> or <code>dstSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_REMAINING_ARRAY_LAYERS</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdCopyImage-srcImage-08793",
+ "text": " If <code>srcImage</code> and <code>dstImage</code> have the same <a href=\"#VkImageType\">VkImageType</a>, and neither of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> are VK_REMAINING_ARRAY_LAYERS, the <code>layerCount</code> members <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdCopyImage-srcImage-07744",
- "text": " If <code>srcImage</code> and <code>dstImage</code> have the same <a href=\"#VkImageType\">VkImageType</a>, the <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> in each element of <code>pRegions</code> <strong class=\"purple\">must</strong> match"
+ "vuid": "VUID-vkCmdCopyImage-srcImage-08794",
+ "text": " If <code>srcImage</code> and <code>dstImage</code> have the same <a href=\"#VkImageType\">VkImageType</a>, and one of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> is <code>VK_REMAINING_ARRAY_LAYERS</code>, the other member <strong class=\"purple\">must</strong> be either <code>VK_REMAINING_ARRAY_LAYERS</code> or equal to the <code>arrayLayers</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> used to create the image minus <code>baseArrayLayer</code>"
},
{
"vuid": "VUID-vkCmdCopyImage-srcImage-01790",
@@ -27865,8 +28061,8 @@
"text": " The pname:srcSubresource.mipLevel member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
},
{
- "vuid": "VUID-vkCmdCopyImage-srcSubresource-07968",
- "text": " The <span class=\"eq\">pname:srcSubresource.baseArrayLayer &#43; pname:srcSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
+ "vuid": "VUID-vkCmdCopyImage-srcSubresource-08790",
+ "text": " If pname:srcSubresource.layerCount is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\">pname:srcSubresource.baseArrayLayer &#43; pname:srcSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
},
{
"vuid": "VUID-vkCmdCopyImage-srcImage-07969",
@@ -27881,8 +28077,8 @@
"text": " The pname:dstSubresource.mipLevel member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
},
{
- "vuid": "VUID-vkCmdCopyImage-dstSubresource-07968",
- "text": " The <span class=\"eq\">pname:dstSubresource.baseArrayLayer &#43; pname:dstSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
+ "vuid": "VUID-vkCmdCopyImage-dstSubresource-08790",
+ "text": " If pname:dstSubresource.layerCount is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\">pname:dstSubresource.baseArrayLayer &#43; pname:dstSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
},
{
"vuid": "VUID-vkCmdCopyImage-dstImage-07969",
@@ -27985,8 +28181,12 @@
"text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE<em>{ibit}</em>BIT_EXT</code> for any index <em>i</em>"
},
{
- "vuid": "VUID-VkImageSubresourceLayers-layerCount-01700",
- "text": " <code>layerCount</code> <strong class=\"purple\">must</strong> be greater than 0"
+ "vuid": "VUID-VkImageSubresourceLayers-maintenance5-08762",
+ "text": " If <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is not enabled, <code>layerCount</code> <strong class=\"purple\">must</strong> not be <code>VK_REMAINING_ARRAY_LAYERS</code>"
+ },
+ {
+ "vuid": "VUID-VkImageSubresourceLayers-layerCount-08763",
+ "text": " If <code>layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, it <strong class=\"purple\">must</strong> be greater than <code>0</code>"
},
{
"vuid": "VUID-VkImageSubresourceLayers-aspectMask-parameter",
@@ -28169,12 +28369,20 @@
"text": " If the <a href=\"#VK_KHR_maintenance1\">VK_KHR_maintenance1</a> extension is not enabled, <a href=\"#VkPhysicalDeviceProperties\">VkPhysicalDeviceProperties</a>::<code>apiVersion</code> is less than Vulkan 1.1, and <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_2D</code>, then for each element of <code>pRegions</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be <code>1</code>"
},
{
- "vuid": "VUID-VkCopyImageInfo2-srcImage-07743",
- "text": " If <code>srcImage</code> and <code>dstImage</code> have a different <a href=\"#VkImageType\">VkImageType</a>, one <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_3D</code> and the other <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_2D</code>"
+ "vuid": "VUID-VkCopyImageInfo2-maintenance5-08791",
+ "text": " If <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is not enabled, and <code>srcImage</code> and <code>dstImage</code> have a different <a href=\"#VkImageType\">VkImageType</a>, one <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_3D</code> and the other <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_2D</code>"
+ },
+ {
+ "vuid": "VUID-VkCopyImageInfo2-maintenance5-08792",
+ "text": " If the <a href=\"#features-maintenance5\"><code>maintenance5</code></a> feature is not enabled, the <code>layerCount</code> member of <code>srcSubresource</code> or <code>dstSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_REMAINING_ARRAY_LAYERS</code>"
+ },
+ {
+ "vuid": "VUID-VkCopyImageInfo2-srcImage-08793",
+ "text": " If <code>srcImage</code> and <code>dstImage</code> have the same <a href=\"#VkImageType\">VkImageType</a>, and neither of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> are VK_REMAINING_ARRAY_LAYERS, the <code>layerCount</code> members <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-VkCopyImageInfo2-srcImage-07744",
- "text": " If <code>srcImage</code> and <code>dstImage</code> have the same <a href=\"#VkImageType\">VkImageType</a>, the <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> in each element of <code>pRegions</code> <strong class=\"purple\">must</strong> match"
+ "vuid": "VUID-VkCopyImageInfo2-srcImage-08794",
+ "text": " If <code>srcImage</code> and <code>dstImage</code> have the same <a href=\"#VkImageType\">VkImageType</a>, and one of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> is <code>VK_REMAINING_ARRAY_LAYERS</code>, the other member <strong class=\"purple\">must</strong> be either <code>VK_REMAINING_ARRAY_LAYERS</code> or equal to the <code>arrayLayers</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> used to create the image minus <code>baseArrayLayer</code>"
},
{
"vuid": "VUID-VkCopyImageInfo2-srcImage-01790",
@@ -28277,8 +28485,8 @@
"text": " The pname:srcSubresource.mipLevel member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
},
{
- "vuid": "VUID-VkCopyImageInfo2-srcSubresource-07968",
- "text": " The <span class=\"eq\">pname:srcSubresource.baseArrayLayer &#43; pname:srcSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
+ "vuid": "VUID-VkCopyImageInfo2-srcSubresource-08790",
+ "text": " If pname:srcSubresource.layerCount is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\">pname:srcSubresource.baseArrayLayer &#43; pname:srcSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
},
{
"vuid": "VUID-VkCopyImageInfo2-srcImage-07969",
@@ -28293,8 +28501,8 @@
"text": " The pname:dstSubresource.mipLevel member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
},
{
- "vuid": "VUID-VkCopyImageInfo2-dstSubresource-07968",
- "text": " The <span class=\"eq\">pname:dstSubresource.baseArrayLayer &#43; pname:dstSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
+ "vuid": "VUID-VkCopyImageInfo2-dstSubresource-08790",
+ "text": " If pname:dstSubresource.layerCount is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\">pname:dstSubresource.baseArrayLayer &#43; pname:dstSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
},
{
"vuid": "VUID-VkCopyImageInfo2-dstImage-07969",
@@ -28389,8 +28597,8 @@
"text": " The pname:imageSubresource.mipLevel member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
},
{
- "vuid": "VUID-vkCmdCopyBufferToImage-imageSubresource-07968",
- "text": " The <span class=\"eq\">pname:imageSubresource.baseArrayLayer &#43; pname:imageSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
+ "vuid": "VUID-vkCmdCopyBufferToImage-imageSubresource-08790",
+ "text": " If pname:imageSubresource.layerCount is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\">pname:imageSubresource.baseArrayLayer &#43; pname:imageSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
},
{
"vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07969",
@@ -28605,8 +28813,8 @@
"text": " The pname:imageSubresource.mipLevel member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
},
{
- "vuid": "VUID-vkCmdCopyImageToBuffer-imageSubresource-07968",
- "text": " The <span class=\"eq\">pname:imageSubresource.baseArrayLayer &#43; pname:imageSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
+ "vuid": "VUID-vkCmdCopyImageToBuffer-imageSubresource-08790",
+ "text": " If pname:imageSubresource.layerCount is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\">pname:imageSubresource.baseArrayLayer &#43; pname:imageSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
},
{
"vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07969",
@@ -28953,8 +29161,8 @@
"text": " The pname:imageSubresource.mipLevel member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
},
{
- "vuid": "VUID-VkCopyBufferToImageInfo2-imageSubresource-07968",
- "text": " The <span class=\"eq\">pname:imageSubresource.baseArrayLayer &#43; pname:imageSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
+ "vuid": "VUID-VkCopyBufferToImageInfo2-imageSubresource-08790",
+ "text": " If pname:imageSubresource.layerCount is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\">pname:imageSubresource.baseArrayLayer &#43; pname:imageSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:dstImage was created"
},
{
"vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07969",
@@ -29193,8 +29401,8 @@
"text": " The pname:imageSubresource.mipLevel member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
},
{
- "vuid": "VUID-VkCopyImageToBufferInfo2-imageSubresource-07968",
- "text": " The <span class=\"eq\">pname:imageSubresource.baseArrayLayer &#43; pname:imageSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
+ "vuid": "VUID-VkCopyImageToBufferInfo2-imageSubresource-08790",
+ "text": " If pname:imageSubresource.layerCount is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\">pname:imageSubresource.baseArrayLayer &#43; pname:imageSubresource.layerCount</span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when pname:srcImage was created"
},
{
"vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07969",
@@ -29477,8 +29685,8 @@
"text": " The specified <code>mipLevel</code> of each region <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
- "vuid": "VUID-vkCmdCopyMemoryToImageIndirectNV-baseArrayLayer-07671",
- "text": " The specified <code>baseArrayLayer</code> &#43; <code>layerCount</code> of each region <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+ "vuid": "VUID-vkCmdCopyMemoryToImageIndirectNV-layerCount-08764",
+ "text": " If <code>layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the specified <code>baseArrayLayer</code> &#43; <code>layerCount</code> of each region <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
"vuid": "VUID-vkCmdCopyMemoryToImageIndirectNV-imageOffset-07672",
@@ -29693,12 +29901,12 @@
"text": " The <code>dstSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
- "vuid": "VUID-vkCmdBlitImage-srcSubresource-01707",
- "text": " The <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+ "vuid": "VUID-vkCmdBlitImage-srcSubresource-08788",
+ "text": " If <code>srcSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
},
{
- "vuid": "VUID-vkCmdBlitImage-dstSubresource-01708",
- "text": " The <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+ "vuid": "VUID-vkCmdBlitImage-dstSubresource-08789",
+ "text": " If <code>dstSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
"vuid": "VUID-vkCmdBlitImage-dstImage-02545",
@@ -29817,8 +30025,16 @@
"text": " The <code>aspectMask</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-VkImageBlit-layerCount-00239",
- "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
+ "vuid": "VUID-VkImageBlit-maintenance5-08799",
+ "text": " If the <a href=\"#features-maintenance5\"><code>maintenance5</code></a> feature is not enabled, the <code>layerCount</code> member of <code>srcSubresource</code> or <code>dstSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_REMAINING_ARRAY_LAYERS</code>"
+ },
+ {
+ "vuid": "VUID-VkImageBlit-layerCount-08800",
+ "text": " If neither of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> are VK_REMAINING_ARRAY_LAYERS, the <code>layerCount</code> members <strong class=\"purple\">must</strong> match"
+ },
+ {
+ "vuid": "VUID-VkImageBlit-layerCount-08801",
+ "text": " If one of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> is <code>VK_REMAINING_ARRAY_LAYERS</code>, the other member <strong class=\"purple\">must</strong> be either <code>VK_REMAINING_ARRAY_LAYERS</code> or equal to the <code>arrayLayers</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> used to create the image minus <code>baseArrayLayer</code>"
},
{
"vuid": "VUID-VkImageBlit-srcSubresource-parameter",
@@ -29977,12 +30193,12 @@
"text": " The <code>dstSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
- "vuid": "VUID-VkBlitImageInfo2-srcSubresource-01707",
- "text": " The <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+ "vuid": "VUID-VkBlitImageInfo2-srcSubresource-08788",
+ "text": " If <code>srcSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
},
{
- "vuid": "VUID-VkBlitImageInfo2-dstSubresource-01708",
- "text": " The <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+ "vuid": "VUID-VkBlitImageInfo2-dstSubresource-08789",
+ "text": " If <code>dstSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
"vuid": "VUID-VkBlitImageInfo2-dstImage-02545",
@@ -30101,8 +30317,16 @@
"text": " The <code>aspectMask</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-VkImageBlit2-layerCount-00239",
- "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
+ "vuid": "VUID-VkImageBlit2-maintenance5-08799",
+ "text": " If the <a href=\"#features-maintenance5\"><code>maintenance5</code></a> feature is not enabled, the <code>layerCount</code> member of <code>srcSubresource</code> or <code>dstSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_REMAINING_ARRAY_LAYERS</code>"
+ },
+ {
+ "vuid": "VUID-VkImageBlit2-layerCount-08800",
+ "text": " If neither of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> are VK_REMAINING_ARRAY_LAYERS, the <code>layerCount</code> members <strong class=\"purple\">must</strong> match"
+ },
+ {
+ "vuid": "VUID-VkImageBlit2-layerCount-08801",
+ "text": " If one of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> is <code>VK_REMAINING_ARRAY_LAYERS</code>, the other member <strong class=\"purple\">must</strong> be either <code>VK_REMAINING_ARRAY_LAYERS</code> or equal to the <code>arrayLayers</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> used to create the image minus <code>baseArrayLayer</code>"
},
{
"vuid": "VUID-VkImageBlit2-sType-sType",
@@ -30197,12 +30421,12 @@
"text": " The <code>dstSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
- "vuid": "VUID-vkCmdResolveImage-srcSubresource-01711",
- "text": " The <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+ "vuid": "VUID-vkCmdResolveImage-srcSubresource-08805",
+ "text": " If <code>srcSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
},
{
- "vuid": "VUID-vkCmdResolveImage-dstSubresource-01712",
- "text": " The <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+ "vuid": "VUID-vkCmdResolveImage-dstSubresource-08806",
+ "text": " If <code>dstSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
"vuid": "VUID-vkCmdResolveImage-dstImage-02546",
@@ -30329,8 +30553,16 @@
"text": " The <code>aspectMask</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> only contain <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
},
{
- "vuid": "VUID-VkImageResolve-layerCount-00267",
- "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
+ "vuid": "VUID-VkImageResolve-maintenance5-08802",
+ "text": " If the <a href=\"#features-maintenance5\"><code>maintenance5</code></a> feature is not enabled, the <code>layerCount</code> member of <code>srcSubresource</code> or <code>dstSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_REMAINING_ARRAY_LAYERS</code>"
+ },
+ {
+ "vuid": "VUID-VkImageResolve-layerCount-08803",
+ "text": " If neither of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> are VK_REMAINING_ARRAY_LAYERS, the <code>layerCount</code> members <strong class=\"purple\">must</strong> match"
+ },
+ {
+ "vuid": "VUID-VkImageResolve-layerCount-08804",
+ "text": " If one of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> is <code>VK_REMAINING_ARRAY_LAYERS</code>, the other member <strong class=\"purple\">must</strong> be either <code>VK_REMAINING_ARRAY_LAYERS</code> or equal to the <code>arrayLayers</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> used to create the image minus <code>baseArrayLayer</code>"
},
{
"vuid": "VUID-VkImageResolve-srcSubresource-parameter",
@@ -30441,12 +30673,12 @@
"text": " The <code>dstSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
- "vuid": "VUID-VkResolveImageInfo2-srcSubresource-01711",
- "text": " The <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
+ "vuid": "VUID-VkResolveImageInfo2-srcSubresource-08805",
+ "text": " If <code>srcSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\"><code>srcSubresource.baseArrayLayer</code> &#43; <code>srcSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
},
{
- "vuid": "VUID-VkResolveImageInfo2-dstSubresource-01712",
- "text": " The <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
+ "vuid": "VUID-VkResolveImageInfo2-dstSubresource-08806",
+ "text": " If <code>dstSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, the <span class=\"eq\"><code>dstSubresource.baseArrayLayer</code> &#43; <code>dstSubresource.layerCount</code></span> of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created"
},
{
"vuid": "VUID-VkResolveImageInfo2-dstImage-02546",
@@ -30561,8 +30793,16 @@
"text": " The <code>aspectMask</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> only contain <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
},
{
- "vuid": "VUID-VkImageResolve2-layerCount-00267",
- "text": " The <code>layerCount</code> member of <code>srcSubresource</code> and <code>dstSubresource</code> <strong class=\"purple\">must</strong> match"
+ "vuid": "VUID-VkImageResolve2-maintenance5-08802",
+ "text": " If the <a href=\"#features-maintenance5\"><code>maintenance5</code></a> feature is not enabled, the <code>layerCount</code> member of <code>srcSubresource</code> or <code>dstSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_REMAINING_ARRAY_LAYERS</code>"
+ },
+ {
+ "vuid": "VUID-VkImageResolve2-layerCount-08803",
+ "text": " If neither of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> are VK_REMAINING_ARRAY_LAYERS, the <code>layerCount</code> members <strong class=\"purple\">must</strong> match"
+ },
+ {
+ "vuid": "VUID-VkImageResolve2-layerCount-08804",
+ "text": " If one of the <code>layerCount</code> members of <code>srcSubresource</code> or <code>dstSubresource</code> is <code>VK_REMAINING_ARRAY_LAYERS</code>, the other member <strong class=\"purple\">must</strong> be either <code>VK_REMAINING_ARRAY_LAYERS</code> or equal to the <code>arrayLayers</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> used to create the image minus <code>baseArrayLayer</code>"
},
{
"vuid": "VUID-VkImageResolve2-sType-sType",
@@ -30873,27 +31113,27 @@
"vkCmdBindIndexBuffer": {
"core": [
{
- "vuid": "VUID-vkCmdBindIndexBuffer-offset-00431",
+ "vuid": "VUID-vkCmdBindIndexBuffer-offset-08782",
"text": " <code>offset</code> <strong class=\"purple\">must</strong> be less than the size of <code>buffer</code>"
},
{
- "vuid": "VUID-vkCmdBindIndexBuffer-offset-00432",
- "text": " The sum of <code>offset</code> and the address of the range of <code>VkDeviceMemory</code> object that is backing <code>buffer</code>, <strong class=\"purple\">must</strong> be a multiple of the type indicated by <code>indexType</code>"
+ "vuid": "VUID-vkCmdBindIndexBuffer-offset-08783",
+ "text": " The sum of <code>offset</code> and the base address of the range of <code>VkDeviceMemory</code> object that is backing <code>buffer</code>, <strong class=\"purple\">must</strong> be a multiple of the size of the type indicated by <code>indexType</code>"
},
{
- "vuid": "VUID-vkCmdBindIndexBuffer-buffer-00433",
+ "vuid": "VUID-vkCmdBindIndexBuffer-buffer-08784",
"text": " <code>buffer</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_INDEX_BUFFER_BIT</code> flag"
},
{
- "vuid": "VUID-vkCmdBindIndexBuffer-buffer-00434",
+ "vuid": "VUID-vkCmdBindIndexBuffer-buffer-08785",
"text": " If <code>buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
},
{
- "vuid": "VUID-vkCmdBindIndexBuffer-indexType-02507",
+ "vuid": "VUID-vkCmdBindIndexBuffer-indexType-08786",
"text": " <code>indexType</code> <strong class=\"purple\">must</strong> not be <code>VK_INDEX_TYPE_NONE_KHR</code>"
},
{
- "vuid": "VUID-vkCmdBindIndexBuffer-indexType-02765",
+ "vuid": "VUID-vkCmdBindIndexBuffer-indexType-08787",
"text": " If <code>indexType</code> is <code>VK_INDEX_TYPE_UINT8_EXT</code>, the <a href=\"#features-indexTypeUint8\"><code>indexTypeUint8</code></a> feature <strong class=\"purple\">must</strong> be enabled"
},
{
@@ -30926,6 +31166,70 @@
}
]
},
+ "vkCmdBindIndexBuffer2KHR": {
+ "core": [
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-offset-08782",
+ "text": " <code>offset</code> <strong class=\"purple\">must</strong> be less than the size of <code>buffer</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-offset-08783",
+ "text": " The sum of <code>offset</code> and the base address of the range of <code>VkDeviceMemory</code> object that is backing <code>buffer</code>, <strong class=\"purple\">must</strong> be a multiple of the size of the type indicated by <code>indexType</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-buffer-08784",
+ "text": " <code>buffer</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_INDEX_BUFFER_BIT</code> flag"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-buffer-08785",
+ "text": " If <code>buffer</code> is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-indexType-08786",
+ "text": " <code>indexType</code> <strong class=\"purple\">must</strong> not be <code>VK_INDEX_TYPE_NONE_KHR</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-indexType-08787",
+ "text": " If <code>indexType</code> is <code>VK_INDEX_TYPE_UINT8_EXT</code>, the <a href=\"#features-indexTypeUint8\"><code>indexTypeUint8</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-size-08767",
+ "text": " If <code>size</code> is not <code>VK_WHOLE_SIZE</code>, <code>size</code> <strong class=\"purple\">must</strong> be a multiple of the size of the type indicated by <code>indexType</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-size-08768",
+ "text": " If <code>size</code> is not <code>VK_WHOLE_SIZE</code>, the sum of <code>offset</code> and <code>size</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>buffer</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-commandBuffer-parameter",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-buffer-parameter",
+ "text": " <code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-indexType-parameter",
+ "text": " <code>indexType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkIndexType\">VkIndexType</a> value"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-commandBuffer-recording",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-commandBuffer-cmdpool",
+ "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-videocoding",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope"
+ },
+ {
+ "vuid": "VUID-vkCmdBindIndexBuffer2KHR-commonparent",
+ "text": " Both of <code>buffer</code>, and <code>commandBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+ }
+ ]
+ },
"vkCmdDraw": {
"core": [
{
@@ -31085,8 +31389,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDraw-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDraw-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDraw-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDraw-OpImageWrite-04469",
@@ -32397,8 +32705,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawIndexed-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawIndexed-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawIndexed-OpImageWrite-04469",
@@ -33537,6 +33849,10 @@
"text": " If <a href=\"#features-robustBufferAccess2\"><code>robustBufferAccess2</code></a> is not enabled, <span class=\"eq\">(<code>indexSize</code> {times} (<code>firstIndex</code> &#43; <code>indexCount</code>) &#43; <code>offset</code>)</span> <strong class=\"purple\">must</strong> be less than or equal to the size of the bound index buffer, with <code>indexSize</code> being based on the type specified by <code>indexType</code>, where the index buffer, <code>indexType</code>, and <code>offset</code> are specified via <code>vkCmdBindIndexBuffer</code>"
},
{
+ "vuid": "VUID-vkCmdDrawIndexed-robustBufferAccess2-08798",
+ "text": " If <a href=\"#features-robustBufferAccess2\"><code>robustBufferAccess2</code></a> is not enabled, <span class=\"eq\">(<code>indexSize</code> {times} (<code>firstIndex</code> &#43; <code>indexCount</code>) &#43; <code>offset</code>)</span> <strong class=\"purple\">must</strong> be less than or equal to the size of the bound index buffer, with <code>indexSize</code> being based on the type specified by <code>indexType</code>, where the index buffer, <code>indexType</code>, and <code>offset</code> are specified via <code>vkCmdBindIndexBuffer</code> or <code>vkCmdBindIndexBuffer2KHR</code>. If <code>vkCmdBindIndexBuffer2KHR</code> is used to bind the index buffer, the size of the bound index buffer is <a href=\"#vkCmdBindIndexBuffer2KHR\">vkCmdBindIndexBuffer2KHR</a>::<code>size</code>"
+ },
+ {
"vuid": "VUID-vkCmdDrawIndexed-commandBuffer-parameter",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
},
@@ -33717,8 +34033,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawMultiEXT-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawMultiEXT-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawMultiEXT-OpImageWrite-04469",
@@ -35045,8 +35365,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-OpImageWrite-04469",
@@ -36185,6 +36509,10 @@
"text": " If <a href=\"#features-robustBufferAccess2\"><code>robustBufferAccess2</code></a> is not enabled, <span class=\"eq\">(<code>indexSize</code> {times} (<code>firstIndex</code> &#43; <code>indexCount</code>) &#43; <code>offset</code>)</span> <strong class=\"purple\">must</strong> be less than or equal to the size of the bound index buffer, with <code>indexSize</code> being based on the type specified by <code>indexType</code>, where the index buffer, <code>indexType</code>, and <code>offset</code> are specified via <code>vkCmdBindIndexBuffer</code>"
},
{
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-robustBufferAccess2-08798",
+ "text": " If <a href=\"#features-robustBufferAccess2\"><code>robustBufferAccess2</code></a> is not enabled, <span class=\"eq\">(<code>indexSize</code> {times} (<code>firstIndex</code> &#43; <code>indexCount</code>) &#43; <code>offset</code>)</span> <strong class=\"purple\">must</strong> be less than or equal to the size of the bound index buffer, with <code>indexSize</code> being based on the type specified by <code>indexType</code>, where the index buffer, <code>indexType</code>, and <code>offset</code> are specified via <code>vkCmdBindIndexBuffer</code> or <code>vkCmdBindIndexBuffer2KHR</code>. If <code>vkCmdBindIndexBuffer2KHR</code> is used to bind the index buffer, the size of the bound index buffer is <a href=\"#vkCmdBindIndexBuffer2KHR\">vkCmdBindIndexBuffer2KHR</a>::<code>size</code>"
+ },
+ {
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-04937",
"text": " The <a href=\"#features-multiDraw\"><code>multiDraw</code></a> feature <strong class=\"purple\">must</strong> be enabled"
},
@@ -36385,8 +36713,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawIndirect-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawIndirect-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawIndirect-OpImageWrite-04469",
@@ -37741,8 +38073,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawIndirectCount-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawIndirectCount-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawIndirectCount-OpImageWrite-04469",
@@ -39109,8 +39445,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawIndexedIndirect-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-OpImageWrite-04469",
@@ -40305,6 +40645,10 @@
"VkDrawIndexedIndirectCommand": {
"core": [
{
+ "vuid": "VUID-VkDrawIndexedIndirectCommand-robustBufferAccess2-08798",
+ "text": " If <a href=\"#features-robustBufferAccess2\"><code>robustBufferAccess2</code></a> is not enabled, <span class=\"eq\">(<code>indexSize</code> {times} (<code>firstIndex</code> &#43; <code>indexCount</code>) &#43; <code>offset</code>)</span> <strong class=\"purple\">must</strong> be less than or equal to the size of the bound index buffer, with <code>indexSize</code> being based on the type specified by <code>indexType</code>, where the index buffer, <code>indexType</code>, and <code>offset</code> are specified via <code>vkCmdBindIndexBuffer</code> or <code>vkCmdBindIndexBuffer2KHR</code>. If <code>vkCmdBindIndexBuffer2KHR</code> is used to bind the index buffer, the size of the bound index buffer is <a href=\"#vkCmdBindIndexBuffer2KHR\">vkCmdBindIndexBuffer2KHR</a>::<code>size</code>"
+ },
+ {
"vuid": "VUID-VkDrawIndexedIndirectCommand-None-00552",
"text": " For a given vertex buffer binding, any attribute data fetched <strong class=\"purple\">must</strong> be entirely contained within the corresponding vertex buffer binding, as described in <a href=\"#fxvertex-input\">Vertex Input Description</a>"
},
@@ -40473,8 +40817,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-OpImageWrite-04469",
@@ -41849,8 +42197,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-OpImageWrite-04469",
@@ -43281,8 +43633,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksNV-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-OpImageWrite-04469",
@@ -44525,8 +44881,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-04469",
@@ -45817,8 +46177,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-04469",
@@ -47125,8 +47489,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-OpImageWrite-04469",
@@ -48397,8 +48765,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-OpImageWrite-04469",
@@ -49717,8 +50089,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-OpImageWrite-04469",
@@ -51025,8 +51401,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawClusterHUAWEI-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawClusterHUAWEI-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawClusterHUAWEI-OpImageWrite-04469",
@@ -52281,8 +52661,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWrite-04469",
@@ -53677,8 +54061,12 @@
"text": " All elements of <code>pOffsets</code> <strong class=\"purple\">must</strong> be less than the size of the corresponding element in <code>pBuffers</code>"
},
{
- "vuid": "VUID-vkCmdBindVertexBuffers2-pSizes-03358",
- "text": " If <code>pSizes</code> is not <code>NULL</code>, all elements of <code>pOffsets</code> plus <code>pSizes</code> <strong class=\"purple\">must</strong> be less than or equal to the size of the corresponding element in <code>pBuffers</code>"
+ "vuid": "VUID-vkCmdBindVertexBuffers2-pSizes-08769",
+ "text": " If <code>pSizes</code> is not <code>NULL</code>, all elements of <code>pSizes</code> that are not <code>VK_WHOLE_SIZE</code> <strong class=\"purple\">must</strong> have the corresponding elements in <code>pOffsets</code> plus <code>pSizes</code> be less than or equal to the size of the corresponding element in <code>pBuffers</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindVertexBuffers2-pSizes-08770",
+ "text": " If <code>pSizes</code> is not <code>NULL</code>, all elements of <code>pSizes</code> that are <code>VK_WHOLE_SIZE</code> <strong class=\"purple\">must</strong> have the corresponding element in <code>pOffsets</code> be less than the size of the corresponding element in <code>pBuffers</code>"
},
{
"vuid": "VUID-vkCmdBindVertexBuffers2-pBuffers-03359",
@@ -57477,8 +57865,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDispatch-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDispatch-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatch-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDispatch-OpImageWrite-04469",
@@ -57749,8 +58141,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDispatchIndirect-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDispatchIndirect-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchIndirect-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDispatchIndirect-OpImageWrite-04469",
@@ -58041,8 +58437,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdDispatchBase-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdDispatchBase-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchBase-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdDispatchBase-OpImageWrite-04469",
@@ -58329,8 +58729,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdSubpassShadingHUAWEI-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdSubpassShadingHUAWEI-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-OpImageWrite-04469",
@@ -59005,8 +59409,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-04469",
@@ -66981,8 +67389,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdTraceRaysNV-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdTraceRaysNV-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysNV-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdTraceRaysNV-OpImageWrite-04469",
@@ -67345,8 +67757,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdTraceRaysKHR-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdTraceRaysKHR-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysKHR-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdTraceRaysKHR-OpImageWrite-04469",
@@ -67825,8 +68241,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdTraceRaysIndirectKHR-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirectKHR-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-OpImageWrite-04469",
@@ -68253,8 +68673,12 @@
"text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
},
{
- "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-04115",
- "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
},
{
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-OpImageWrite-04469",
@@ -71110,6 +71534,1306 @@
}
]
},
+ "vkCreateExecutionGraphPipelinesAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-shaderEnqueue-09124",
+ "text": " The <a href=\"#features-shaderEnqueue\"><code>shaderEnqueue</code> feature</a> <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-flags-09125",
+ "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and the <code>basePipelineIndex</code> member of that same element is not <code>-1</code>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be less than the index into <code>pCreateInfos</code> that corresponds to that element"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-flags-09126",
+ "text": " If the <code>flags</code> member of any element of <code>pCreateInfos</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, the base pipeline <strong class=\"purple\">must</strong> have been created with the <code>VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT</code> flag set"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-pipelineCache-09127",
+ "text": " If <code>pipelineCache</code> was created with <code>VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT</code>, host access to <code>pipelineCache</code> <strong class=\"purple\">must</strong> be <a href=\"#fundamentals-threadingbehavior\">externally synchronized</a>"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-pipelineCache-parameter",
+ "text": " If <code>pipelineCache</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pipelineCache</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineCache\">VkPipelineCache</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-pCreateInfos-parameter",
+ "text": " <code>pCreateInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> valid <a href=\"#VkExecutionGraphPipelineCreateInfoAMDX\">VkExecutionGraphPipelineCreateInfoAMDX</a> structures"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-pAllocator-parameter",
+ "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-pPipelines-parameter",
+ "text": " <code>pPipelines</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>createInfoCount</code> <a href=\"#VkPipeline\">VkPipeline</a> handles"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-createInfoCount-arraylength",
+ "text": " <code>createInfoCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+ },
+ {
+ "vuid": "VUID-vkCreateExecutionGraphPipelinesAMDX-pipelineCache-parent",
+ "text": " If <code>pipelineCache</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+ }
+ ]
+ },
+ "VkExecutionGraphPipelineCreateInfoAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07984",
+ "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineIndex</code> is -1, <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be a valid handle to a ray tracing <code>VkPipeline</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07985",
+ "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, and <code>basePipelineHandle</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be a valid index into the calling command&#8217;s <code>pCreateInfos</code> parameter"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07986",
+ "text": " If <code>flags</code> contains the <code>VK_PIPELINE_CREATE_DERIVATIVE_BIT</code> flag, <code>basePipelineIndex</code> <strong class=\"purple\">must</strong> be -1 or <code>basePipelineHandle</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07987",
+ "text": " If a push constant block is declared in a shader, a push constant range in <code>layout</code> <strong class=\"purple\">must</strong> match both the shader stage and range"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07988",
+ "text": " If a <a href=\"#interfaces-resources\">resource variables</a> is declared in a shader, a descriptor slot in <code>layout</code> <strong class=\"purple\">must</strong> match the shader stage"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07990",
+ "text": " If a <a href=\"#interfaces-resources\">resource variables</a> is declared in a shader, and the descriptor type is not <code>VK_DESCRIPTOR_TYPE_MUTABLE_EXT</code>, a descriptor slot in <code>layout</code> <strong class=\"purple\">must</strong> match the descriptor type"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07991",
+ "text": " If a <a href=\"#interfaces-resources\">resource variables</a> is declared in a shader as an array, a descriptor slot in <code>layout</code> <strong class=\"purple\">must</strong> match the descriptor count"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03365",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03366",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03367",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03368",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03369",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03370",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03576",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-04945",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-09007",
+ "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV</code>, then the <a href=\"#features-deviceGeneratedComputePipelines\"><code>VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV</code>::<code>deviceGeneratedComputePipelines</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-09008",
+ "text": " If <code>flags</code> includes <code>VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a pointer to a valid instance of <a href=\"#VkComputePipelineIndirectBufferInfoNV\">VkComputePipelineIndirectBufferInfoNV</a> specifying the address where the pipeline&#8217;s metadata will be saved"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pipelineCreationCacheControl-02875",
+ "text": " If the <a href=\"#features-pipelineCreationCacheControl\"><code>pipelineCreationCacheControl</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT</code> or <code>VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-stage-09128",
+ "text": " The <code>stage</code> member of any element of <code>pStages</code> <strong class=\"purple\">must</strong> be <code>VK_SHADER_STAGE_COMPUTE_BIT</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pStages-09129",
+ "text": " The shader code for the entry point identified by each element of <code>pStages</code> and the rest of the state identified by this structure <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-09130",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> be <a href=\"#descriptorsets-pipelinelayout-consistency\">consistent</a> with the layout of the shaders specified in <code>pStages</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-09131",
+ "text": " If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of its <code>pLibraries</code> member <strong class=\"purple\">must</strong> have been created with a <code>layout</code> that is compatible with the <code>layout</code> in this pipeline"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-09132",
+ "text": " The number of resources in <code>layout</code> accessible to each shader stage that is used by the pipeline <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxPerStageResources</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-09133",
+ "text": " If <code>pLibraryInfo</code> is not <code>NULL</code>, each element of <code>pLibraryInfo-&gt;libraries</code> <strong class=\"purple\">must</strong> be either a compute pipeline or an execution graph pipeline"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09134",
+ "text": " There <strong class=\"purple\">must</strong> be no two nodes in the pipeline that share both the same shader name and index, as specified by <a href=\"#VkPipelineShaderStageNodeCreateInfoAMDX\">VkPipelineShaderStageNodeCreateInfoAMDX</a>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09135",
+ "text": " There <strong class=\"purple\">must</strong> be no two nodes in the pipeline that share the same shader name and have input payload declarations with different sizes"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09136",
+ "text": " There <strong class=\"purple\">must</strong> be no two nodes in the pipeline that share the same name but have different execution models"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-CoalescedInputCountAMDX-09137",
+ "text": " There <strong class=\"purple\">must</strong> be no two nodes in the pipeline that share the same name where one includes <code>CoalescedInputCountAMDX</code> and the other does not"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-StaticNumWorkgroupsAMDX-09138",
+ "text": " There <strong class=\"purple\">must</strong> be no two nodes in the pipeline that share the same name where one includes <code>StaticNumWorkgroupsAMDX</code> and the other does not"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-PayloadNodeNameAMDX-09139",
+ "text": " If an output payload declared in any shader in the pipeline has a <code>PayloadNodeNameAMDX</code> decoration with a <code>Node</code> <code>Name</code> that matches the shader name of any other node in the graph, the size of the output payload <strong class=\"purple\">must</strong> match the size of the input payload in the matching node"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX</code>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-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=\"#VkPipelineCompilerControlCreateInfoAMD\">VkPipelineCompilerControlCreateInfoAMD</a> or <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a>"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-sType-unique",
+ "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-parameter",
+ "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkPipelineCreateFlagBits\">VkPipelineCreateFlagBits</a> values"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pStages-parameter",
+ "text": " If <code>stageCount</code> is not <code>0</code>, and <code>pStages</code> is not <code>NULL</code>, <code>pStages</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>stageCount</code> valid <a href=\"#VkPipelineShaderStageCreateInfo\">VkPipelineShaderStageCreateInfo</a> structures"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-parameter",
+ "text": " If <code>pLibraryInfo</code> is not <code>NULL</code>, <code>pLibraryInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineLibraryCreateInfoKHR\">VkPipelineLibraryCreateInfoKHR</a> structure"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-parameter",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle"
+ },
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-commonparent",
+ "text": " Both of <code>basePipelineHandle</code>, and <code>layout</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+ }
+ ]
+ },
+ "VkPipelineShaderStageNodeCreateInfoAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-VkPipelineShaderStageNodeCreateInfoAMDX-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX</code>"
+ },
+ {
+ "vuid": "VUID-VkPipelineShaderStageNodeCreateInfoAMDX-pName-parameter",
+ "text": " If <code>pName</code> is not <code>NULL</code>, <code>pName</code> <strong class=\"purple\">must</strong> be a null-terminated UTF-8 string"
+ }
+ ]
+ },
+ "vkGetExecutionGraphPipelineNodeIndexAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeInfo-09140",
+ "text": " <code>pNodeInfo-&gt;pName</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeInfo-09141",
+ "text": " <code>pNodeInfo-&gt;index</code> <strong class=\"purple\">must</strong> not be <code>VK_SHADER_INDEX_UNUSED_AMDX</code>"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-executionGraph-09142",
+ "text": " There <strong class=\"purple\">must</strong> be a node in <code>executionGraph</code> with a shader name and index equal to <code>pNodeInfo-&gt;pName</code> and <code>pNodeInfo-&gt;index</code>"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-executionGraph-parameter",
+ "text": " <code>executionGraph</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeInfo-parameter",
+ "text": " <code>pNodeInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineShaderStageNodeCreateInfoAMDX\">VkPipelineShaderStageNodeCreateInfoAMDX</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeIndex-parameter",
+ "text": " <code>pNodeIndex</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>uint32_t</code> value"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-executionGraph-parent",
+ "text": " <code>executionGraph</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+ }
+ ]
+ },
+ "vkGetExecutionGraphPipelineScratchSizeAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-executionGraph-parameter",
+ "text": " <code>executionGraph</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-pSizeInfo-parameter",
+ "text": " <code>pSizeInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-executionGraph-parent",
+ "text": " <code>executionGraph</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+ }
+ ]
+ },
+ "VkExecutionGraphPipelineScratchSizeAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-VkExecutionGraphPipelineScratchSizeAMDX-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX</code>"
+ }
+ ]
+ },
+ "vkCmdInitializeGraphScratchMemoryAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratch-09143",
+ "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline."
+ },
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratch-09144",
+ "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be a multiple of 64"
+ },
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-parameter",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-recording",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-cmdpool",
+ "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+ },
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-renderpass",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+ },
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-videocoding",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope"
+ },
+ {
+ "vuid": "VUID-vkCmdInitializeGraphScratchMemoryAMDX-bufferlevel",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a primary <code>VkCommandBuffer</code>"
+ }
+ ]
+ },
+ "vkCmdDispatchGraphAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-magFilter-04553",
+ "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-mipmapMode-04770",
+ "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-06479",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is sampled with <a href=\"#textures-depth-compare-operation\">depth comparison</a>, the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-02691",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using atomic operations as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-07888",
+ "text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer&#8217;s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-02692",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-02693",
+ "text": " If the <a href=\"#VK_EXT_filter_cubic\">VK_EXT_filter_cubic</a> extension is not enabled and any <a href=\"#VkImageView\">VkImageView</a> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, it <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-filterCubic-02694",
+ "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <a href=\"#VkFilterCubicImageViewImageFormatPropertiesEXT\">VkFilterCubicImageViewImageFormatPropertiesEXT</a>::<code>filterCubic</code> returned by <a href=\"#vkGetPhysicalDeviceImageFormatProperties2\">vkGetPhysicalDeviceImageFormatProperties2</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-filterCubicMinmax-02695",
+ "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <a href=\"#VkFilterCubicImageViewImageFormatPropertiesEXT\">VkFilterCubicImageViewImageFormatPropertiesEXT</a>::<code>filterCubicMinmax</code> returned by <a href=\"#vkGetPhysicalDeviceImageFormatProperties2\">vkGetPhysicalDeviceImageFormatProperties2</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-flags-02696",
+ "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpTypeImage-07027",
+ "text": " For any <a href=\"#VkImageView\">VkImageView</a> being written as a storage image where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code>, the view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpTypeImage-07028",
+ "text": " For any <a href=\"#VkImageView\">VkImageView</a> being read as a storage image where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code>, the view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpTypeImage-07029",
+ "text": " For any <a href=\"#VkBufferView\">VkBufferView</a> being written as a storage texel buffer where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code>, the view&#8217;s <a href=\"#VkFormatProperties3\">buffer features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpTypeImage-07030",
+ "text": " Any <a href=\"#VkBufferView\">VkBufferView</a> being read as a storage texel buffer where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code> then the view&#8217;s <a href=\"#VkFormatProperties3\">buffer features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08600",
+ "text": " For each set <em>n</em> that is statically used by <a href=\"#shaders-binding\">a bound shader</a>, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for set <em>n</em>, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> or <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> array that was used to create the current <a href=\"#VkPipeline\">VkPipeline</a> or <a href=\"#VkShaderEXT\">VkShaderEXT</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08601",
+ "text": " For each push constant that is statically used by <a href=\"#shaders-binding\">a bound shader</a>, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for push constants, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> or <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> and <a href=\"#VkPushConstantRange\">VkPushConstantRange</a> arrays used to create the current <a href=\"#VkPipeline\">VkPipeline</a> or <a href=\"#VkShaderEXT\">VkShaderEXT</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-maintenance4-08602",
+ "text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by <a href=\"#shaders-binding\">a bound shader</a>, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for push constants, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> or <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> and <a href=\"#VkPushConstantRange\">VkPushConstantRange</a> arrays used to create the current <a href=\"#VkPipeline\">VkPipeline</a> or <a href=\"#VkShaderEXT\">VkShaderEXT</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <a href=\"#vkCmdBindDescriptorSets\">vkCmdBindDescriptorSets</a>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point used by this command and the bound <a href=\"#VkPipeline\">VkPipeline</a> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08115",
+ "text": " If the descriptors used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point were specified via <a href=\"#vkCmdBindDescriptorSets\">vkCmdBindDescriptorSets</a>, the bound <a href=\"#VkPipeline\">VkPipeline</a> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <a href=\"#vkCmdSetDescriptorBufferOffsetsEXT\">vkCmdSetDescriptorBufferOffsetsEXT</a>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point used by this command and the bound <a href=\"#VkPipeline\">VkPipeline</a> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08604",
+ "text": " Descriptors in bound descriptor buffers, specified via <a href=\"#vkCmdSetDescriptorBufferOffsetsEXT\">vkCmdSetDescriptorBufferOffsetsEXT</a>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08117",
+ "text": " If the descriptors used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point were specified via <a href=\"#vkCmdSetDescriptorBufferOffsetsEXT\">vkCmdSetDescriptorBufferOffsetsEXT</a>, the bound <a href=\"#VkPipeline\">VkPipeline</a> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08119",
+ "text": " If a descriptor is dynamically used with a <a href=\"#VkPipeline\">VkPipeline</a> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08605",
+ "text": " If a descriptor is dynamically used with a <a href=\"#VkShaderEXT\">VkShaderEXT</a> created with a <code>VkDescriptorSetLayout</code> that was created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08606",
+ "text": " If the <a href=\"#features-shaderObject\"><code>shaderObject</code></a> feature is not enabled, a valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08607",
+ "text": " If the <a href=\"#features-shaderObject\"><code>shaderObject</code></a> is enabled, either a valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command, or a valid combination of valid and <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> shader objects <strong class=\"purple\">must</strong> be bound to every supported shader stage corresponding to the pipeline bind point used by this command"
+ },
+ {
+ "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"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08609",
+ "text": " If the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command or any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a <a href=\"#VkSampler\">VkSampler</a> object that uses unnormalized coordinates, that sampler <strong class=\"purple\">must</strong> not be used to sample from any <a href=\"#VkImage\">VkImage</a> with a <a href=\"#VkImageView\">VkImageView</a> of the type <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, <code>VK_IMAGE_VIEW_TYPE_1D_ARRAY</code>, <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code> or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>, in any shader stage"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08610",
+ "text": " If the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command or any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a <a href=\"#VkSampler\">VkSampler</a> object that uses unnormalized coordinates, that sampler <strong class=\"purple\">must</strong> not be used with any of the SPIR-V <code>OpImageSample*</code> or <code>OpImageSparseSample*</code> instructions with <code>ImplicitLod</code>, <code>Dref</code> or <code>Proj</code> in their name, in any shader stage"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08611",
+ "text": " If the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command or any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a <a href=\"#VkSampler\">VkSampler</a> object that uses unnormalized coordinates, that sampler <strong class=\"purple\">must</strong> not be used with any of the SPIR-V <code>OpImageSample*</code> or <code>OpImageSparseSample*</code> instructions that includes a LOD bias or any offset values, in any shader stage"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-uniformBuffers-06935",
+ "text": " If any stage of the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT</code> or <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT</code> for <code>uniformBuffers</code>, and the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, that stage <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08612",
+ "text": " If the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, and any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-storageBuffers-06936",
+ "text": " If any stage of the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT</code> or <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT</code> for <code>storageBuffers</code>, and the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, that stage <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08613",
+ "text": " If the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, and any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-commandBuffer-02707",
+ "text": " If <code>commandBuffer</code> is an unprotected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, any resource accessed by <a href=\"#shaders-binding\">bound shaders</a> <strong class=\"purple\">must</strong> not be a protected resource"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-06550",
+ "text": " If <a href=\"#shaders-binding\">a bound shader</a> accesses a <a href=\"#VkSampler\">VkSampler</a> or <a href=\"#VkImageView\">VkImageView</a> object that enables <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a>, that object <strong class=\"purple\">must</strong> only be used with <code>OpImageSample*</code> or <code>OpImageSparseSample*</code> instructions"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-ConstOffset-06551",
+ "text": " If <a href=\"#shaders-binding\">a bound shader</a> accesses a <a href=\"#VkSampler\">VkSampler</a> or <a href=\"#VkImageView\">VkImageView</a> object that enables <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a>, that object <strong class=\"purple\">must</strong> not use the <code>ConstOffset</code> and <code>Offset</code> operands"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-viewType-07752",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>viewType</code> <strong class=\"purple\">must</strong> match the <code>Dim</code> operand of the <code>OpTypeImage</code> as described in <a href=\"#textures-operation-validation\">Instruction/Sampler/Image View Validation</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-format-07753",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageWrite-04469",
+ "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-SampledType-04470",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit component width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-SampledType-04471",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a component width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-SampledType-04472",
+ "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit component width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-SampledType-04473",
+ "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a component width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-sparseImageInt64Atomics-04474",
+ "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-sparseImageInt64Atomics-04475",
+ "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageWeightedSampleQCOM-06971",
+ "text": " If <code>OpImageWeightedSampleQCOM</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageWeightedSampleQCOM-06972",
+ "text": " If <code>OpImageWeightedSampleQCOM</code> uses a <a href=\"#VkImageView\">VkImageView</a> as a sample weight image as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageBoxFilterQCOM-06973",
+ "text": " If <code>OpImageBoxFilterQCOM</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageBlockMatchSSDQCOM-06974",
+ "text": " If <code>OpImageBlockMatchSSDQCOM</code> is used to read from an <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageBlockMatchSADQCOM-06975",
+ "text": " If <code>OpImageBlockMatchSADQCOM</code> is used to read from an <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageBlockMatchSADQCOM-06976",
+ "text": " If <code>OpImageBlockMatchSADQCOM</code> or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates <strong class=\"purple\">must</strong> not fail <a href=\"#textures-integer-coordinate-validation\">integer texel coordinate validation</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageWeightedSampleQCOM-06977",
+ "text": " If <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-OpImageWeightedSampleQCOM-06978",
+ "text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-None-07288",
+ "text": " Any shader invocation executed by this command <strong class=\"purple\">must</strong> <a href=\"#shaders-termination\">terminate</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-commandBuffer-09181",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-commandBuffer-09182",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a primary command buffer"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-09183",
+ "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-09184",
+ "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be a device address within a <a href=\"#VkBuffer\">VkBuffer</a> created with the <code>VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX</code> or <code>VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX</code> flag"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-scratch-09185",
+ "text": " Device memory in the range [<code>scratch</code>,<code>scratch</code><br> <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code>) <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-maxComputeWorkGroupCount-09186",
+ "text": " Execution of this command <strong class=\"purple\">must</strong> not cause a node to be dispatched with a larger number of workgroups than that specified by either a <code>MaxNumWorkgroupsAMDX</code> decoration in the dispatched node or <a href=\"#limits-maxComputeWorkGroupCount\"><code>maxComputeWorkGroupCount</code></a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-maxExecutionGraphShaderPayloadCount-09187",
+ "text": " Execution of this command <strong class=\"purple\">must</strong> not cause any shader to initialize more than <a href=\"#limits-maxExecutionGraphShaderPayloadCount\"><code>maxExecutionGraphShaderPayloadCount</code></a> output payloads"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-NodeMaxPayloadsAMDX-09188",
+ "text": " Execution of this command <strong class=\"purple\">must</strong> not cause any shader that declares <code>NodeMaxPayloadsAMDX</code> to initialize more output payloads than specified by the max number of payloads for that decoration. This requirement applies to each <code>NodeMaxPayloadsAMDX</code> decoration separately"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-pCountInfo-09145",
+ "text": " <code>pCountInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a host pointer to a memory allocation at least as large as the product of <code>count</code> and <code>stride</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-infos-09146",
+ "text": " Host memory locations at indexes in the range [<code>infos</code>, <code>infos</code> + (<code>count</code>*<code>stride</code>)), at a granularity of <code>stride</code> <strong class=\"purple\">must</strong> contain valid <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structures in the first 24 bytes"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-pCountInfo-09147",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>pCountInfo-&gt;infos</code>, <code>payloads</code> <strong class=\"purple\">must</strong> be a host pointer to a memory allocation at least as large as the product of <code>payloadCount</code> and <code>payloadStride</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-pCountInfo-09148",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>pCountInfo-&gt;infos</code>, <code>nodeIndex</code> <strong class=\"purple\">must</strong> be a valid node index in the currently bound execution graph pipeline, as returned by <a href=\"#vkGetExecutionGraphPipelineNodeIndexAMDX\">vkGetExecutionGraphPipelineNodeIndexAMDX</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-pCountInfo-09149",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>pCountInfo-&gt;infos</code>, host memory locations at indexes in the range [<code>payloads</code>, <code>payloads</code> + (<code>payloadCount</code> * <code>payloadStride</code>)), at a granularity of <code>payloadStride</code> <strong class=\"purple\">must</strong> contain a payload matching the size of the input payload expected by the node in <code>nodeIndex</code> in the first bytes"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-commandBuffer-parameter",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-pCountInfo-parameter",
+ "text": " <code>pCountInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDispatchGraphCountInfoAMDX\">VkDispatchGraphCountInfoAMDX</a> structure"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-commandBuffer-recording",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-commandBuffer-cmdpool",
+ "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-renderpass",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-videocoding",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphAMDX-bufferlevel",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a primary <code>VkCommandBuffer</code>"
+ }
+ ]
+ },
+ "vkCmdDispatchGraphIndirectAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-magFilter-04553",
+ "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-mipmapMode-04770",
+ "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-06479",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is sampled with <a href=\"#textures-depth-compare-operation\">depth comparison</a>, the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-02691",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using atomic operations as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-07888",
+ "text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer&#8217;s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-02692",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-02693",
+ "text": " If the <a href=\"#VK_EXT_filter_cubic\">VK_EXT_filter_cubic</a> extension is not enabled and any <a href=\"#VkImageView\">VkImageView</a> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, it <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-filterCubic-02694",
+ "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <a href=\"#VkFilterCubicImageViewImageFormatPropertiesEXT\">VkFilterCubicImageViewImageFormatPropertiesEXT</a>::<code>filterCubic</code> returned by <a href=\"#vkGetPhysicalDeviceImageFormatProperties2\">vkGetPhysicalDeviceImageFormatProperties2</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-filterCubicMinmax-02695",
+ "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <a href=\"#VkFilterCubicImageViewImageFormatPropertiesEXT\">VkFilterCubicImageViewImageFormatPropertiesEXT</a>::<code>filterCubicMinmax</code> returned by <a href=\"#vkGetPhysicalDeviceImageFormatProperties2\">vkGetPhysicalDeviceImageFormatProperties2</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-flags-02696",
+ "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpTypeImage-07027",
+ "text": " For any <a href=\"#VkImageView\">VkImageView</a> being written as a storage image where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code>, the view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpTypeImage-07028",
+ "text": " For any <a href=\"#VkImageView\">VkImageView</a> being read as a storage image where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code>, the view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpTypeImage-07029",
+ "text": " For any <a href=\"#VkBufferView\">VkBufferView</a> being written as a storage texel buffer where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code>, the view&#8217;s <a href=\"#VkFormatProperties3\">buffer features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpTypeImage-07030",
+ "text": " Any <a href=\"#VkBufferView\">VkBufferView</a> being read as a storage texel buffer where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code> then the view&#8217;s <a href=\"#VkFormatProperties3\">buffer features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08600",
+ "text": " For each set <em>n</em> that is statically used by <a href=\"#shaders-binding\">a bound shader</a>, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for set <em>n</em>, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> or <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> array that was used to create the current <a href=\"#VkPipeline\">VkPipeline</a> or <a href=\"#VkShaderEXT\">VkShaderEXT</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08601",
+ "text": " For each push constant that is statically used by <a href=\"#shaders-binding\">a bound shader</a>, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for push constants, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> or <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> and <a href=\"#VkPushConstantRange\">VkPushConstantRange</a> arrays used to create the current <a href=\"#VkPipeline\">VkPipeline</a> or <a href=\"#VkShaderEXT\">VkShaderEXT</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-maintenance4-08602",
+ "text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by <a href=\"#shaders-binding\">a bound shader</a>, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for push constants, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> or <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> and <a href=\"#VkPushConstantRange\">VkPushConstantRange</a> arrays used to create the current <a href=\"#VkPipeline\">VkPipeline</a> or <a href=\"#VkShaderEXT\">VkShaderEXT</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <a href=\"#vkCmdBindDescriptorSets\">vkCmdBindDescriptorSets</a>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point used by this command and the bound <a href=\"#VkPipeline\">VkPipeline</a> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08115",
+ "text": " If the descriptors used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point were specified via <a href=\"#vkCmdBindDescriptorSets\">vkCmdBindDescriptorSets</a>, the bound <a href=\"#VkPipeline\">VkPipeline</a> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <a href=\"#vkCmdSetDescriptorBufferOffsetsEXT\">vkCmdSetDescriptorBufferOffsetsEXT</a>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point used by this command and the bound <a href=\"#VkPipeline\">VkPipeline</a> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08604",
+ "text": " Descriptors in bound descriptor buffers, specified via <a href=\"#vkCmdSetDescriptorBufferOffsetsEXT\">vkCmdSetDescriptorBufferOffsetsEXT</a>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08117",
+ "text": " If the descriptors used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point were specified via <a href=\"#vkCmdSetDescriptorBufferOffsetsEXT\">vkCmdSetDescriptorBufferOffsetsEXT</a>, the bound <a href=\"#VkPipeline\">VkPipeline</a> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08119",
+ "text": " If a descriptor is dynamically used with a <a href=\"#VkPipeline\">VkPipeline</a> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08605",
+ "text": " If a descriptor is dynamically used with a <a href=\"#VkShaderEXT\">VkShaderEXT</a> created with a <code>VkDescriptorSetLayout</code> that was created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08606",
+ "text": " If the <a href=\"#features-shaderObject\"><code>shaderObject</code></a> feature is not enabled, a valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08607",
+ "text": " If the <a href=\"#features-shaderObject\"><code>shaderObject</code></a> is enabled, either a valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command, or a valid combination of valid and <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> shader objects <strong class=\"purple\">must</strong> be bound to every supported shader stage corresponding to the pipeline bind point used by this command"
+ },
+ {
+ "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"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08609",
+ "text": " If the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command or any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a <a href=\"#VkSampler\">VkSampler</a> object that uses unnormalized coordinates, that sampler <strong class=\"purple\">must</strong> not be used to sample from any <a href=\"#VkImage\">VkImage</a> with a <a href=\"#VkImageView\">VkImageView</a> of the type <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, <code>VK_IMAGE_VIEW_TYPE_1D_ARRAY</code>, <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code> or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>, in any shader stage"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08610",
+ "text": " If the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command or any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a <a href=\"#VkSampler\">VkSampler</a> object that uses unnormalized coordinates, that sampler <strong class=\"purple\">must</strong> not be used with any of the SPIR-V <code>OpImageSample*</code> or <code>OpImageSparseSample*</code> instructions with <code>ImplicitLod</code>, <code>Dref</code> or <code>Proj</code> in their name, in any shader stage"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08611",
+ "text": " If the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command or any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a <a href=\"#VkSampler\">VkSampler</a> object that uses unnormalized coordinates, that sampler <strong class=\"purple\">must</strong> not be used with any of the SPIR-V <code>OpImageSample*</code> or <code>OpImageSparseSample*</code> instructions that includes a LOD bias or any offset values, in any shader stage"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-uniformBuffers-06935",
+ "text": " If any stage of the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT</code> or <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT</code> for <code>uniformBuffers</code>, and the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, that stage <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08612",
+ "text": " If the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, and any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-storageBuffers-06936",
+ "text": " If any stage of the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT</code> or <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT</code> for <code>storageBuffers</code>, and the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, that stage <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08613",
+ "text": " If the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, and any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-02707",
+ "text": " If <code>commandBuffer</code> is an unprotected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, any resource accessed by <a href=\"#shaders-binding\">bound shaders</a> <strong class=\"purple\">must</strong> not be a protected resource"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-06550",
+ "text": " If <a href=\"#shaders-binding\">a bound shader</a> accesses a <a href=\"#VkSampler\">VkSampler</a> or <a href=\"#VkImageView\">VkImageView</a> object that enables <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a>, that object <strong class=\"purple\">must</strong> only be used with <code>OpImageSample*</code> or <code>OpImageSparseSample*</code> instructions"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-ConstOffset-06551",
+ "text": " If <a href=\"#shaders-binding\">a bound shader</a> accesses a <a href=\"#VkSampler\">VkSampler</a> or <a href=\"#VkImageView\">VkImageView</a> object that enables <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a>, that object <strong class=\"purple\">must</strong> not use the <code>ConstOffset</code> and <code>Offset</code> operands"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-viewType-07752",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>viewType</code> <strong class=\"purple\">must</strong> match the <code>Dim</code> operand of the <code>OpTypeImage</code> as described in <a href=\"#textures-operation-validation\">Instruction/Sampler/Image View Validation</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-format-07753",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWrite-04469",
+ "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-SampledType-04470",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit component width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-SampledType-04471",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a component width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-SampledType-04472",
+ "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit component width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-SampledType-04473",
+ "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a component width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-sparseImageInt64Atomics-04474",
+ "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-sparseImageInt64Atomics-04475",
+ "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWeightedSampleQCOM-06971",
+ "text": " If <code>OpImageWeightedSampleQCOM</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWeightedSampleQCOM-06972",
+ "text": " If <code>OpImageWeightedSampleQCOM</code> uses a <a href=\"#VkImageView\">VkImageView</a> as a sample weight image as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBoxFilterQCOM-06973",
+ "text": " If <code>OpImageBoxFilterQCOM</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBlockMatchSSDQCOM-06974",
+ "text": " If <code>OpImageBlockMatchSSDQCOM</code> is used to read from an <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBlockMatchSADQCOM-06975",
+ "text": " If <code>OpImageBlockMatchSADQCOM</code> is used to read from an <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBlockMatchSADQCOM-06976",
+ "text": " If <code>OpImageBlockMatchSADQCOM</code> or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates <strong class=\"purple\">must</strong> not fail <a href=\"#textures-integer-coordinate-validation\">integer texel coordinate validation</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWeightedSampleQCOM-06977",
+ "text": " If <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWeightedSampleQCOM-06978",
+ "text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-07288",
+ "text": " Any shader invocation executed by this command <strong class=\"purple\">must</strong> <a href=\"#shaders-termination\">terminate</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-09181",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-09182",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a primary command buffer"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09183",
+ "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09184",
+ "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be a device address within a <a href=\"#VkBuffer\">VkBuffer</a> created with the <code>VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX</code> or <code>VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX</code> flag"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09185",
+ "text": " Device memory in the range [<code>scratch</code>,<code>scratch</code><br> <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code>) <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-maxComputeWorkGroupCount-09186",
+ "text": " Execution of this command <strong class=\"purple\">must</strong> not cause a node to be dispatched with a larger number of workgroups than that specified by either a <code>MaxNumWorkgroupsAMDX</code> decoration in the dispatched node or <a href=\"#limits-maxComputeWorkGroupCount\"><code>maxComputeWorkGroupCount</code></a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-maxExecutionGraphShaderPayloadCount-09187",
+ "text": " Execution of this command <strong class=\"purple\">must</strong> not cause any shader to initialize more than <a href=\"#limits-maxExecutionGraphShaderPayloadCount\"><code>maxExecutionGraphShaderPayloadCount</code></a> output payloads"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-NodeMaxPayloadsAMDX-09188",
+ "text": " Execution of this command <strong class=\"purple\">must</strong> not cause any shader that declares <code>NodeMaxPayloadsAMDX</code> to initialize more output payloads than specified by the max number of payloads for that decoration. This requirement applies to each <code>NodeMaxPayloadsAMDX</code> decoration separately"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09150",
+ "text": " <code>pCountInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a device pointer to a memory allocation at least as large as the product of <code>count</code> and <code>stride</code> when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09151",
+ "text": " <code>pCountInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a device address within a <a href=\"#VkBuffer\">VkBuffer</a> created with the <code>VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT</code> flag"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09152",
+ "text": " <code>pCountInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a multiple of <a href=\"#limits-executionGraphDispatchAddressAlignment\"><code>executionGraphDispatchAddressAlignment</code></a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-infos-09153",
+ "text": " Device memory locations at indexes in the range [<code>infos</code>, <code>infos</code> + (<code>count</code>*<code>stride</code>)), at a granularity of <code>stride</code> <strong class=\"purple\">must</strong> contain valid <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structures in the first 24 bytes when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09154",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>pCountInfo-&gt;infos</code>, <code>payloads</code> <strong class=\"purple\">must</strong> be a device pointer to a memory allocation at least as large as the product of <code>payloadCount</code> and <code>payloadStride</code> when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09155",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>pCountInfo-&gt;infos</code>, <code>payloads</code> <strong class=\"purple\">must</strong> be a device address within a <a href=\"#VkBuffer\">VkBuffer</a> created with the <code>VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT</code> flag"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09156",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>pCountInfo-&gt;infos</code>, <code>payloads</code> <strong class=\"purple\">must</strong> be a multiple of <a href=\"#limits-executionGraphDispatchAddressAlignment\"><code>executionGraphDispatchAddressAlignment</code></a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09157",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>pCountInfo-&gt;infos</code>, <code>nodeIndex</code> <strong class=\"purple\">must</strong> be a valid node index in the currently bound execution graph pipeline, as returned by <a href=\"#vkGetExecutionGraphPipelineNodeIndexAMDX\">vkGetExecutionGraphPipelineNodeIndexAMDX</a> when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09158",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>pCountInfo-&gt;infos</code>, device memory locations at indexes in the range [<code>payloads</code>, <code>payloads</code> + (<code>payloadCount</code> * <code>payloadStride</code>)), at a granularity of <code>payloadStride</code> <strong class=\"purple\">must</strong> contain a payload matching the size of the input payload expected by the node in <code>nodeIndex</code> in the first bytes when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-parameter",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-parameter",
+ "text": " <code>pCountInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDispatchGraphCountInfoAMDX\">VkDispatchGraphCountInfoAMDX</a> structure"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-recording",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-cmdpool",
+ "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-renderpass",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-videocoding",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-bufferlevel",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a primary <code>VkCommandBuffer</code>"
+ }
+ ]
+ },
+ "vkCmdDispatchGraphIndirectCountAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-magFilter-04553",
+ "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>magFilter</code> or <code>minFilter</code> equal to <code>VK_FILTER_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-mipmapMode-04770",
+ "text": " If a <a href=\"#VkSampler\">VkSampler</a> created with <code>mipmapMode</code> equal to <code>VK_SAMPLER_MIPMAP_MODE_LINEAR</code> and <code>compareEnable</code> equal to <code>VK_FALSE</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-06479",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is sampled with <a href=\"#textures-depth-compare-operation\">depth comparison</a>, the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-02691",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using atomic operations as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-07888",
+ "text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer&#8217;s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-02692",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-02693",
+ "text": " If the <a href=\"#VK_EXT_filter_cubic\">VK_EXT_filter_cubic</a> extension is not enabled and any <a href=\"#VkImageView\">VkImageView</a> is sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command, it <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-filterCubic-02694",
+ "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering, as specified by <a href=\"#VkFilterCubicImageViewImageFormatPropertiesEXT\">VkFilterCubicImageViewImageFormatPropertiesEXT</a>::<code>filterCubic</code> returned by <a href=\"#vkGetPhysicalDeviceImageFormatProperties2\">vkGetPhysicalDeviceImageFormatProperties2</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-filterCubicMinmax-02695",
+ "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_EXT</code> with a reduction mode of either <code>VK_SAMPLER_REDUCTION_MODE_MIN</code> or <code>VK_SAMPLER_REDUCTION_MODE_MAX</code> as a result of this command <strong class=\"purple\">must</strong> have a <a href=\"#VkImageViewType\">VkImageViewType</a> and format that supports cubic filtering together with minmax filtering, as specified by <a href=\"#VkFilterCubicImageViewImageFormatPropertiesEXT\">VkFilterCubicImageViewImageFormatPropertiesEXT</a>::<code>filterCubicMinmax</code> returned by <a href=\"#vkGetPhysicalDeviceImageFormatProperties2\">vkGetPhysicalDeviceImageFormatProperties2</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-flags-02696",
+ "text": " Any <a href=\"#VkImage\">VkImage</a> created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> containing <code>VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV</code> sampled as a result of this command <strong class=\"purple\">must</strong> only be sampled using a <a href=\"#VkSamplerAddressMode\">VkSamplerAddressMode</a> of <code>VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpTypeImage-07027",
+ "text": " For any <a href=\"#VkImageView\">VkImageView</a> being written as a storage image where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code>, the view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpTypeImage-07028",
+ "text": " For any <a href=\"#VkImageView\">VkImageView</a> being read as a storage image where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code>, the view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpTypeImage-07029",
+ "text": " For any <a href=\"#VkBufferView\">VkBufferView</a> being written as a storage texel buffer where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code>, the view&#8217;s <a href=\"#VkFormatProperties3\">buffer features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpTypeImage-07030",
+ "text": " Any <a href=\"#VkBufferView\">VkBufferView</a> being read as a storage texel buffer where the image format field of the <code>OpTypeImage</code> is <code>Unknown</code> then the view&#8217;s <a href=\"#VkFormatProperties3\">buffer features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08600",
+ "text": " For each set <em>n</em> that is statically used by <a href=\"#shaders-binding\">a bound shader</a>, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for set <em>n</em>, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> or <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> array that was used to create the current <a href=\"#VkPipeline\">VkPipeline</a> or <a href=\"#VkShaderEXT\">VkShaderEXT</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08601",
+ "text": " For each push constant that is statically used by <a href=\"#shaders-binding\">a bound shader</a>, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for push constants, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> or <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> and <a href=\"#VkPushConstantRange\">VkPushConstantRange</a> arrays used to create the current <a href=\"#VkPipeline\">VkPipeline</a> or <a href=\"#VkShaderEXT\">VkShaderEXT</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-maintenance4-08602",
+ "text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by <a href=\"#shaders-binding\">a bound shader</a>, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for push constants, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> or <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> and <a href=\"#VkPushConstantRange\">VkPushConstantRange</a> arrays used to create the current <a href=\"#VkPipeline\">VkPipeline</a> or <a href=\"#VkShaderEXT\">VkShaderEXT</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <a href=\"#vkCmdBindDescriptorSets\">vkCmdBindDescriptorSets</a>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point used by this command and the bound <a href=\"#VkPipeline\">VkPipeline</a> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08115",
+ "text": " If the descriptors used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point were specified via <a href=\"#vkCmdBindDescriptorSets\">vkCmdBindDescriptorSets</a>, the bound <a href=\"#VkPipeline\">VkPipeline</a> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <a href=\"#vkCmdSetDescriptorBufferOffsetsEXT\">vkCmdSetDescriptorBufferOffsetsEXT</a>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point used by this command and the bound <a href=\"#VkPipeline\">VkPipeline</a> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08604",
+ "text": " Descriptors in bound descriptor buffers, specified via <a href=\"#vkCmdSetDescriptorBufferOffsetsEXT\">vkCmdSetDescriptorBufferOffsetsEXT</a>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08117",
+ "text": " If the descriptors used by the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point were specified via <a href=\"#vkCmdSetDescriptorBufferOffsetsEXT\">vkCmdSetDescriptorBufferOffsetsEXT</a>, the bound <a href=\"#VkPipeline\">VkPipeline</a> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08119",
+ "text": " If a descriptor is dynamically used with a <a href=\"#VkPipeline\">VkPipeline</a> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08605",
+ "text": " If a descriptor is dynamically used with a <a href=\"#VkShaderEXT\">VkShaderEXT</a> created with a <code>VkDescriptorSetLayout</code> that was created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08606",
+ "text": " If the <a href=\"#features-shaderObject\"><code>shaderObject</code></a> feature is not enabled, a valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08607",
+ "text": " If the <a href=\"#features-shaderObject\"><code>shaderObject</code></a> is enabled, either a valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command, or a valid combination of valid and <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> shader objects <strong class=\"purple\">must</strong> be bound to every supported shader stage corresponding to the pipeline bind point used by this command"
+ },
+ {
+ "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"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08609",
+ "text": " If the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command or any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a <a href=\"#VkSampler\">VkSampler</a> object that uses unnormalized coordinates, that sampler <strong class=\"purple\">must</strong> not be used to sample from any <a href=\"#VkImage\">VkImage</a> with a <a href=\"#VkImageView\">VkImageView</a> of the type <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, <code>VK_IMAGE_VIEW_TYPE_1D_ARRAY</code>, <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code> or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>, in any shader stage"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08610",
+ "text": " If the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command or any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a <a href=\"#VkSampler\">VkSampler</a> object that uses unnormalized coordinates, that sampler <strong class=\"purple\">must</strong> not be used with any of the SPIR-V <code>OpImageSample*</code> or <code>OpImageSparseSample*</code> instructions with <code>ImplicitLod</code>, <code>Dref</code> or <code>Proj</code> in their name, in any shader stage"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08611",
+ "text": " If the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command or any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a <a href=\"#VkSampler\">VkSampler</a> object that uses unnormalized coordinates, that sampler <strong class=\"purple\">must</strong> not be used with any of the SPIR-V <code>OpImageSample*</code> or <code>OpImageSparseSample*</code> instructions that includes a LOD bias or any offset values, in any shader stage"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-uniformBuffers-06935",
+ "text": " If any stage of the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT</code> or <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT</code> for <code>uniformBuffers</code>, and the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, that stage <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08612",
+ "text": " If the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, and any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-storageBuffers-06936",
+ "text": " If any stage of the <a href=\"#VkPipeline\">VkPipeline</a> object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT</code> or <code>VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT</code> for <code>storageBuffers</code>, and the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, that stage <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08613",
+ "text": " If the <a href=\"#features-robustBufferAccess\"><code>robustBufferAccess</code></a> feature is not enabled, and any <a href=\"#VkShaderEXT\">VkShaderEXT</a> bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-02707",
+ "text": " If <code>commandBuffer</code> is an unprotected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, any resource accessed by <a href=\"#shaders-binding\">bound shaders</a> <strong class=\"purple\">must</strong> not be a protected resource"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-06550",
+ "text": " If <a href=\"#shaders-binding\">a bound shader</a> accesses a <a href=\"#VkSampler\">VkSampler</a> or <a href=\"#VkImageView\">VkImageView</a> object that enables <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a>, that object <strong class=\"purple\">must</strong> only be used with <code>OpImageSample*</code> or <code>OpImageSparseSample*</code> instructions"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-ConstOffset-06551",
+ "text": " If <a href=\"#shaders-binding\">a bound shader</a> accesses a <a href=\"#VkSampler\">VkSampler</a> or <a href=\"#VkImageView\">VkImageView</a> object that enables <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a>, that object <strong class=\"purple\">must</strong> not use the <code>ConstOffset</code> and <code>Offset</code> operands"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-viewType-07752",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the image view&#8217;s <code>viewType</code> <strong class=\"purple\">must</strong> match the <code>Dim</code> operand of the <code>OpTypeImage</code> as described in <a href=\"#textures-operation-validation\">Instruction/Sampler/Image View Validation</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-format-07753",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed as a result of this command, then the <a href=\"#formats-numericformat\">numeric type</a> of the image view&#8217;s <code>format</code> and the <code>Sampled</code> <code>Type</code> operand of the <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWrite-08795",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with a format other than <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWrite-08796",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> created with the format <code>VK_FORMAT_A8_UNORM_KHR</code> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have four components"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWrite-04469",
+ "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-SampledType-04470",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit component width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-SampledType-04471",
+ "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a component width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-SampledType-04472",
+ "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit component width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-SampledType-04473",
+ "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a component width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-sparseImageInt64Atomics-04474",
+ "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-sparseImageInt64Atomics-04475",
+ "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWeightedSampleQCOM-06971",
+ "text": " If <code>OpImageWeightedSampleQCOM</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWeightedSampleQCOM-06972",
+ "text": " If <code>OpImageWeightedSampleQCOM</code> uses a <a href=\"#VkImageView\">VkImageView</a> as a sample weight image as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBoxFilterQCOM-06973",
+ "text": " If <code>OpImageBoxFilterQCOM</code> is used to sample a <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBlockMatchSSDQCOM-06974",
+ "text": " If <code>OpImageBlockMatchSSDQCOM</code> is used to read from an <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBlockMatchSADQCOM-06975",
+ "text": " If <code>OpImageBlockMatchSADQCOM</code> is used to read from an <a href=\"#VkImageView\">VkImageView</a> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBlockMatchSADQCOM-06976",
+ "text": " If <code>OpImageBlockMatchSADQCOM</code> or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates <strong class=\"purple\">must</strong> not fail <a href=\"#textures-integer-coordinate-validation\">integer texel coordinate validation</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWeightedSampleQCOM-06977",
+ "text": " If <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWeightedSampleQCOM-06978",
+ "text": " If any command other than <code>OpImageWeightedSampleQCOM</code>, <code>OpImageBoxFilterQCOM</code>, <code>OpImageBlockMatchSSDQCOM</code>, or <code>OpImageBlockMatchSADQCOM</code> uses a <a href=\"#VkSampler\">VkSampler</a> as a result of this command, then the sampler <strong class=\"purple\">must</strong> not have been created with <code>VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-07288",
+ "text": " Any shader invocation executed by this command <strong class=\"purple\">must</strong> <a href=\"#shaders-termination\">terminate</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-09181",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-09182",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a primary command buffer"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09183",
+ "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be the device address of an allocated memory range at least as large as the value of <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code> returned by <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a> for the currently bound execution graph pipeline"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09184",
+ "text": " <code>scratch</code> <strong class=\"purple\">must</strong> be a device address within a <a href=\"#VkBuffer\">VkBuffer</a> created with the <code>VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX</code> or <code>VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX</code> flag"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09185",
+ "text": " Device memory in the range [<code>scratch</code>,<code>scratch</code><br> <a href=\"#VkExecutionGraphPipelineScratchSizeAMDX\">VkExecutionGraphPipelineScratchSizeAMDX</a>::<code>size</code>) <strong class=\"purple\">must</strong> have been initialized with <a href=\"#vkCmdInitializeGraphScratchMemoryAMDX\">vkCmdInitializeGraphScratchMemoryAMDX</a> using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-maxComputeWorkGroupCount-09186",
+ "text": " Execution of this command <strong class=\"purple\">must</strong> not cause a node to be dispatched with a larger number of workgroups than that specified by either a <code>MaxNumWorkgroupsAMDX</code> decoration in the dispatched node or <a href=\"#limits-maxComputeWorkGroupCount\"><code>maxComputeWorkGroupCount</code></a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-maxExecutionGraphShaderPayloadCount-09187",
+ "text": " Execution of this command <strong class=\"purple\">must</strong> not cause any shader to initialize more than <a href=\"#limits-maxExecutionGraphShaderPayloadCount\"><code>maxExecutionGraphShaderPayloadCount</code></a> output payloads"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-NodeMaxPayloadsAMDX-09188",
+ "text": " Execution of this command <strong class=\"purple\">must</strong> not cause any shader that declares <code>NodeMaxPayloadsAMDX</code> to initialize more output payloads than specified by the max number of payloads for that decoration. This requirement applies to each <code>NodeMaxPayloadsAMDX</code> decoration separately"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09159",
+ "text": " <code>countInfo</code> <strong class=\"purple\">must</strong> be a device pointer to a memory allocation containing a valid <a href=\"#VkDispatchGraphCountInfoAMDX\">VkDispatchGraphCountInfoAMDX</a> structure when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09160",
+ "text": " <code>countInfo</code> <strong class=\"purple\">must</strong> be a device address within a <a href=\"#VkBuffer\">VkBuffer</a> created with the <code>VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT</code> flag"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09161",
+ "text": " <code>countInfo</code> <strong class=\"purple\">must</strong> be a multiple of <a href=\"#limits-executionGraphDispatchAddressAlignment\"><code>executionGraphDispatchAddressAlignment</code></a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09162",
+ "text": " <code>countInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a device pointer to a memory allocation at least as large as the product of <code>count</code> and <code>stride</code> when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09163",
+ "text": " <code>countInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a device address within a <a href=\"#VkBuffer\">VkBuffer</a> created with the <code>VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT</code> flag"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09164",
+ "text": " <code>countInfo-&gt;infos</code> <strong class=\"purple\">must</strong> be a multiple of <a href=\"#limits-executionGraphDispatchAddressAlignment\"><code>executionGraphDispatchAddressAlignment</code></a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-infos-09165",
+ "text": " Device memory locations at indexes in the range [<code>infos</code>, <code>infos</code> + (<code>count</code>*<code>stride</code>)), at a granularity of <code>stride</code> <strong class=\"purple\">must</strong> contain valid <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structures in the first 24 bytes when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09166",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>countInfo-&gt;infos</code>, <code>payloads</code> <strong class=\"purple\">must</strong> be a device pointer to a memory allocation at least as large as the product of <code>payloadCount</code> and <code>payloadStride</code> when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09167",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>countInfo-&gt;infos</code>, <code>payloads</code> <strong class=\"purple\">must</strong> be a device address within a <a href=\"#VkBuffer\">VkBuffer</a> created with the <code>VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT</code> flag"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09168",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>countInfo-&gt;infos</code>, <code>payloads</code> <strong class=\"purple\">must</strong> be a multiple of <a href=\"#limits-executionGraphDispatchAddressAlignment\"><code>executionGraphDispatchAddressAlignment</code></a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09169",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>countInfo-&gt;infos</code>, <code>nodeIndex</code> <strong class=\"purple\">must</strong> be a valid node index in the currently bound execution graph pipeline, as returned by <a href=\"#vkGetExecutionGraphPipelineNodeIndexAMDX\">vkGetExecutionGraphPipelineNodeIndexAMDX</a> when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09170",
+ "text": " For each <a href=\"#VkDispatchGraphInfoAMDX\">VkDispatchGraphInfoAMDX</a> structure in <code>countInfo-&gt;infos</code>, device memory locations at indexes in the range [<code>payloads</code>, <code>payloads</code> + (<code>payloadCount</code> * <code>payloadStride</code>)), at a granularity of <code>payloadStride</code> <strong class=\"purple\">must</strong> contain a payload matching the size of the input payload expected by the node in <code>nodeIndex</code> in the first bytes when this command is executed on the device"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-parameter",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-recording",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-cmdpool",
+ "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-renderpass",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-videocoding",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-bufferlevel",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a primary <code>VkCommandBuffer</code>"
+ }
+ ]
+ },
+ "VkDispatchGraphInfoAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-VkDispatchGraphInfoAMDX-payloadCount-09171",
+ "text": " <code>payloadCount</code> <strong class=\"purple\">must</strong> be no greater than <a href=\"#limits-maxExecutionGraphShaderPayloadCount\"><code>maxExecutionGraphShaderPayloadCount</code></a>"
+ }
+ ]
+ },
"vkEnumerateInstanceLayerProperties": {
"core": [
{
@@ -72210,6 +73934,14 @@
}
]
},
+ "VkPhysicalDeviceMaintenance5FeaturesKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceMaintenance5FeaturesKHR-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR</code>"
+ }
+ ]
+ },
"VkPhysicalDeviceDynamicRenderingFeatures": {
"core": [
{
@@ -72490,6 +74222,14 @@
}
]
},
+ "VkPhysicalDeviceShaderEnqueueFeaturesAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceShaderEnqueueFeaturesAMDX-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX</code>"
+ }
+ ]
+ },
"VkPhysicalDevicePushDescriptorPropertiesKHR": {
"core": [
{
@@ -72618,6 +74358,14 @@
}
]
},
+ "VkPhysicalDeviceMaintenance5PropertiesKHR": {
+ "core": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceMaintenance5PropertiesKHR-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR</code>"
+ }
+ ]
+ },
"VkPhysicalDeviceMeshShaderPropertiesNV": {
"core": [
{
@@ -73030,6 +74778,14 @@
}
]
},
+ "VkPhysicalDeviceShaderEnqueuePropertiesAMDX": {
+ "core": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceShaderEnqueuePropertiesAMDX-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX</code>"
+ }
+ ]
+ },
"vkGetPhysicalDeviceMultisamplePropertiesEXT": {
"core": [
{
@@ -73438,7 +75194,11 @@
},
{
"vuid": "VUID-VkPhysicalDeviceExternalBufferInfo-pNext-pNext",
- "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkBufferUsageFlags2CreateInfoKHR\">VkBufferUsageFlags2CreateInfoKHR</a>"
+ },
+ {
+ "vuid": "VUID-VkPhysicalDeviceExternalBufferInfo-sType-unique",
+ "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
},
{
"vuid": "VUID-VkPhysicalDeviceExternalBufferInfo-flags-parameter",
@@ -74762,7 +76522,7 @@
},
{
"vuid": "VUID-StandaloneSpirv-OpTypeRuntimeArray-04680",
- "text": " <code>OpTypeRuntimeArray</code> <strong class=\"purple\">must</strong> only be used for the last member of a <code>Block</code>-decorated <code>OpTypeStruct</code> in <code>StorageBuffer</code> or <code>PhysicalStorageBuffer</code> {StorageClass}; <code>BufferBlock</code>-decorated <code>OpTypeStruct</code> in <code>Uniform</code> {StorageClass}; the outermost dimension of an arrayed variable in the <code>StorageBuffer</code>, <code>Uniform</code>, or <code>UniformConstant</code> {StorageClass}"
+ "text": " <code>OpTypeRuntimeArray</code> <strong class=\"purple\">must</strong> only be used for:<div class=\"ulist\">\n<ul>\n<li>\n<p>the last member of a <code>Block</code>-decorated <code>OpTypeStruct</code> in\n<code>StorageBuffer</code> or <code>PhysicalStorageBuffer</code> storage {StorageClass}</p>\n</li>\n<li>\n<p><code>BufferBlock</code>-decorated <code>OpTypeStruct</code> in the <code>Uniform</code>\nstorage {StorageClass}</p>\n</li>\n<li>\n<p>the outermost dimension of an arrayed variable in the\n<code>StorageBuffer</code>, <code>Uniform</code>, or <code>UniformConstant</code> storage\n{StorageClass}</p>\n</li>\n<li>\n<p>variables in the <code>NodePayloadAMDX</code> storage {StorageClass} when the\n<code>CoalescingAMDX</code> <code>Execution</code> <code>Mode</code> is specified</p>\n</li>\n</ul>\n</div>"
},
{
"vuid": "VUID-StandaloneSpirv-Function-04681",
@@ -74989,8 +76749,12 @@
"text": " In mesh shaders using the <code>MeshEXT</code> {ExecutionModel} the <code>OutputPrimitivesEXT</code> {ExecutionMode} <strong class=\"purple\">must</strong> be greater than 0"
},
{
- "vuid": "VUID-StandaloneSpirv-MeshEXT-07728",
- "text": " In mesh shaders using the <code>MeshEXT</code> or <code>MeshNV</code> {ExecutionModel} and the <code>OutputPoints</code> {ExecutionMode}, if the number of output points is greater than 0, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to for each output point"
+ "vuid": "VUID-StandaloneSpirv-maintenance5-09189",
+ "text": " In mesh shaders using the <code>MeshEXT</code> or <code>MeshNV</code> {ExecutionModel} and the <code>OutputPoints</code> {ExecutionMode}, if the number of output points is greater than 0, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to for each output point if <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is not enabled"
+ },
+ {
+ "vuid": "VUID-StandaloneSpirv-maintenance5-09190",
+ "text": " If <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is enabled and a <code>PointSize</code> decorated variable is written to, all execution paths <strong class=\"purple\">must</strong> write to a <code>PointSize</code> decorated variable"
},
{
"vuid": "VUID-StandaloneSpirv-Input-07290",
@@ -75831,6 +77595,34 @@
{
"vuid": "VUID-RuntimeSpirv-minSampleShading-08732",
"text": " If <a href=\"#primsrast-sampleshading\">sample shading</a> is enabled and any of the <code>OpColorAttachmentReadEXT</code>, <code>OpDepthAttachmentReadEXT</code>, or <code>OpStencilAttachmentReadEXT</code> operations are used, then <code>minSampleShading</code> <strong class=\"purple\">must</strong> be 1.0"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-ShaderEnqueueAMDX-09191",
+ "text": " The <code>ShaderEnqueueAMDX</code> capability <strong class=\"purple\">must</strong> only be used in shaders with the <code>GLCompute</code> execution model"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-NodePayloadAMDX-09192",
+ "text": " Variables in the <code>NodePayloadAMDX</code> storage class <strong class=\"purple\">must</strong> only be declared in the <code>GLCompute</code> execution model"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxExecutionGraphShaderPayloadSize-09193",
+ "text": " Variables declared in the <code>NodePayloadAMDX</code> storage class <strong class=\"purple\">must</strong> not be larger than the <a href=\"#limits-maxExecutionGraphShaderPayloadSize\"><code>maxExecutionGraphShaderPayloadSize</code></a> limit"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxExecutionGraphShaderPayloadSize-09194",
+ "text": " Variables declared in the <code>NodeOutputPayloadAMDX</code> storage class <strong class=\"purple\">must</strong> not be larger than the <a href=\"#limits-maxExecutionGraphShaderPayloadSize\"><code>maxExecutionGraphShaderPayloadSize</code></a> limit"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxExecutionGraphShaderPayloadSize-09195",
+ "text": " For a given entry point, the sum of the size of any variable in the <code>NodePayloadAMDX</code> storage class, and the combined size of all statically initialized variables in the <code>NodeOutputPayloadAMDX</code> storage class <strong class=\"purple\">must</strong> not be greater than <a href=\"#limits-maxExecutionGraphShaderPayloadSize\"><code>maxExecutionGraphShaderPayloadSize</code></a>"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxExecutionGraphShaderPayloadCount-09196",
+ "text": " Shaders <strong class=\"purple\">must</strong> not statically initialize more than <a href=\"#limits-maxExecutionGraphShaderPayloadCount\"><code>maxExecutionGraphShaderPayloadCount</code></a> variables in the <code>NodeOutputPayloadAMDX</code> storage class"
+ },
+ {
+ "vuid": "VUID-RuntimeSpirv-maxExecutionGraphShaderOutputNodes-09197",
+ "text": " Shaders <strong class=\"purple\">must</strong> not include more than <a href=\"#limits-maxExecutionGraphShaderOutputNodes\"><code>maxExecutionGraphShaderOutputNodes</code></a> instances of <code>OpInitializeNodePayloadsAMDX</code>"
}
]
},
diff --git a/registry/vk.xml b/registry/vk.xml
index 5488ca7..898bd9f 100644
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -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> 259</type>
+#define <name>VK_HEADER_VERSION</name> 260</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
@@ -390,6 +390,8 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type requires="VkBuildMicromapFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkBuildMicromapFlagsEXT</name>;</type>
<type requires="VkMicromapCreateFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkMicromapCreateFlagsEXT</name>;</type>
<type category="bitmask">typedef <type>VkFlags</type> <name>VkDirectDriverLoadingFlagsLUNARG</name>;</type>
+ <type bitvalues="VkPipelineCreateFlagBits2KHR" category="bitmask">typedef <type>VkFlags64</type> <name>VkPipelineCreateFlags2KHR</name>;</type>
+ <type bitvalues="VkBufferUsageFlagBits2KHR" category="bitmask">typedef <type>VkFlags64</type> <name>VkBufferUsageFlags2KHR</name>;</type>
<comment>WSI extensions</comment>
<type requires="VkCompositeAlphaFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkCompositeAlphaFlagsKHR</name>;</type>
@@ -776,6 +778,8 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkMemoryDecompressionMethodFlagBitsNV" category="enum"/>
<type name="VkDepthBiasRepresentationEXT" category="enum"/>
<type name="VkDirectDriverLoadingModeLUNARG" category="enum"/>
+ <type name="VkPipelineCreateFlagBits2KHR" category="enum"/>
+ <type name="VkBufferUsageFlagBits2KHR" category="enum"/>
<type name="VkDisplacementMicromapFormatNV" category="enum"/>
<type name="VkShaderCreateFlagBitsEXT" category="enum"/>
<type name="VkShaderCodeTypeEXT" category="enum"/>
@@ -1183,6 +1187,11 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member><type>uint32_t</type> <name>dstArrayElement</name><comment>Array element within the destination binding to copy to</comment></member>
<member><type>uint32_t</type> <name>descriptorCount</name><comment>Number of descriptors to write (determines the size of the array pointed by pDescriptors)</comment></member>
</type>
+ <type category="struct" name="VkBufferUsageFlags2CreateInfoKHR" structextends="VkBufferViewCreateInfo,VkBufferCreateInfo,VkPhysicalDeviceExternalBufferInfo,VkDescriptorBufferBindingInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>VkBufferUsageFlags2KHR</type> <name>usage</name></member>
+ </type>
<type category="struct" name="VkBufferCreateInfo">
<member values="VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -1450,6 +1459,11 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member><type>VkDeviceSize</type> <name>size</name></member>
<member><type>VkDeviceAddress</type> <name>pipelineDeviceAddressCaptureReplay</name></member>
</type>
+ <type category="struct" name="VkPipelineCreateFlags2CreateInfoKHR" structextends="VkComputePipelineCreateInfo,VkGraphicsPipelineCreateInfo,VkRayTracingPipelineCreateInfoNV,VkRayTracingPipelineCreateInfoKHR">
+ <member values="VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>VkPipelineCreateFlags2KHR</type> <name>flags</name></member>
+ </type>
<type category="struct" name="VkVertexInputBindingDescription">
<member><type>uint32_t</type> <name>binding</name><comment>Vertex buffer binding id</comment></member>
<member><type>uint32_t</type> <name>stride</name><comment>Distance between vertices in bytes (0 = no advancement)</comment></member>
@@ -3665,6 +3679,30 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member limittype="max"><type>VkDeviceSize</type> <name>maxBufferSize</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceMaintenance4PropertiesKHR" alias="VkPhysicalDeviceMaintenance4Properties"/>
+ <type category="struct" name="VkPhysicalDeviceMaintenance5FeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkBool32</type> <name>maintenance5</name></member>
+ </type>
+ <type category="struct" name="VkPhysicalDeviceMaintenance5PropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member limittype="bitmask"><type>VkBool32</type> <name>earlyFragmentMultisampleCoverageAfterSampleCounting</name></member>
+ <member limittype="bitmask"><type>VkBool32</type> <name>earlyFragmentSampleMaskTestBeforeSampleCounting</name></member>
+ <member limittype="bitmask"><type>VkBool32</type> <name>depthStencilSwizzleOneSupport</name></member>
+ <member limittype="bitmask"><type>VkBool32</type> <name>polygonModePointSize</name></member>
+ <member limittype="bitmask"><type>VkBool32</type> <name>nonStrictSinglePixelWideLinesUseParallelogram</name></member>
+ <member limittype="bitmask"><type>VkBool32</type> <name>nonStrictWideLinesUseParallelogram</name></member>
+ </type>
+ <type category="struct" name="VkRenderingAreaInfoKHR">
+ <member values="VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>uint32_t</type> <name>viewMask</name></member>
+ <member optional="true"><type>uint32_t</type> <name>colorAttachmentCount</name></member>
+ <member noautovalidity="true" len="colorAttachmentCount">const <type>VkFormat</type>* <name>pColorAttachmentFormats</name></member>
+ <member noautovalidity="true"><type>VkFormat</type> <name>depthAttachmentFormat</name></member>
+ <member noautovalidity="true"><type>VkFormat</type> <name>stencilAttachmentFormat</name></member>
+ </type>
<type category="struct" name="VkDescriptorSetLayoutSupport" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
@@ -4972,7 +5010,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member><type>uint64_t</type> <name>duration</name></member>
</type>
<type category="struct" name="VkPipelineCreationFeedbackEXT" alias="VkPipelineCreationFeedback"/>
- <type category="struct" name="VkPipelineCreationFeedbackCreateInfo" structextends="VkGraphicsPipelineCreateInfo,VkComputePipelineCreateInfo,VkRayTracingPipelineCreateInfoNV,VkRayTracingPipelineCreateInfoKHR">
+ <type category="struct" name="VkPipelineCreationFeedbackCreateInfo" structextends="VkGraphicsPipelineCreateInfo,VkComputePipelineCreateInfo,VkRayTracingPipelineCreateInfoNV,VkRayTracingPipelineCreateInfoKHR,VkExecutionGraphPipelineCreateInfoAMDX">
<member values="VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkPipelineCreationFeedback</type>* <name>pPipelineCreationFeedback</name><comment>Output pipeline creation feedback.</comment></member>
@@ -5556,7 +5594,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member limittype="exact"><type>VkBool32</type> <name>uniformTexelBufferOffsetSingleTexelAlignment</name></member>
<member limittype="max"><type>VkDeviceSize</type> <name>maxBufferSize</name></member>
</type>
- <type category="struct" name="VkPipelineCompilerControlCreateInfoAMD" structextends="VkGraphicsPipelineCreateInfo,VkComputePipelineCreateInfo">
+ <type category="struct" name="VkPipelineCompilerControlCreateInfoAMD" structextends="VkGraphicsPipelineCreateInfo,VkComputePipelineCreateInfo,VkExecutionGraphPipelineCreateInfoAMDX">
<member values="VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkPipelineCompilerControlFlagsAMD</type> <name>compilerControlFlags</name></member>
@@ -5626,6 +5664,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member noautovalidity="true"><type>VkDeviceAddress</type> <name>deviceAddress</name></member>
<member noautovalidity="true">const <type>void</type>* <name>hostAddress</name></member>
</type>
+ <type category="union" name="VkDeviceOrHostAddressConstAMDX">
+ <member noautovalidity="true"><type>VkDeviceAddress</type> <name>deviceAddress</name></member>
+ <member noautovalidity="true">const <type>void</type>* <name>hostAddress</name></member>
+ </type>
<type category="struct" name="VkAccelerationStructureGeometryTrianglesDataKHR">
<member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -6389,7 +6431,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member><type>VkImageLayout</type> <name>newLayout</name></member>
<member><type>VkImageSubresourceRange</type> <name>subresourceRange</name></member>
</type>
- <type category="struct" name="VkSubresourceHostMemcpySizeEXT" returnedonly="true" structextends="VkSubresourceLayout2EXT">
+ <type category="struct" name="VkSubresourceHostMemcpySizeEXT" returnedonly="true" structextends="VkSubresourceLayout2KHR">
<member values="VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkDeviceSize</type> <name>size</name><comment>Specified in bytes</comment></member>
@@ -7704,7 +7746,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type>
<type category="struct" name="VkGraphicsPipelineLibraryCreateInfoEXT" structextends="VkGraphicsPipelineCreateInfo">
<member values="VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
- <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkGraphicsPipelineLibraryFlagsEXT</type> <name>flags</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
@@ -7758,7 +7800,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>imageCompressionControl</name></member>
</type>
- <type category="struct" name="VkImageCompressionPropertiesEXT" structextends="VkImageFormatProperties2,VkSurfaceFormat2KHR,VkSubresourceLayout2EXT" returnedonly="true">
+ <type category="struct" name="VkImageCompressionPropertiesEXT" structextends="VkImageFormatProperties2,VkSurfaceFormat2KHR,VkSubresourceLayout2KHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkImageCompressionFlagsEXT</type> <name>imageCompressionFlags</name></member>
@@ -7769,16 +7811,18 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>imageCompressionControlSwapchain</name></member>
</type>
- <type category="struct" name="VkImageSubresource2EXT">
- <member values="VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <type category="struct" name="VkImageSubresource2KHR">
+ <member values="VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkImageSubresource</type> <name>imageSubresource</name></member>
</type>
- <type category="struct" name="VkSubresourceLayout2EXT" returnedonly="true">
- <member values="VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <type category="struct" name="VkImageSubresource2EXT" alias="VkImageSubresource2KHR"/>
+ <type category="struct" name="VkSubresourceLayout2KHR" returnedonly="true">
+ <member values="VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkSubresourceLayout</type> <name>subresourceLayout</name></member>
</type>
+ <type category="struct" name="VkSubresourceLayout2EXT" alias="VkSubresourceLayout2KHR"/>
<type category="struct" name="VkRenderPassCreationControlEXT" structextends="VkRenderPassCreateInfo2,VkSubpassDescription2">
<member values="VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -8360,6 +8404,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>rayTracingPositionFetch</name></member>
</type>
+ <type category="struct" name="VkDeviceImageSubresourceInfoKHR">
+ <member values="VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member>const <type>VkImageCreateInfo</type>* <name>pCreateInfo</name></member>
+ <member>const <type>VkImageSubresource2KHR</type>* <name>pSubresource</name></member>
+ </type>
<type category="struct" name="VkPhysicalDeviceShaderCorePropertiesARM" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
@@ -8496,6 +8546,53 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member limittype="bitmask"><type>VkShaderStageFlags</type> <name>cooperativeMatrixSupportedStages</name></member>
</type>
+ <type category="struct" name="VkPhysicalDeviceShaderEnqueuePropertiesAMDX" structextends="VkPhysicalDeviceProperties2">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX"><type>VkStructureType</type> <name>sType</name></member>
+ <member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphDepth</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphShaderOutputNodes</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphShaderPayloadSize</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxExecutionGraphShaderPayloadCount</name></member>
+ <member limittype="noauto"><type>uint32_t</type> <name>executionGraphDispatchAddressAlignment</name></member>
+ </type>
+ <type category="struct" name="VkPhysicalDeviceShaderEnqueueFeaturesAMDX" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX"><type>VkStructureType</type> <name>sType</name></member>
+ <member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkBool32</type> <name>shaderEnqueue</name></member>
+ </type>
+ <type category="struct" name="VkExecutionGraphPipelineCreateInfoAMDX">
+ <member values="VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member optional="true"><type>VkPipelineCreateFlags</type> <name>flags</name></member>
+ <member optional="true"><type>uint32_t</type> <name>stageCount</name></member>
+ <member optional="true" len="stageCount">const <type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name></member>
+ <member optional="true">const <type>VkPipelineLibraryCreateInfoKHR</type>* <name>pLibraryInfo</name></member>
+ <member><type>VkPipelineLayout</type> <name>layout</name></member>
+ <member noautovalidity="true" optional="true"><type>VkPipeline</type> <name>basePipelineHandle</name></member>
+ <member><type>int32_t</type> <name>basePipelineIndex</name></member>
+ </type>
+ <type category="struct" name="VkPipelineShaderStageNodeCreateInfoAMDX" structextends="VkPipelineShaderStageCreateInfo">
+ <member values="VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX"> <type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member optional="true" len="null-terminated">const <type>char</type>* <name>pName</name></member>
+ <member><type>uint32_t</type> <name>index</name></member>
+ </type>
+ <type category="struct" name="VkExecutionGraphPipelineScratchSizeAMDX">
+ <member values="VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX"><type>VkStructureType</type> <name>sType</name></member>
+ <member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkDeviceSize</type> <name>size</name></member>
+ </type>
+ <type category="struct" name="VkDispatchGraphInfoAMDX">
+ <member><type>uint32_t</type> <name>nodeIndex</name></member>
+ <member optional="true"><type>uint32_t</type> <name>payloadCount</name></member>
+ <member noautovalidity="true"><type>VkDeviceOrHostAddressConstAMDX</type> <name>payloads</name></member>
+ <member><type>uint64_t</type> <name>payloadStride</name></member>
+ </type>
+ <type category="struct" name="VkDispatchGraphCountInfoAMDX">
+ <member optional="true"><type>uint32_t</type> <name>count</name></member>
+ <member noautovalidity="true"><type>VkDeviceOrHostAddressConstAMDX</type> <name>infos</name></member>
+ <member><type>uint64_t</type> <name>stride</name></member>
+ </type>
</types>
@@ -8534,6 +8631,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum type="uint32_t" value="16" name="VK_MAX_GLOBAL_PRIORITY_SIZE_KHR"/>
<enum name="VK_MAX_GLOBAL_PRIORITY_SIZE_EXT" alias="VK_MAX_GLOBAL_PRIORITY_SIZE_KHR"/>
<enum type="uint32_t" value="32" name="VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT"/>
+ <enum type="uint32_t" value="(~0U)" name="VK_SHADER_INDEX_UNUSED_AMDX"/>
</enums>
<comment>
@@ -9141,6 +9239,17 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum bitpos="7" name="VK_BUFFER_USAGE_VERTEX_BUFFER_BIT" comment="Can be used as source of fixed-function vertex fetch (VBO)"/>
<enum bitpos="8" name="VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT" comment="Can be the source of indirect parameters (e.g. indirect buffer, parameter buffer)"/>
</enums>
+ <enums name="VkBufferUsageFlagBits2KHR" type="bitmask" bitwidth="64">
+ <enum bitpos="0" name="VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR"/>
+ <enum bitpos="1" name="VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR"/>
+ <enum bitpos="2" name="VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR"/>
+ <enum bitpos="3" name="VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR"/>
+ <enum bitpos="4" name="VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR"/>
+ <enum bitpos="5" name="VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR"/>
+ <enum bitpos="6" name="VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR"/>
+ <enum bitpos="7" name="VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR"/>
+ <enum bitpos="8" name="VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR"/>
+ </enums>
<enums name="VkBufferCreateFlagBits" type="bitmask">
<enum bitpos="0" name="VK_BUFFER_CREATE_SPARSE_BINDING_BIT" comment="Buffer should support sparse backing"/>
<enum bitpos="1" name="VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT" comment="Buffer should support sparse backing with partial residency"/>
@@ -9177,11 +9286,16 @@ typedef void* <name>MTLSharedEvent_id</name>;
</enums>
<enums name="VkSamplerCreateFlagBits" type="bitmask">
</enums>
- <enums name="VkPipelineCreateFlagBits" type="bitmask" comment="Note that the gap at bitpos 10 is unused, and can be reserved">
+ <enums name="VkPipelineCreateFlagBits" type="bitmask">
<enum bitpos="0" name="VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"/>
<enum bitpos="1" name="VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"/>
<enum bitpos="2" name="VK_PIPELINE_CREATE_DERIVATIVE_BIT"/>
</enums>
+ <enums name="VkPipelineCreateFlagBits2KHR" type="bitmask" bitwidth="64">
+ <enum bitpos="0" name="VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR"/>
+ <enum bitpos="1" name="VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR"/>
+ <enum bitpos="2" name="VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR"/>
+ </enums>
<enums name="VkPipelineShaderStageCreateFlagBits" type="bitmask">
</enums>
<enums name="VkColorComponentFlagBits" type="bitmask">
@@ -11173,6 +11287,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param><type>VkRenderPass</type> <name>renderPass</name></param>
<param><type>VkExtent2D</type>* <name>pGranularity</name></param>
</command>
+ <command>
+ <proto><type>void</type> <name>vkGetRenderingAreaGranularityKHR</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkRenderingAreaInfoKHR</type>* <name>pRenderingAreaInfo</name></param>
+ <param><type>VkExtent2D</type>* <name>pGranularity</name></param>
+ </command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
<proto><type>VkResult</type> <name>vkCreateCommandPool</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
@@ -13518,6 +13638,14 @@ typedef void* <name>MTLSharedEvent_id</name>;
</command>
<command name="vkCmdSetScissorWithCountEXT" alias="vkCmdSetScissorWithCount"/>
<command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state">
+ <proto><type>void</type> <name>vkCmdBindIndexBuffer2KHR</name></proto>
+ <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param><type>VkBuffer</type> <name>buffer</name></param>
+ <param><type>VkDeviceSize</type> <name>offset</name></param>
+ <param><type>VkDeviceSize</type> <name>size</name></param>
+ <param><type>VkIndexType</type> <name>indexType</name></param>
+ </command>
+ <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state">
<proto><type>void</type> <name>vkCmdBindVertexBuffers2</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>uint32_t</type> <name>firstBinding</name></param>
@@ -14369,12 +14497,13 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param><type>VkShaderModuleIdentifierEXT</type>* <name>pIdentifier</name></param>
</command>
<command>
- <proto><type>void</type> <name>vkGetImageSubresourceLayout2EXT</name></proto>
+ <proto><type>void</type> <name>vkGetImageSubresourceLayout2KHR</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkImage</type> <name>image</name></param>
- <param>const <type>VkImageSubresource2EXT</type>* <name>pSubresource</name></param>
- <param><type>VkSubresourceLayout2EXT</type>* <name>pLayout</name></param>
+ <param>const <type>VkImageSubresource2KHR</type>* <name>pSubresource</name></param>
+ <param><type>VkSubresourceLayout2KHR</type>* <name>pLayout</name></param>
</command>
+ <command name="vkGetImageSubresourceLayout2EXT" alias="vkGetImageSubresourceLayout2KHR"/>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
<proto><type>VkResult</type> <name>vkGetPipelinePropertiesEXT</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
@@ -14449,6 +14578,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkReleaseSwapchainImagesInfoEXT</type>* <name>pReleaseInfo</name></param>
</command>
+ <command>
+ <proto><type>void</type> <name>vkGetDeviceImageSubresourceLayoutKHR</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkDeviceImageSubresourceInfoKHR</type>* <name>pInfo</name></param>
+ <param><type>VkSubresourceLayout2KHR</type>* <name>pLayout</name></param>
+ </command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_MEMORY_MAP_FAILED">
<proto><type>VkResult</type> <name>vkMapMemory2KHR</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
@@ -14500,6 +14635,51 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param>
<param optional="true" len="pPropertyCount"><type>VkCooperativeMatrixPropertiesKHR</type>* <name>pProperties</name></param>
</command>
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
+ <proto><type>VkResult</type> <name>vkGetExecutionGraphPipelineScratchSizeAMDX</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param><type>VkPipeline</type> <name>executionGraph</name></param>
+ <param><type>VkExecutionGraphPipelineScratchSizeAMDX</type>* <name>pSizeInfo</name></param>
+ </command>
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
+ <proto><type>VkResult</type> <name>vkGetExecutionGraphPipelineNodeIndexAMDX</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param><type>VkPipeline</type> <name>executionGraph</name></param>
+ <param>const <type>VkPipelineShaderStageNodeCreateInfoAMDX</type>* <name>pNodeInfo</name></param>
+ <param><type>uint32_t</type>* <name>pNodeIndex</name></param>
+ </command>
+ <command successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+ <proto><type>VkResult</type> <name>vkCreateExecutionGraphPipelinesAMDX</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param optional="true"><type>VkPipelineCache</type> <name>pipelineCache</name></param>
+ <param><type>uint32_t</type> <name>createInfoCount</name></param>
+ <param len="createInfoCount">const <type>VkExecutionGraphPipelineCreateInfoAMDX</type>* <name>pCreateInfos</name></param>
+ <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
+ <param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param>
+ </command>
+ <command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
+ <proto><type>void</type> <name>vkCmdInitializeGraphScratchMemoryAMDX</name></proto>
+ <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param><type>VkDeviceAddress</type> <name>scratch</name></param>
+ </command>
+ <command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
+ <proto><type>void</type> <name>vkCmdDispatchGraphAMDX</name></proto>
+ <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param><type>VkDeviceAddress</type> <name>scratch</name></param>
+ <param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
+ </command>
+ <command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
+ <proto><type>void</type> <name>vkCmdDispatchGraphIndirectAMDX</name></proto>
+ <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param><type>VkDeviceAddress</type> <name>scratch</name></param>
+ <param>const <type>VkDispatchGraphCountInfoAMDX</type>* <name>pCountInfo</name></param>
+ </command>
+ <command queues="graphics,compute" tasks="action" renderpass="outside" cmdbufferlevel="primary">
+ <proto><type>void</type> <name>vkCmdDispatchGraphIndirectCountAMDX</name></proto>
+ <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param><type>VkDeviceAddress</type> <name>scratch</name></param>
+ <param><type>VkDeviceAddress</type> <name>countInfo</name></param>
+ </command>
</commands>
<feature api="vulkan,vulkansc" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions">
@@ -16441,8 +16621,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX"/>
<enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_CU_MODULE_NVX"/>
<enum offset="1" extends="VkObjectType" name="VK_OBJECT_TYPE_CU_FUNCTION_NVX"/>
- <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT"/>
- <enum offset="1" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT"/>
<type name="VkCuModuleNVX"/>
<type name="VkCuFunctionNVX"/>
<type name="VkCuModuleCreateInfoNVX"/>
@@ -16454,6 +16632,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkDestroyCuFunctionNVX"/>
<command name="vkCmdCuLaunchKernelNVX"/>
</require>
+ <require depends="VK_EXT_debug_report">
+ <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT"/>
+ <enum offset="1" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT"/>
+ </require>
</extension>
<extension name="VK_NVX_image_view_handle" number="31" type="device" author="NVX" contact="Eric Werness @ewerness-nv" supported="vulkan">
<require>
@@ -17861,11 +18043,36 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_AMD_extension_134&quot;" name="VK_AMD_EXTENSION_134_EXTENSION_NAME"/>
</require>
</extension>
- <extension name="VK_AMD_extension_135" number="135" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
- <require>
- <enum value="0" name="VK_AMD_EXTENSION_135_SPEC_VERSION"/>
- <enum value="&quot;VK_AMD_extension_135&quot;" name="VK_AMD_EXTENSION_135_EXTENSION_NAME"/>
- <enum bitpos="25" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_25_BIT_AMD"/>
+ <extension name="VK_AMDX_shader_enqueue" number="135" author="AMD" depends="VK_KHR_get_physical_device_properties2+VK_KHR_synchronization2+VK_KHR_pipeline_library+VK_KHR_spirv_1_4" type="device" contact="Tobias Hector @tobski" provisional="true" platform="provisional" supported="vulkan">
+ <require>
+ <enum value="1" name="VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION"/>
+ <enum value="&quot;VK_AMDX_shader_enqueue&quot;" name="VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME"/>
+ <enum name="VK_SHADER_INDEX_UNUSED_AMDX"/>
+ <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ <enum bitpos="25" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ <enum offset="0" extends="VkPipelineBindPoint" name="VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ <type name="VkPhysicalDeviceShaderEnqueueFeaturesAMDX"/>
+ <type name="VkPhysicalDeviceShaderEnqueuePropertiesAMDX"/>
+ <type name="VkExecutionGraphPipelineScratchSizeAMDX"/>
+ <type name="VkExecutionGraphPipelineCreateInfoAMDX"/>
+ <type name="VkDispatchGraphInfoAMDX"/>
+ <type name="VkDispatchGraphCountInfoAMDX"/>
+ <type name="VkPipelineShaderStageNodeCreateInfoAMDX"/>
+ <type name="VkDeviceOrHostAddressConstAMDX"/>
+ <command name="vkCreateExecutionGraphPipelinesAMDX"/>
+ <command name="vkGetExecutionGraphPipelineScratchSizeAMDX"/>
+ <command name="vkGetExecutionGraphPipelineNodeIndexAMDX"/>
+ <command name="vkCmdInitializeGraphScratchMemoryAMDX"/>
+ <command name="vkCmdDispatchGraphAMDX"/>
+ <command name="vkCmdDispatchGraphIndirectAMDX"/>
+ <command name="vkCmdDispatchGraphIndirectCountAMDX"/>
+ </require>
+ <require depends="VK_KHR_maintenance5">
+ <enum bitpos="25" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX"/>
</require>
</extension>
<extension name="VK_AMD_extension_136" number="136" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
@@ -18082,7 +18289,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum offset="0" extends="VkQueryType" name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR"/>
<enum offset="1" extends="VkQueryType" name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR"/>
<enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR"/>
- <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT"/>
<enum offset="0" extends="VkIndexType" extnumber="166" name="VK_INDEX_TYPE_NONE_KHR"/>
<enum bitpos="29" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR"/>
<enum bitpos="19" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR"/>
@@ -18144,6 +18350,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require depends="VK_KHR_format_feature_flags2">
<enum bitpos="29" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR"/>
</require>
+ <require depends="VK_EXT_debug_report">
+ <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT"/>
+ </require>
</extension>
<extension name="VK_KHR_ray_tracing_pipeline" number="348" type="device" depends="VK_KHR_spirv_1_4+VK_KHR_acceleration_structure" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1" ratified="vulkan">
<require>
@@ -18247,7 +18456,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR" alias="VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR" alias="VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES"/>
- <enum extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT" alias="VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT"/>
<enum extends="VkObjectType" name="VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR" alias="VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION"/>
<enum extends="VkFormat" name="VK_FORMAT_G8B8G8R8_422_UNORM_KHR" alias="VK_FORMAT_G8B8G8R8_422_UNORM"/>
<enum extends="VkFormat" name="VK_FORMAT_B8G8R8G8_422_UNORM_KHR" alias="VK_FORMAT_B8G8R8G8_422_UNORM"/>
@@ -18318,6 +18526,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
</require>
<require depends="VK_EXT_debug_report">
<enum extends="VkDebugReportObjectTypeEXT" offset="0" name="VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT"/>
+ <enum extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT" alias="VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT"/>
</require>
</extension>
<extension name="VK_KHR_bind_memory2" number="158" type="device" author="KHR" contact="Tobias Hector @tobski" supported="vulkan" promotedto="VK_VERSION_1_1" ratified="vulkan">
@@ -18487,7 +18696,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum offset="0" extends="VkQueryType" name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV"/>
<enum bitpos="5" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV"/>
<enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV"/>
- <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT"/>
<enum extends="VkIndexType" name="VK_INDEX_TYPE_NONE_NV" alias="VK_INDEX_TYPE_NONE_KHR"/>
<type name="VkRayTracingShaderGroupCreateInfoNV"/>
<type name="VkRayTracingShaderGroupTypeNV"/>
@@ -18532,7 +18740,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkWriteDescriptorSetAccelerationStructureNV"/>
<type name="VkAccelerationStructureMemoryRequirementsInfoNV"/>
<type name="VkPhysicalDeviceRayTracingPropertiesNV"/>
- <type name="VkMemoryRequirements2KHR"/>
<type name="VkAccelerationStructureMemoryRequirementsTypeNV"/>
<type name="VkTransformMatrixNV"/>
<type name="VkAabbPositionsNV"/>
@@ -18550,6 +18757,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkCmdWriteAccelerationStructuresPropertiesNV"/>
<command name="vkCompileDeferredNV"/>
</require>
+ <require depends="VK_KHR_get_memory_requirements2">
+ <type name="VkMemoryRequirements2KHR"/>
+ </require>
+ <require depends="VK_EXT_debug_report">
+ <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT"/>
+ </require>
</extension>
<extension name="VK_NV_representative_fragment_test" number="167" type="device" author="NV" contact="Kedarnath Thangudu @kthangudu" depends="VK_KHR_get_physical_device_properties2" supported="vulkan">
<require>
@@ -18616,6 +18829,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum bitpos="16" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_16_BIT_QCOM"/>
<enum bitpos="17" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_17_BIT_QCOM"/>
</require>
+ <require depends="VK_KHR_maintenance5">
+ <enum bitpos="18" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_RESERVED_18_BIT_QCOM"/>
+ </require>
</extension>
<extension name="VK_QCOM_extension_174" number="174" author="QCOM" contact="Bill Licea-Kane @wwlk" supported="disabled">
<require>
@@ -19339,7 +19555,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require>
<enum value="0" name="VK_INTEL_EXTENSION_243_SPEC_VERSION"/>
<enum value="&quot;VK_INTEL_extension_243&quot;" name="VK_INTEL_EXTENSION_243_EXTENSION_NAME"/>
- <enum bitpos="46" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_46_BIT_EXT"/>
+ <enum bitpos="46" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_46_BIT_INTEL"/>
</require>
</extension>
<extension name="VK_MESA_extension_244" number="244" author="MESA" contact="Andres Rodriguez @lostgoat" supported="disabled">
@@ -19908,7 +20124,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkCommandBufferInheritanceRenderPassTransformInfoQCOM"/>
</require>
</extension>
- <extension name="VK_EXT_depth_bias_control" number="284" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" specialuse="d3demulation" supported="vulkan">
+ <extension name="VK_EXT_depth_bias_control" number="284" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" specialuse="d3demulation" supported="vulkan" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_depth_bias_control&quot;" name="VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME"/>
@@ -20734,9 +20950,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkPhysicalDeviceImageCompressionControlFeaturesEXT"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT"/>
<type name="VkImageCompressionControlEXT"/>
- <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT"/>
+ <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT" alias="VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR"/>
<type name="VkSubresourceLayout2EXT"/>
- <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT"/>
+ <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT" alias="VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR"/>
<type name="VkImageSubresource2EXT"/>
<enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT"/>
<type name="VkImageCompressionPropertiesEXT"/>
@@ -21003,7 +21219,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_FUCHSIA_buffer_collection&quot;" name="VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA"/>
<enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA" comment="VkBufferCollectionFUCHSIA"/>
- <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA"/>
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA"/>
@@ -21033,6 +21248,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkDestroyBufferCollectionFUCHSIA"/>
<command name="vkGetBufferCollectionPropertiesFUCHSIA"/>
</require>
+ <require depends="VK_EXT_debug_report">
+ <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT"/>
+ </require>
</extension>
<extension name="VK_FUCHSIA_extension_368" number="368" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled">
<require>
@@ -21440,6 +21658,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkAccelerationStructureTrianglesDisplacementMicromapNV"/>
<type name="VkDisplacementMicromapFormatNV"/>
</require>
+ <require depends="VK_KHR_maintenance5">
+ <enum bitpos="28" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RESERVED_BIT_28_NV"/>
+ </require>
</extension>
<extension name="VK_JUICE_extension_399" number="399" author="JUICE" contact="Dean Beeler @canadacow" supported="disabled">
<require>
@@ -21844,6 +22065,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require>
<enum value="0" name="VK_COREAVI_EXTENSION_446_SPEC_VERSION"/>
<enum value="&quot;VK_COREAVI_extension_446&quot;" name="VK_COREAVI_EXTENSION_446_EXTENSION_NAME"/>
+ <enum bitpos="24" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_24_BIT_COREAVI"/>
</require>
</extension>
<extension name="VK_COREAVI_extension_447" number="447" author="COREAVI" contact="Aidan Fabius @afabius" supported="disabled">
@@ -21890,6 +22112,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum bitpos="43" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_RESERVED_43_BIT_ARM"/>
<enum bitpos="49" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_49_BIT_ARM"/>
<enum bitpos="50" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_50_BIT_ARM"/>
+ <enum bitpos="47" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_RESERVED_47_BIT_ARM" />
</require>
</extension>
<extension name="VK_EXT_external_memory_acquire_unmodified" number="454" type="device" depends="VK_KHR_external_memory" author="EXT" contact="Lina Versace @versalinyaa" supported="vulkan" ratified="vulkan">
@@ -21933,16 +22156,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum offset="20" extends="VkDynamicState" name="VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT"/>
<enum offset="21" extends="VkDynamicState" name="VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT"/>
<enum offset="22" extends="VkDynamicState" name="VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT"/>
- <enum offset="23" extends="VkDynamicState" name="VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV"/>
- <enum offset="24" extends="VkDynamicState" name="VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV"/>
- <enum offset="25" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV"/>
- <enum offset="26" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV"/>
- <enum offset="27" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV"/>
- <enum offset="28" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV"/>
- <enum offset="29" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV"/>
- <enum offset="30" extends="VkDynamicState" name="VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV"/>
- <enum offset="31" extends="VkDynamicState" name="VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV"/>
- <enum offset="32" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV"/>
<type name="VkPhysicalDeviceExtendedDynamicState3FeaturesEXT"/>
<type name="VkPhysicalDeviceExtendedDynamicState3PropertiesEXT"/>
<type name="VkColorBlendEquationEXT"/>
@@ -21968,15 +22181,39 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkCmdSetLineRasterizationModeEXT"/>
<command name="vkCmdSetLineStippleEnableEXT"/>
<command name="vkCmdSetDepthClipNegativeOneToOneEXT"/>
+ </require>
+ <require depends="VK_NV_clip_space_w_scaling">
+ <enum offset="23" extends="VkDynamicState" name="VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV"/>
<command name="vkCmdSetViewportWScalingEnableNV"/>
+ </require>
+ <require depends="VK_NV_viewport_swizzle">
+ <enum offset="24" extends="VkDynamicState" name="VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV"/>
<command name="vkCmdSetViewportSwizzleNV"/>
+ </require>
+ <require depends="VK_NV_fragment_coverage_to_color">
+ <enum offset="25" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV"/>
+ <enum offset="26" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV"/>
<command name="vkCmdSetCoverageToColorEnableNV"/>
<command name="vkCmdSetCoverageToColorLocationNV"/>
+ </require>
+ <require depends="VK_NV_framebuffer_mixed_samples">
+ <enum offset="27" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV"/>
+ <enum offset="28" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV"/>
+ <enum offset="29" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV"/>
<command name="vkCmdSetCoverageModulationModeNV"/>
<command name="vkCmdSetCoverageModulationTableEnableNV"/>
<command name="vkCmdSetCoverageModulationTableNV"/>
+ </require>
+ <require depends="VK_NV_shading_rate_image">
+ <enum offset="30" extends="VkDynamicState" name="VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV"/>
<command name="vkCmdSetShadingRateImageEnableNV"/>
+ </require>
+ <require depends="VK_NV_representative_fragment_test">
+ <enum offset="31" extends="VkDynamicState" name="VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV"/>
<command name="vkCmdSetRepresentativeFragmentTestEnableNV"/>
+ </require>
+ <require depends="VK_NV_coverage_reduction_mode">
+ <enum offset="32" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV"/>
<command name="vkCmdSetCoverageReductionModeNV"/>
</require>
</extension>
@@ -22149,7 +22386,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require>
<enum value="0" name="VK_ANDROID_EXTENSION_469_SPEC_VERSION"/>
<enum value="&quot;VK_ANDROID_extension_469&quot;" name="VK_ANDROID_EXTENSION_469_EXTENSION_NAME"/>
- <enum bitpos="4" extends="VkResolveModeFlagBits" name="VK_RESOLVE_MODE_EXTENSION_469_FLAG_0_BIT"/>
+ <enum bitpos="4" extends="VkResolveModeFlagBits" name="VK_RESOLVE_MODE_EXTENSION_469_FLAG_4_BIT_ANDROID"/>
</require>
</extension>
<extension name="VK_AMD_extension_470" number="470" author="AMD" contact="Stu Smith" supported="disabled">
@@ -22158,10 +22395,132 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_AMD_extension_470&quot;" name="VK_AMD_EXTENSION_470_EXTENSION_NAME"/>
</require>
</extension>
- <extension name="VK_AMD_extension_471" number="471" author="AMD" contact="Stu Smith" supported="disabled">
- <require>
- <enum value="0" name="VK_AMD_EXTENSION_471_SPEC_VERSION"/>
- <enum value="&quot;VK_AMD_extension_471&quot;" name="VK_AMD_EXTENSION_471_EXTENSION_NAME"/>
+ <extension name="VK_KHR_maintenance5" number="471" type="device" depends="VK_VERSION_1_1+VK_KHR_dynamic_rendering" author="KHR" contact="Stu Smith @stu-s" supported="vulkan" ratified="vulkan">
+ <require>
+ <enum value="1" name="VK_KHR_MAINTENANCE_5_SPEC_VERSION"/>
+ <enum value="&quot;VK_KHR_maintenance5&quot;" name="VK_KHR_MAINTENANCE_5_EXTENSION_NAME"/>
+ <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR"/>
+ <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR"/>
+ <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR"/>
+ <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR"/>
+ <type name="VkPhysicalDeviceMaintenance5FeaturesKHR"/>
+ <type name="VkPhysicalDeviceMaintenance5PropertiesKHR"/>
+ <enum offset="0" extends="VkFormat" name="VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR"/>
+ <enum offset="1" extends="VkFormat" name="VK_FORMAT_A8_UNORM_KHR"/>
+ <command name="vkCmdBindIndexBuffer2KHR"/>
+ <command name="vkGetRenderingAreaGranularityKHR"/>
+ <type name="VkRenderingAreaInfoKHR"/>
+ <command name ="vkGetDeviceImageSubresourceLayoutKHR"/>
+ <command name ="vkGetImageSubresourceLayout2KHR"/>
+ <type name="VkDeviceImageSubresourceInfoKHR"/>
+ <type name="VkImageSubresource2KHR"/>
+ <type name="VkSubresourceLayout2KHR"/>
+ <enum offset="2" extends="VkStructureType" extnumber="339" name="VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR"/>
+ <enum offset="3" extends="VkStructureType" extnumber="339" name="VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR"/>
+ </require>
+ <require comment="Split off new 64-bit flags separately, for the moment">
+ <type name="VkPipelineCreateFlags2KHR"/>
+ <type name="VkPipelineCreateFlagBits2KHR"/>
+ <type name="VkPipelineCreateFlags2CreateInfoKHR"/>
+ <type name="VkBufferUsageFlags2KHR"/>
+ <type name="VkBufferUsageFlagBits2KHR"/>
+ <type name="VkBufferUsageFlags2CreateInfoKHR"/>
+ <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR"/>
+ <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR"/>
+ </require>
+ <require depends="VK_VERSION_1_1,VK_KHR_device_group">
+ <enum bitpos="3" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR"/>
+ <enum bitpos="4" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR"/>
+ </require>
+ <require depends="VK_NV_ray_tracing">
+ <enum bitpos="5" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_KHR"/>
+ </require>
+ <require depends="VK_KHR_pipeline_executable_properties">
+ <enum bitpos="6" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR"/>
+ <enum bitpos="7" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR"/>
+ </require>
+ <require depends="VK_VERSION_1_3,VK_EXT_pipeline_creation_cache_control">
+ <enum bitpos="8" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR"/>
+ <enum bitpos="9" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR"/>
+ </require>
+ <require depends="VK_EXT_graphics_pipeline_library">
+ <enum bitpos="10" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_KHR"/>
+ <enum bitpos="23" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_KHR"/>
+ </require>
+ <require depends="VK_KHR_pipeline_library">
+ <enum bitpos="11" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR"/>
+ </require>
+ <require depends="VK_KHR_ray_tracing_pipeline">
+ <enum bitpos="12" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"/>
+ <enum bitpos="13" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR"/>
+ <enum bitpos="14" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"/>
+ <enum bitpos="15" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"/>
+ <enum bitpos="16" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"/>
+ <enum bitpos="17" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"/>
+ <enum bitpos="19" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"/>
+ </require>
+ <require depends="VK_NV_device_generated_commands">
+ <enum bitpos="18" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_KHR"/>
+ </require>
+ <require depends="VK_NV_ray_tracing_motion_blur">
+ <enum bitpos="20" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_KHR"/>
+ </require>
+ <require depends="VK_KHR_dynamic_rendering+VK_KHR_fragment_shading_rate">
+ <enum bitpos="21" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/>
+ </require>
+ <require depends="VK_KHR_dynamic_rendering+VK_EXT_fragment_density_map">
+ <enum bitpos="22" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_KHR"/>
+ </require>
+ <require depends="VK_EXT_opacity_micromap">
+ <enum bitpos="24" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_KHR"/>
+ </require>
+ <require depends="VK_EXT_attachment_feedback_loop_layout">
+ <enum bitpos="25" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_KHR"/>
+ <enum bitpos="26" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_KHR"/>
+ </require>
+ <require depends="VK_EXT_pipeline_protected_access">
+ <enum bitpos="27" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_KHR"/>
+ <enum bitpos="30" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_KHR"/>
+ </require>
+ <require depends="VK_EXT_descriptor_buffer">
+ <enum bitpos="29" extends="VkPipelineCreateFlagBits2KHR" name="VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_KHR"/>
+ </require>
+ <require depends="VK_EXT_conditional_rendering">
+ <enum bitpos="9" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_KHR"/>
+ </require>
+ <require depends="VK_KHR_ray_tracing_pipeline">
+ <enum bitpos="10" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR"/>
+ </require>
+ <require depends="VK_NV_ray_tracing">
+ <enum extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_RAY_TRACING_BIT_KHR" alias="VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR"/>
+ </require>
+ <require depends="VK_EXT_transform_feedback">
+ <enum bitpos="11" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_KHR"/>
+ <enum bitpos="12" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_KHR"/>
+ </require>
+ <require depends="VK_KHR_video_decode_queue">
+ <enum bitpos="13" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR"/>
+ <enum bitpos="14" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR"/>
+ </require>
+ <require depends="VK_KHR_video_encode_queue">
+ <enum bitpos="15" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ <enum bitpos="16" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/>
+ </require>
+ <require depends="VK_VERSION_1_2,VK_KHR_buffer_device_address,VK_EXT_buffer_device_address">
+ <enum bitpos="17" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR"/>
+ </require>
+ <require depends="VK_KHR_acceleration_structure">
+ <enum bitpos="19" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR"/>
+ <enum bitpos="20" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR"/>
+ </require>
+ <require depends="VK_EXT_descriptor_buffer">
+ <enum bitpos="21" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_KHR"/>
+ <enum bitpos="22" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_KHR"/>
+ <enum bitpos="26" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_KHR"/>
+ </require>
+ <require depends="VK_EXT_opacity_micromap">
+ <enum bitpos="23" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_KHR"/>
+ <enum bitpos="24" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_KHR"/>
</require>
</extension>
<extension name="VK_AMD_extension_472" number="472" author="AMD" contact="Stu Smith" supported="disabled">
@@ -22300,16 +22659,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkCmdSetLineRasterizationModeEXT"/>
<command name="vkCmdSetLineStippleEnableEXT"/>
<command name="vkCmdSetDepthClipNegativeOneToOneEXT"/>
- <command name="vkCmdSetViewportWScalingEnableNV"/>
- <command name="vkCmdSetViewportSwizzleNV"/>
- <command name="vkCmdSetCoverageToColorEnableNV"/>
- <command name="vkCmdSetCoverageToColorLocationNV"/>
- <command name="vkCmdSetCoverageModulationModeNV"/>
- <command name="vkCmdSetCoverageModulationTableEnableNV"/>
- <command name="vkCmdSetCoverageModulationTableNV"/>
- <command name="vkCmdSetShadingRateImageEnableNV"/>
- <command name="vkCmdSetRepresentativeFragmentTestEnableNV"/>
- <command name="vkCmdSetCoverageReductionModeNV"/>
</require>
<require depends="VK_EXT_subgroup_size_control,VK_VERSION_1_3">
<enum bitpos="1" extends="VkShaderCreateFlagBitsEXT" name="VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT"/>
@@ -22327,6 +22676,30 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require depends="VK_EXT_fragment_density_map">
<enum bitpos="6" extends="VkShaderCreateFlagBitsEXT" name="VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"/>
</require>
+ <require depends="VK_NV_clip_space_w_scaling">
+ <command name="vkCmdSetViewportWScalingEnableNV"/>
+ </require>
+ <require depends="VK_NV_viewport_swizzle">
+ <command name="vkCmdSetViewportSwizzleNV"/>
+ </require>
+ <require depends="VK_NV_fragment_coverage_to_color">
+ <command name="vkCmdSetCoverageToColorEnableNV"/>
+ <command name="vkCmdSetCoverageToColorLocationNV"/>
+ </require>
+ <require depends="VK_NV_framebuffer_mixed_samples">
+ <command name="vkCmdSetCoverageModulationModeNV"/>
+ <command name="vkCmdSetCoverageModulationTableEnableNV"/>
+ <command name="vkCmdSetCoverageModulationTableNV"/>
+ </require>
+ <require depends="VK_NV_shading_rate_image">
+ <command name="vkCmdSetShadingRateImageEnableNV"/>
+ </require>
+ <require depends="VK_NV_representative_fragment_test">
+ <command name="vkCmdSetRepresentativeFragmentTestEnableNV"/>
+ </require>
+ <require depends="VK_NV_coverage_reduction_mode">
+ <command name="vkCmdSetCoverageReductionModeNV"/>
+ </require>
</extension>
<extension name="VK_EXT_extension_484" number="484" author="KHR" contact="Chris Glover @cdglove" supported="disabled">
<require>
@@ -22344,6 +22717,8 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM"/>
<type name="VkPhysicalDeviceTilePropertiesFeaturesQCOM"/>
<type name="VkTilePropertiesQCOM"/>
+ </require>
+ <require depends="VK_KHR_dynamic_rendering">
<type name="VkRenderingInfoKHR"/>
</require>
</extension>
@@ -22556,6 +22931,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum bitpos="42" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_RESERVED_42_BIT_EXT" />
<enum bitpos="47" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_47_BIT_EXT" />
<enum bitpos="48" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_48_BIT_EXT" />
+ <enum bitpos="48" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_RESERVED_48_BIT_EXT" />
</require>
</extension>
<extension name="VK_EXT_extension_509" number="509" author="EXT" contact="Kevin Petit @kevinpetit" type="device" supported="disabled">
@@ -22661,7 +23037,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_EXT_extension_524&quot;" name="VK_EXT_EXTENSION_524_EXTENSION_NAME"/>
</require>
</extension>
- <extension name="VK_EXT_attachment_feedback_loop_dynamic_state" number="525" type="device" author="EXT" depends="VK_KHR_get_physical_device_properties2+VK_EXT_attachment_feedback_loop_layout" contact="Mike Blumenkrantz @zmike" supported="vulkan">
+ <extension name="VK_EXT_attachment_feedback_loop_dynamic_state" number="525" type="device" author="EXT" depends="VK_KHR_get_physical_device_properties2+VK_EXT_attachment_feedback_loop_layout" contact="Mike Blumenkrantz @zmike" supported="vulkan" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_attachment_feedback_loop_dynamic_state&quot;" name="VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME"/>
@@ -22797,6 +23173,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_KHR_extension_544&quot;" name="VK_KHR_EXTENSION_544_EXTENSION_NAME"/>
</require>
</extension>
+ <extension name="VK_KHR_extension_545" number="545" author="KHR" contact="Kevin Petit @kevinpetit" supported="disabled">
+ <require>
+ <enum value="0" name="VK_KHR_EXTENSION_545_SPEC_VERSION"/>
+ <enum value="&quot;VK_KHR_extension_545&quot;" name="VK_KHR_EXTENSION_545_EXTENSION_NAME"/>
+ </require>
+ </extension>
</extensions>
<formats>
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">
@@ -22843,6 +23225,15 @@ typedef void* <name>MTLSharedEvent_id</name>;
<component name="G" bits="5" numericFormat="UNORM"/>
<component name="B" bits="5" numericFormat="UNORM"/>
</format>
+ <format name="VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16">
+ <component name="A" bits="1" numericFormat="UNORM"/>
+ <component name="B" bits="5" numericFormat="UNORM"/>
+ <component name="G" bits="5" numericFormat="UNORM"/>
+ <component name="R" bits="5" numericFormat="UNORM"/>
+ </format>
+ <format name="VK_FORMAT_A8_UNORM_KHR" class="8-bit alpha" blockSize="1" texelsPerBlock="1">
+ <component name="A" bits="8" numericFormat="UNORM"/>
+ </format>
<format name="VK_FORMAT_R8_UNORM" class="8-bit" blockSize="1" texelsPerBlock="1">
<component name="R" bits="8" numericFormat="UNORM"/>
<spirvimageformat name="R8"/>
@@ -24890,6 +25281,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<spirvcapability name="CooperativeMatrixKHR">
<enable struct="VkPhysicalDeviceCooperativeMatrixFeaturesKHR" feature="cooperativeMatrix" requires="VK_KHR_cooperative_matrix"/>
</spirvcapability>
+ <spirvcapability name="ShaderEnqueueAMDX">
+ <enable struct="VkPhysicalDeviceShaderEnqueueFeaturesAMDX" feature="shaderEnqueue" requires="VK_AMDX_shader_enqueue"/>
+ </spirvcapability>
</spirvcapabilities>
<sync comment="Machine readable representation of the synchronization objects and their mappings">
<syncstage name="VK_PIPELINE_STAGE_2_NONE" alias="VK_PIPELINE_STAGE_NONE">