Update for Vulkan-Docs 1.3.260

This commit is contained in:
Jon Leech
2023-07-28 04:40:18 -07:00
committed by Jon Leech
parent cb7b123f2d
commit 94bb3c998b
18 changed files with 7020 additions and 747 deletions

View File

@@ -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 = [

View File

@@ -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
# 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."""
match = apiVersionNamePat.match(name)
if match is not None:
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"""
# 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)
if match is not None:
major = match.group(1)
minor = match.group(2)
version = major + '.' + minor
(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 'apiext:' + name
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 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)}')

File diff suppressed because one or more lines are too long

View File

@@ -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>
@@ -13517,6 +13637,14 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param len="scissorCount">const <type>VkRect2D</type>* <name>pScissors</name></param>
</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>
@@ -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">
<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="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"/>
<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">
<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="0" name="VK_AMD_EXTENSION_471_SPEC_VERSION"/>
<enum value="&quot;VK_AMD_extension_471&quot;" name="VK_AMD_EXTENSION_471_EXTENSION_NAME"/>
<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">