Update for Vulkan-Docs 1.2.142

This commit is contained in:
Jon Leech 2020-06-01 04:52:39 -07:00 committed by Jon Leech
parent 09531f2793
commit db1a98c6cc
8 changed files with 3050 additions and 1579 deletions

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,7 @@ extern "C" {
#define VK_KHR_deferred_host_operations 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 2
#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 3
#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
typedef struct VkDeferredOperationInfoKHR {
VkStructureType sType;

File diff suppressed because it is too large Load Diff

View File

@ -119,6 +119,7 @@ class GeneratorOptions:
conventions=None,
filename=None,
directory='.',
genpath=None,
apiname=None,
profile=None,
versions='.*',
@ -136,7 +137,8 @@ class GeneratorOptions:
- conventions - may be mandatory for some generators:
an object that implements ConventionsBase
- filename - basename of file to generate, or None to write to stdout.
- directory - directory in which to generate filename
- directory - directory in which to generate files
- genpath - path to previously generated files, such as api.py
- apiname - string matching `<api>` 'apiname' attribute, e.g. 'gl'.
- profile - string specifying API profile , e.g. 'core', or None.
- versions - regex matching API versions to process interfaces for.
@ -176,6 +178,9 @@ class GeneratorOptions:
self.filename = filename
"basename of file to generate, or None to write to stdout."
self.genpath = genpath
"""path to previously generated files, such as api.py"""
self.directory = directory
"directory in which to generate filename"
@ -273,6 +278,10 @@ class OutputGenerator:
self.extBlockSize = 1000
self.madeDirs = {}
# API dictionary, which may be loaded by the beginFile method of
# derived generators.
self.apidict = None
def logMsg(self, level, *args):
"""Write a message of different categories to different
destinations.
@ -575,6 +584,17 @@ class OutputGenerator:
self.should_insert_may_alias_macro = \
self.genOpts.conventions.should_insert_may_alias_macro(self.genOpts)
# Try to import the API dictionary, api.py, if it exists. Nothing in
# api.py cannot be extracted directly from the XML, and in the
# future we should do that.
if self.genOpts.genpath is not None:
try:
sys.path.insert(0, self.genOpts.genpath)
import api
self.apidict = api
except ImportError:
self.apidict = None
self.conventions = genOpts.conventions
# Open a temporary file for accumulating output.

View File

@ -92,6 +92,9 @@ def makeGenOpts(args):
# Output target directory
directory = args.directory
# Path to generated files, particularly api.py
genpath = args.genpath
# Descriptive names for various regexp patterns used to select
# versions and extensions
allFeatures = allExtensions = r'.*'
@ -150,6 +153,7 @@ def makeGenOpts(args):
conventions = conventions,
filename = 'timeMarker',
directory = directory,
genpath = genpath,
apiname = 'vulkan',
profile = None,
versions = featuresPat,
@ -174,6 +178,7 @@ def makeGenOpts(args):
conventions = conventions,
filename = 'api.py',
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = featuresPat,
@ -192,6 +197,7 @@ def makeGenOpts(args):
conventions = conventions,
filename = 'timeMarker',
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = featuresPat,
@ -209,6 +215,7 @@ def makeGenOpts(args):
conventions = conventions,
filename = 'timeMarker',
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = featuresPat,
@ -230,6 +237,7 @@ def makeGenOpts(args):
conventions = conventions,
filename = 'timeMarker',
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = featuresPat,
@ -248,6 +256,7 @@ def makeGenOpts(args):
conventions = conventions,
filename = 'timeMarker',
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = featuresPat,
@ -323,6 +332,7 @@ def makeGenOpts(args):
conventions = conventions,
filename = headername,
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = featuresPat,
@ -361,6 +371,7 @@ def makeGenOpts(args):
conventions = conventions,
filename = 'vulkan_core.h',
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = featuresPat,
@ -392,14 +403,47 @@ def makeGenOpts(args):
conventions = conventions,
filename = 'vulkan10.h',
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = 'VK_VERSION_1_0',
emitversions = 'VK_VERSION_1_0',
defaultExtensions = defaultExtensions,
defaultExtensions = None,
addExtensions = None,
removeExtensions = removeExtensionsPat,
emitExtensions = emitExtensionsPat,
removeExtensions = None,
emitExtensions = None,
prefixText = prefixStrings + vkPrefixStrings,
genFuncPointers = True,
protectFile = protectFile,
protectFeature = False,
protectProto = '#ifndef',
protectProtoStr = 'VK_NO_PROTOTYPES',
apicall = 'VKAPI_ATTR ',
apientry = 'VKAPI_CALL ',
apientryp = 'VKAPI_PTR *',
alignFuncParam = 48)
]
# Unused - vulkan11.h target.
# It is possible to generate a header with just the Vulkan 1.0 +
# extension interfaces defined, but since the promoted KHR extensions
# are now defined in terms of the 1.1 interfaces, such a header is very
# similar to vulkan_core.h.
genOpts['vulkan11.h'] = [
COutputGenerator,
CGeneratorOptions(
conventions = conventions,
filename = 'vulkan11.h',
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = '^VK_VERSION_1_[01]$',
emitversions = '^VK_VERSION_1_[01]$',
defaultExtensions = None,
addExtensions = None,
removeExtensions = None,
emitExtensions = None,
prefixText = prefixStrings + vkPrefixStrings,
genFuncPointers = True,
protectFile = protectFile,
@ -418,6 +462,7 @@ def makeGenOpts(args):
conventions = conventions,
filename = 'alias.h',
directory = directory,
genpath = None,
apiname = 'vulkan',
profile = None,
versions = featuresPat,
@ -519,7 +564,9 @@ if __name__ == '__main__':
parser.add_argument('-time', action='store_true',
help='Enable timing')
parser.add_argument('-validate', action='store_true',
help='Enable group validation')
help='Enable XML group validation')
parser.add_argument('-genpath', action='store', default='gen',
help='Path to generated files')
parser.add_argument('-o', action='store', dest='directory',
default='.',
help='Create target and related files in specified directory')

File diff suppressed because one or more lines are too long

View File

@ -143,7 +143,7 @@ server.
<type requires="ggp_c/vulkan_types.h" name="GgpFrameToken"/>
<type category="define">#define <name>VK_MAKE_VERSION</name>(major, minor, patch) \
(((major) &lt;&lt; 22) | ((minor) &lt;&lt; 12) | (patch))</type>
((((uint32_t)(major)) &lt;&lt; 22) | (((uint32_t)(minor)) &lt;&lt; 12) | ((uint32_t)(patch)))</type>
<type category="define">#define <name>VK_VERSION_MAJOR</name>(version) ((uint32_t)(version) &gt;&gt; 22)</type>
<type category="define">#define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) &gt;&gt; 12) &amp; 0x3ff)</type>
<type category="define">#define <name>VK_VERSION_PATCH</name>(version) ((uint32_t)(version) &amp; 0xfff)</type>
@ -157,7 +157,7 @@ server.
<type category="define">// Vulkan 1.2 version number
#define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_VERSION</type>(1, 2, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 141</type>
#define <name>VK_HEADER_VERSION</name> 142</type>
<type category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_VERSION</type>(1, 2, VK_HEADER_VERSION)</type>
@ -410,20 +410,9 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkRenderPassCreateFlagBits" category="enum"/>
<type name="VkSamplerCreateFlagBits" category="enum"/>
<type name="VkPipelineCacheHeaderVersion" category="enum"/>
<type name="VkPipelineLayoutCreateFlagBits" category="enum"/>
<type name="VkPipelineCacheCreateFlagBits" category="enum"/>
<type name="VkPipelineDepthStencilStateCreateFlagBits" category="enum"/>
<type name="VkPipelineDynamicStateCreateFlagBits" category="enum"/>
<type name="VkPipelineColorBlendStateCreateFlagBits" category="enum"/>
<type name="VkPipelineMultisampleStateCreateFlagBits" category="enum"/>
<type name="VkPipelineRasterizationStateCreateFlagBits" category="enum"/>
<type name="VkPipelineViewportStateCreateFlagBits" category="enum"/>
<type name="VkPipelineTessellationStateCreateFlagBits" category="enum"/>
<type name="VkPipelineInputAssemblyStateCreateFlagBits" category="enum"/>
<type name="VkPipelineVertexInputStateCreateFlagBits" category="enum"/>
<type name="VkPipelineShaderStageCreateFlagBits" category="enum"/>
<type name="VkDescriptorSetLayoutCreateFlagBits" category="enum"/>
<type name="VkBufferViewCreateFlagBits" category="enum"/>
<type name="VkInstanceCreateFlagBits" category="enum"/>
<type name="VkDeviceQueueCreateFlagBits" category="enum"/>
<type name="VkBufferCreateFlagBits" category="enum"/>
@ -1919,7 +1908,7 @@ typedef void <name>CAMetalLayer</name>;
<member noautovalidity="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>deviceGeneratedCommands</name></member>
</type>
<type category="struct" name="VkDevicePrivateDataCreateInfoEXT" allowduplicate="true">
<type category="struct" name="VkDevicePrivateDataCreateInfoEXT" allowduplicate="true" structextends="VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member>const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>privateDataSlotRequestCount</name></member>
@ -2684,7 +2673,7 @@ typedef void <name>CAMetalLayer</name>;
<member optional="true"><type>VkPipelineDiscardRectangleStateCreateFlagsEXT</type> <name>flags</name></member>
<member><type>VkDiscardRectangleModeEXT</type> <name>discardRectangleMode</name></member>
<member optional="true"><type>uint32_t</type> <name>discardRectangleCount</name></member>
<member noautovalidity="true" optional="true" len="discardRectangleCount">const <type>VkRect2D</type>* <name>pDiscardRectangles</name></member>
<member noautovalidity="true" len="discardRectangleCount">const <type>VkRect2D</type>* <name>pDiscardRectangles</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX"><type>VkStructureType</type> <name>sType</name></member>
@ -3642,7 +3631,7 @@ typedef void <name>CAMetalLayer</name>;
<member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
<member>const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>uint32_t</type> <name>exclusiveScissorCount</name></member>
<member len="exclusiveScissorCount" optional="true">const <type>VkRect2D</type>* <name>pExclusiveScissors</name></member>
<member noautovalidity="true" len="exclusiveScissorCount">const <type>VkRect2D</type>* <name>pExclusiveScissors</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceCornerSampledImageFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
@ -3678,8 +3667,8 @@ typedef void <name>CAMetalLayer</name>;
<member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
<member>const <type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>shadingRateImageEnable</name></member>
<member optional="true"><type>uint32_t</type> <name>viewportCount</name></member>
<member len="viewportCount" optional="true">const <type>VkShadingRatePaletteNV</type>* <name>pShadingRatePalettes</name></member>
<member noautovalidity="true"><type>uint32_t</type> <name>viewportCount</name></member>
<member noautovalidity="true" len="viewportCount">const <type>VkShadingRatePaletteNV</type>* <name>pShadingRatePalettes</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceShadingRateImageFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
@ -3824,7 +3813,7 @@ typedef void <name>CAMetalLayer</name>;
<member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
<member>const <type>void</type>* <name>pNext</name></member>
<member><type>VkAccelerationStructureTypeNV</type> <name>type</name></member>
<member noautovalidity="true" optional="true"><type>VkBuildAccelerationStructureFlagsNV</type><name>flags</name></member>
<member optional="true"><type>VkBuildAccelerationStructureFlagsNV</type><name>flags</name></member>
<member optional="true"><type>uint32_t</type> <name>instanceCount</name></member>
<member optional="true"><type>uint32_t</type> <name>geometryCount</name></member>
<member len="geometryCount">const <type>VkGeometryNV</type>* <name>pGeometries</name></member>
@ -4261,15 +4250,15 @@ typedef void <name>CAMetalLayer</name>;
<member><type>VkBool32</type> <name>shaderIntegerFunctions2</name></member>
</type>
<type category="union" name="VkPerformanceValueDataINTEL">
<member><type>uint32_t</type> <name>value32</name></member>
<member><type>uint64_t</type> <name>value64</name></member>
<member><type>float</type> <name>valueFloat</name></member>
<member><type>VkBool32</type> <name>valueBool</name></member>
<member len="null-terminated">const <type>char</type>* <name>valueString</name></member>
<member selection="VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL"><type>uint32_t</type> <name>value32</name></member>
<member selection="VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL"><type>uint64_t</type> <name>value64</name></member>
<member selection="VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL"><type>float</type> <name>valueFloat</name></member>
<member selection="VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL"><type>VkBool32</type> <name>valueBool</name></member>
<member selection="VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL" len="null-terminated">const <type>char</type>* <name>valueString</name></member>
</type>
<type category="struct" name="VkPerformanceValueINTEL">
<member><type>VkPerformanceValueTypeINTEL</type> <name>type</name></member>
<member><type>VkPerformanceValueDataINTEL</type> <name>data</name></member>
<member selector="type"><type>VkPerformanceValueDataINTEL</type> <name>data</name></member>
</type>
<type category="struct" name="VkInitializePerformanceApiInfoINTEL" >
<member values="VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL"><type>VkStructureType</type> <name>sType</name></member>
@ -4377,10 +4366,10 @@ typedef void <name>CAMetalLayer</name>;
<member><type>uint32_t</type> <name>executableIndex</name></member>
</type>
<type category="union" name="VkPipelineExecutableStatisticValueKHR" returnedonly="true">
<member><type>VkBool32</type> <name>b32</name></member>
<member><type>int64_t</type> <name>i64</name></member>
<member><type>uint64_t</type> <name>u64</name></member>
<member><type>double</type> <name>f64</name></member>
<member selection="VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR"><type>VkBool32</type> <name>b32</name></member>
<member selection="VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR"><type>int64_t</type> <name>i64</name></member>
<member selection="VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR"><type>uint64_t</type> <name>u64</name></member>
<member selection="VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR"><type>double</type> <name>f64</name></member>
</type>
<type category="struct" name="VkPipelineExecutableStatisticKHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR"><type>VkStructureType</type> <name>sType</name></member>
@ -4388,7 +4377,7 @@ typedef void <name>CAMetalLayer</name>;
<member><type>char</type> <name>name</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
<member><type>char</type> <name>description</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
<member><type>VkPipelineExecutableStatisticFormatKHR</type> <name>format</name></member>
<member><type>VkPipelineExecutableStatisticValueKHR</type> <name>value</name></member>
<member selector="format"><type>VkPipelineExecutableStatisticValueKHR</type> <name>value</name></member>
</type>
<type category="struct" name="VkPipelineExecutableInternalRepresentationKHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR"><type>VkStructureType</type> <name>sType</name></member>
@ -4685,15 +4674,15 @@ typedef void <name>CAMetalLayer</name>;
<member><type>VkDeviceOrHostAddressConstKHR</type> <name>data</name></member>
</type>
<type category="union" name="VkAccelerationStructureGeometryDataKHR">
<member><type>VkAccelerationStructureGeometryTrianglesDataKHR</type> <name>triangles</name></member>
<member><type>VkAccelerationStructureGeometryAabbsDataKHR</type> <name>aabbs</name></member>
<member><type>VkAccelerationStructureGeometryInstancesDataKHR</type> <name>instances</name></member>
<member selection="VK_GEOMETRY_TYPE_TRIANGLES_KHR"><type>VkAccelerationStructureGeometryTrianglesDataKHR</type> <name>triangles</name></member>
<member selection="VK_GEOMETRY_TYPE_AABBS_KHR"><type>VkAccelerationStructureGeometryAabbsDataKHR</type> <name>aabbs</name></member>
<member selection="VK_GEOMETRY_TYPE_INSTANCES_KHR"><type>VkAccelerationStructureGeometryInstancesDataKHR</type> <name>instances</name></member>
</type>
<type category="struct" name="VkAccelerationStructureGeometryKHR">
<member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member>const <type>void</type>* <name>pNext</name></member>
<member><type>VkGeometryTypeKHR</type> <name>geometryType</name></member>
<member><type>VkAccelerationStructureGeometryDataKHR</type> <name>geometry</name></member>
<member selector="geometryType"><type>VkAccelerationStructureGeometryDataKHR</type> <name>geometry</name></member>
<member optional="true"><type>VkGeometryFlagsKHR</type> <name>flags</name></member>
</type>
<type category="struct" name="VkAccelerationStructureBuildGeometryInfoKHR">
@ -7410,16 +7399,16 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdDebugMarkerBeginEXT</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkDebugMarkerMarkerInfoEXT</type>* <name>pMarkerInfo</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdDebugMarkerEndEXT</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdDebugMarkerInsertEXT</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkDebugMarkerMarkerInfoEXT</type>* <name>pMarkerInfo</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_FORMAT_NOT_SUPPORTED">
@ -8058,16 +8047,16 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdBeginDebugUtilsLabelEXT</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkDebugUtilsLabelEXT</type>* <name>pLabelInfo</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdEndDebugUtilsLabelEXT</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdInsertDebugUtilsLabelEXT</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkDebugUtilsLabelEXT</type>* <name>pLabelInfo</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
@ -8191,7 +8180,7 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkCmdDrawIndexedIndirectCountAMD" alias="vkCmdDrawIndexedIndirectCount"/>
<command queues="graphics,compute,transfer" renderpass="both" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdSetCheckpointNV</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param noautovalidity="true">const <type>void</type>* <name>pCheckpointMarker</name></param>
</command>
<command>
@ -8342,14 +8331,14 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkBindAccelerationStructureMemoryNV" alias="vkBindAccelerationStructureMemoryKHR"/>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdCopyAccelerationStructureNV</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkAccelerationStructureKHR</type> <name>dst</name></param>
<param><type>VkAccelerationStructureKHR</type> <name>src</name></param>
<param><type>VkCopyAccelerationStructureModeKHR</type> <name>mode</name></param>
</command>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdCopyAccelerationStructureKHR</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkCopyAccelerationStructureInfoKHR</type>* <name>pInfo</name></param>
</command>
<command successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
@ -8359,7 +8348,7 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdCopyAccelerationStructureToMemoryKHR</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkCopyAccelerationStructureToMemoryInfoKHR</type>* <name>pInfo</name></param>
</command>
<command successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
@ -8369,7 +8358,7 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdCopyMemoryToAccelerationStructureKHR</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkCopyMemoryToAccelerationStructureInfoKHR</type>* <name>pInfo</name></param>
</command>
<command successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
@ -8379,7 +8368,7 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdWriteAccelerationStructuresPropertiesKHR</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>uint32_t</type> <name>accelerationStructureCount</name></param>
<param len="accelerationStructureCount">const <type>VkAccelerationStructureKHR</type>* <name>pAccelerationStructures</name></param>
<param><type>VkQueryType</type> <name>queryType</name></param>
@ -8389,7 +8378,7 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkCmdWriteAccelerationStructuresPropertiesNV" alias="vkCmdWriteAccelerationStructuresPropertiesKHR"/>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdBuildAccelerationStructureNV</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkAccelerationStructureInfoNV</type>* <name>pInfo</name></param>
<param optional="true"><type>VkBuffer</type> <name>instanceData</name></param>
<param><type>VkDeviceSize</type> <name>instanceOffset</name></param>
@ -8411,7 +8400,7 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdTraceRaysKHR</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkStridedBufferRegionKHR</type>* <name>pRaygenShaderBindingTable</name></param>
<param>const <type>VkStridedBufferRegionKHR</type>* <name>pMissShaderBindingTable</name></param>
<param>const <type>VkStridedBufferRegionKHR</type>* <name>pHitShaderBindingTable</name></param>
@ -8422,7 +8411,7 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdTraceRaysNV</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkBuffer</type> <name>raygenShaderBindingTableBuffer</name></param>
<param><type>VkDeviceSize</type> <name>raygenShaderBindingOffset</name></param>
<param optional="true"><type>VkBuffer</type> <name>missShaderBindingTableBuffer</name></param>
@ -8490,7 +8479,7 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdTraceRaysIndirectKHR</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkStridedBufferRegionKHR</type>* <name>pRaygenShaderBindingTable</name></param>
<param>const <type>VkStridedBufferRegionKHR</type>* <name>pMissShaderBindingTable</name></param>
<param>const <type>VkStridedBufferRegionKHR</type>* <name>pHitShaderBindingTable</name></param>
@ -8603,17 +8592,17 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="graphics,compute,transfer" renderpass="both" cmdbufferlevel="primary,secondary" successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
<proto><type>VkResult</type> <name>vkCmdSetPerformanceMarkerINTEL</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkPerformanceMarkerInfoINTEL</type>* <name>pMarkerInfo</name></param>
</command>
<command queues="graphics,compute,transfer" renderpass="both" cmdbufferlevel="primary,secondary" successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
<proto><type>VkResult</type> <name>vkCmdSetPerformanceStreamMarkerINTEL</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkPerformanceStreamMarkerInfoINTEL</type>* <name>pMarkerInfo</name></param>
</command>
<command queues="graphics,compute,transfer" renderpass="both" cmdbufferlevel="primary,secondary" successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
<proto><type>VkResult</type> <name>vkCmdSetPerformanceOverrideINTEL</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkPerformanceOverrideInfoINTEL</type>* <name>pOverrideInfo</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
@ -8686,14 +8675,14 @@ typedef void <name>CAMetalLayer</name>;
</command>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdBuildAccelerationStructureKHR</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>uint32_t</type> <name>infoCount</name></param>
<param len="infoCount">const <type>VkAccelerationStructureBuildGeometryInfoKHR</type>* <name>pInfos</name></param>
<param len="infoCount">const <type>VkAccelerationStructureBuildOffsetInfoKHR</type>* const* <name>ppOffsetInfos</name></param>
</command>
<command queues="compute" renderpass="outside" cmdbufferlevel="primary,secondary">
<proto><type>void</type> <name>vkCmdBuildAccelerationStructureIndirectKHR</name></proto>
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkAccelerationStructureBuildGeometryInfoKHR</type>* <name>pInfo</name></param>
<param><type>VkBuffer</type> <name>indirectBuffer</name></param>
<param><type>VkDeviceSize</type> <name>indirectOffset</name></param>
@ -8772,30 +8761,101 @@ typedef void <name>CAMetalLayer</name>;
<feature api="vulkan" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions">
<require comment="Header boilerplate">
<type name="vk_platform"/>
<type name="VK_DEFINE_HANDLE"/>
<type name="VK_DEFINE_NON_DISPATCHABLE_HANDLE"/>
</require>
<require comment="API version">
<require comment="Fundamental types used by many commands and structures">
<type name="VkBool32"/>
<type name="VkDeviceAddress"/>
<type name="VkDeviceSize"/>
<type name="VkExtent2D"/>
<type name="VkExtent3D"/>
<type name="VkFlags"/>
<type name="VkOffset2D"/>
<type name="VkOffset3D"/>
<type name="VkRect2D"/>
<type name="VkResult"/>
<type name="VkStructureType"/>
</require>
<require comment="These types are part of the API, though not directly used in API commands or data structures">
<type name="VkBaseInStructure"/>
<type name="VkBaseOutStructure"/>
<type name="VkBufferMemoryBarrier"/>
<type name="VkDispatchIndirectCommand"/>
<type name="VkDrawIndexedIndirectCommand"/>
<type name="VkDrawIndirectCommand"/>
<type name="VkImageMemoryBarrier"/>
<type name="VkMemoryBarrier"/>
<type name="VkObjectType"/>
<type name="VkVendorId"/>
</require>
<require comment="API version macros">
<type name="VK_API_VERSION"/>
<type name="VK_API_VERSION_1_0"/>
<type name="VK_HEADER_VERSION"/>
<type name="VK_HEADER_VERSION_COMPLETE"/>
<type name="VK_MAKE_VERSION"/>
<type name="VK_VERSION_MAJOR"/>
<type name="VK_VERSION_MINOR"/>
<type name="VK_VERSION_PATCH"/>
<type name="VK_HEADER_VERSION"/>
<type name="VK_HEADER_VERSION_COMPLETE"/>
</require>
<require comment="API constants">
<enum name="VK_LOD_CLAMP_NONE"/>
<enum name="VK_REMAINING_MIP_LEVELS"/>
<enum name="VK_REMAINING_ARRAY_LAYERS"/>
<enum name="VK_WHOLE_SIZE"/>
<enum name="VK_ATTACHMENT_UNUSED"/>
<enum name="VK_TRUE"/>
<enum name="VK_FALSE"/>
<type name="VK_NULL_HANDLE"/>
<enum name="VK_LOD_CLAMP_NONE"/>
<enum name="VK_QUEUE_FAMILY_IGNORED"/>
<enum name="VK_REMAINING_ARRAY_LAYERS"/>
<enum name="VK_REMAINING_MIP_LEVELS"/>
<enum name="VK_SUBPASS_EXTERNAL"/>
<enum name="VK_TRUE"/>
<enum name="VK_WHOLE_SIZE"/>
<type name="VK_NULL_HANDLE"/>
<type name="VkPipelineCacheHeaderVersion"/>
</require>
<require comment="Device initialization">
<type name="PFN_vkAllocationFunction"/>
<type name="PFN_vkFreeFunction"/>
<type name="PFN_vkInternalAllocationNotification"/>
<type name="PFN_vkInternalFreeNotification"/>
<type name="PFN_vkReallocationFunction"/>
<type name="PFN_vkVoidFunction"/>
<type name="VkAllocationCallbacks"/>
<type name="VkApplicationInfo"/>
<type name="VkFormat"/>
<type name="VkFormatFeatureFlagBits"/>
<type name="VkFormatFeatureFlags"/>
<type name="VkFormatProperties"/>
<type name="VkImageCreateFlagBits"/>
<type name="VkImageCreateFlags"/>
<type name="VkImageFormatProperties"/>
<type name="VkImageTiling"/>
<type name="VkImageType"/>
<type name="VkImageUsageFlagBits"/>
<type name="VkImageUsageFlags"/>
<type name="VkInstance"/>
<type name="VkInstanceCreateFlags"/>
<type name="VkInstanceCreateInfo"/>
<type name="VkInternalAllocationType"/>
<type name="VkMemoryHeap"/>
<type name="VkMemoryHeapFlagBits"/>
<type name="VkMemoryHeapFlags"/>
<type name="VkMemoryPropertyFlagBits"/>
<type name="VkMemoryPropertyFlags"/>
<type name="VkMemoryType"/>
<type name="VkPhysicalDevice"/>
<type name="VkPhysicalDeviceFeatures"/>
<type name="VkPhysicalDeviceLimits"/>
<type name="VkPhysicalDeviceMemoryProperties"/>
<type name="VkPhysicalDeviceProperties"/>
<type name="VkPhysicalDeviceSparseProperties"/>
<type name="VkPhysicalDeviceType"/>
<type name="VkQueueFamilyProperties"/>
<type name="VkQueueFlagBits"/>
<type name="VkQueueFlags"/>
<type name="VkSampleCountFlagBits"/>
<type name="VkSampleCountFlags"/>
<type name="VkStructureType"/>
<type name="VkSystemAllocationScope"/>
<command name="vkCreateInstance"/>
<command name="vkDestroyInstance"/>
<command name="vkEnumeratePhysicalDevices"/>
@ -8809,24 +8869,39 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkGetDeviceProcAddr"/>
</require>
<require comment="Device commands">
<type name="VkDevice"/>
<type name="VkDeviceCreateFlags"/>
<type name="VkDeviceCreateInfo"/>
<type name="VkDeviceQueueCreateFlagBits"/>
<type name="VkDeviceQueueCreateFlags"/>
<type name="VkDeviceQueueCreateInfo"/>
<command name="vkCreateDevice"/>
<command name="vkDestroyDevice"/>
</require>
<require comment="Extension discovery commands">
<type name="VkExtensionProperties"/>
<command name="vkEnumerateInstanceExtensionProperties"/>
<command name="vkEnumerateDeviceExtensionProperties"/>
</require>
<require comment="Layer discovery commands">
<type name="VkLayerProperties"/>
<command name="vkEnumerateInstanceLayerProperties"/>
<command name="vkEnumerateDeviceLayerProperties"/>
</require>
<require comment="queue commands">
<require comment="Queue commands">
<type name="VkPipelineStageFlagBits"/>
<type name="VkPipelineStageFlags"/>
<type name="VkQueue"/>
<type name="VkSubmitInfo"/>
<command name="vkGetDeviceQueue"/>
<command name="vkQueueSubmit"/>
<command name="vkQueueWaitIdle"/>
<command name="vkDeviceWaitIdle"/>
</require>
<require comment="Memory commands">
<type name="VkMappedMemoryRange"/>
<type name="VkMemoryAllocateInfo"/>
<type name="VkMemoryMapFlags"/>
<command name="vkAllocateMemory"/>
<command name="vkFreeMemory"/>
<command name="vkMapMemory"/>
@ -8836,17 +8911,38 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkGetDeviceMemoryCommitment"/>
</require>
<require comment="Memory management API commands">
<type name="VkDeviceMemory"/>
<type name="VkMemoryRequirements"/>
<command name="vkBindBufferMemory"/>
<command name="vkBindImageMemory"/>
<command name="vkGetBufferMemoryRequirements"/>
<command name="vkGetImageMemoryRequirements"/>
</require>
<require comment="Sparse resource memory management API commands">
<type name="VkBindSparseInfo"/>
<type name="VkImageAspectFlagBits"/>
<type name="VkImageAspectFlags"/>
<type name="VkImageSubresource"/>
<type name="VkSparseBufferMemoryBindInfo"/>
<type name="VkSparseImageFormatFlagBits"/>
<type name="VkSparseImageFormatFlags"/>
<type name="VkSparseImageFormatProperties"/>
<type name="VkSparseImageMemoryBind"/>
<type name="VkSparseImageMemoryBindInfo"/>
<type name="VkSparseImageMemoryRequirements"/>
<type name="VkSparseImageOpaqueMemoryBindInfo"/>
<type name="VkSparseMemoryBind"/>
<type name="VkSparseMemoryBindFlagBits"/>
<type name="VkSparseMemoryBindFlags"/>
<command name="vkGetImageSparseMemoryRequirements"/>
<command name="vkGetPhysicalDeviceSparseImageFormatProperties"/>
<command name="vkQueueBindSparse"/>
</require>
<require comment="Fence commands">
<type name="VkFence"/>
<type name="VkFenceCreateFlagBits"/>
<type name="VkFenceCreateFlags"/>
<type name="VkFenceCreateInfo"/>
<command name="vkCreateFence"/>
<command name="vkDestroyFence"/>
<command name="vkResetFences"/>
@ -8854,10 +8950,16 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkWaitForFences"/>
</require>
<require comment="Queue semaphore commands">
<type name="VkSemaphore"/>
<type name="VkSemaphoreCreateFlags"/>
<type name="VkSemaphoreCreateInfo"/>
<command name="vkCreateSemaphore"/>
<command name="vkDestroySemaphore"/>
</require>
<require comment="Event commands">
<type name="VkEvent"/>
<type name="VkEventCreateFlags"/>
<type name="VkEventCreateInfo"/>
<command name="vkCreateEvent"/>
<command name="vkDestroyEvent"/>
<command name="vkGetEventStatus"/>
@ -8865,51 +8967,169 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkResetEvent"/>
</require>
<require comment="Query commands">
<type name="VkQueryPipelineStatisticFlagBits"/>
<type name="VkQueryPipelineStatisticFlags"/>
<type name="VkQueryPool"/>
<type name="VkQueryPoolCreateFlags"/>
<type name="VkQueryPoolCreateInfo"/>
<type name="VkQueryResultFlagBits"/>
<type name="VkQueryResultFlags"/>
<type name="VkQueryType"/>
<command name="vkCreateQueryPool"/>
<command name="vkDestroyQueryPool"/>
<command name="vkGetQueryPoolResults"/>
</require>
<require comment="Buffer commands">
<type name="VkBuffer"/>
<type name="VkBufferCreateFlagBits"/>
<type name="VkBufferCreateFlags"/>
<type name="VkBufferCreateInfo"/>
<type name="VkBufferUsageFlagBits"/>
<type name="VkBufferUsageFlags"/>
<type name="VkSharingMode"/>
<command name="vkCreateBuffer"/>
<command name="vkDestroyBuffer"/>
</require>
<require comment="Buffer view commands">
<type name="VkBufferView"/>
<type name="VkBufferViewCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkBufferViewCreateInfo"/>
<command name="vkCreateBufferView"/>
<command name="vkDestroyBufferView"/>
</require>
<require comment="Image commands">
<type name="VkImage"/>
<type name="VkImageCreateInfo"/>
<type name="VkImageLayout"/>
<type name="VkSubresourceLayout"/>
<command name="vkCreateImage"/>
<command name="vkDestroyImage"/>
<command name="vkGetImageSubresourceLayout"/>
</require>
<require comment="Image view commands">
<type name="VkComponentMapping"/>
<type name="VkComponentSwizzle"/>
<type name="VkImageSubresourceRange"/>
<type name="VkImageView"/>
<type name="VkImageViewCreateFlagBits"/>
<type name="VkImageViewCreateFlags"/>
<type name="VkImageViewCreateInfo"/>
<type name="VkImageViewType"/>
<command name="vkCreateImageView"/>
<command name="vkDestroyImageView"/>
</require>
<require comment="Shader commands">
<type name="VkShaderModule"/>
<type name="VkShaderModuleCreateFlagBits"/>
<type name="VkShaderModuleCreateFlags"/>
<type name="VkShaderModuleCreateInfo"/>
<command name="vkCreateShaderModule"/>
<command name="vkDestroyShaderModule"/>
</require>
<require comment="Pipeline Cache commands">
<type name="VkPipelineCache"/>
<type name="VkPipelineCacheCreateFlagBits"/>
<type name="VkPipelineCacheCreateFlags"/>
<type name="VkPipelineCacheCreateInfo"/>
<command name="vkCreatePipelineCache"/>
<command name="vkDestroyPipelineCache"/>
<command name="vkGetPipelineCacheData"/>
<command name="vkMergePipelineCaches"/>
</require>
<require comment="Pipeline commands">
<type name="VkBlendFactor"/>
<type name="VkBlendOp"/>
<type name="VkColorComponentFlagBits"/>
<type name="VkColorComponentFlags"/>
<type name="VkCompareOp"/>
<type name="VkComputePipelineCreateInfo"/>
<type name="VkCullModeFlagBits"/>
<type name="VkCullModeFlags"/>
<type name="VkDynamicState"/>
<type name="VkFrontFace"/>
<type name="VkGraphicsPipelineCreateInfo"/>
<type name="VkLogicOp"/>
<type name="VkPipeline"/>
<type name="VkPipelineColorBlendAttachmentState"/>
<type name="VkPipelineColorBlendStateCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineColorBlendStateCreateInfo"/>
<type name="VkPipelineCreateFlagBits"/>
<type name="VkPipelineCreateFlags"/>
<type name="VkPipelineDepthStencilStateCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineDepthStencilStateCreateInfo"/>
<type name="VkPipelineDynamicStateCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineDynamicStateCreateInfo"/>
<type name="VkPipelineInputAssemblyStateCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineInputAssemblyStateCreateInfo"/>
<type name="VkPipelineLayoutCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineMultisampleStateCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineMultisampleStateCreateInfo"/>
<type name="VkPipelineRasterizationStateCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineRasterizationStateCreateInfo"/>
<type name="VkPipelineShaderStageCreateFlagBits"/>
<type name="VkPipelineShaderStageCreateFlags"/>
<type name="VkPipelineShaderStageCreateInfo"/>
<type name="VkPipelineTessellationStateCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineTessellationStateCreateInfo"/>
<type name="VkPipelineVertexInputStateCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineVertexInputStateCreateInfo"/>
<type name="VkPipelineViewportStateCreateFlags" comment="Will need FlagBits type eventually"/>
<type name="VkPipelineViewportStateCreateInfo"/>
<type name="VkPolygonMode"/>
<type name="VkPrimitiveTopology"/>
<type name="VkSampleMask"/>
<type name="VkShaderStageFlagBits"/>
<type name="VkShaderStageFlags"/>
<type name="VkSpecializationInfo"/>
<type name="VkSpecializationMapEntry"/>
<type name="VkStencilOp"/>
<type name="VkStencilOpState"/>
<type name="VkVertexInputAttributeDescription"/>
<type name="VkVertexInputBindingDescription"/>
<type name="VkVertexInputRate"/>
<type name="VkViewport"/>
<command name="vkCreateGraphicsPipelines"/>
<command name="vkCreateComputePipelines"/>
<command name="vkDestroyPipeline"/>
</require>
<require comment="Pipeline layout commands">
<type name="VkPipelineLayout"/>
<type name="VkPipelineLayoutCreateInfo"/>
<type name="VkPushConstantRange"/>
<command name="vkCreatePipelineLayout"/>
<command name="vkDestroyPipelineLayout"/>
</require>
<require comment="Sampler commands">
<type name="VkBorderColor"/>
<type name="VkFilter"/>
<type name="VkSampler"/>
<type name="VkSamplerAddressMode"/>
<type name="VkSamplerCreateFlagBits"/>
<type name="VkSamplerCreateFlags"/>
<type name="VkSamplerCreateInfo"/>
<type name="VkSamplerMipmapMode"/>
<command name="vkCreateSampler"/>
<command name="vkDestroySampler"/>
</require>
<require comment="Descriptor set commands">
<type name="VkCopyDescriptorSet"/>
<type name="VkDescriptorBufferInfo"/>
<type name="VkDescriptorImageInfo"/>
<type name="VkDescriptorPool"/>
<type name="VkDescriptorPoolCreateFlagBits"/>
<type name="VkDescriptorPoolCreateFlags"/>
<type name="VkDescriptorPoolCreateInfo"/>
<type name="VkDescriptorPoolResetFlags"/>
<type name="VkDescriptorPoolSize"/>
<type name="VkDescriptorSet"/>
<type name="VkDescriptorSetAllocateInfo"/>
<type name="VkDescriptorSetLayout"/>
<type name="VkDescriptorSetLayoutBinding"/>
<type name="VkDescriptorSetLayoutCreateFlagBits"/>
<type name="VkDescriptorSetLayoutCreateFlags"/>
<type name="VkDescriptorSetLayoutCreateInfo"/>
<type name="VkDescriptorType"/>
<type name="VkWriteDescriptorSet"/>
<command name="vkCreateDescriptorSetLayout"/>
<command name="vkDestroyDescriptorSetLayout"/>
<command name="vkCreateDescriptorPool"/>
@ -8920,6 +9140,29 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkUpdateDescriptorSets"/>
</require>
<require comment="Pass commands">
<type name="VkAccessFlagBits"/>
<type name="VkAccessFlags"/>
<type name="VkAttachmentDescription"/>
<type name="VkAttachmentDescriptionFlagBits"/>
<type name="VkAttachmentDescriptionFlags"/>
<type name="VkAttachmentLoadOp"/>
<type name="VkAttachmentReference"/>
<type name="VkAttachmentStoreOp"/>
<type name="VkDependencyFlagBits"/>
<type name="VkDependencyFlags"/>
<type name="VkFramebuffer"/>
<type name="VkFramebufferCreateFlagBits"/>
<type name="VkFramebufferCreateFlags"/>
<type name="VkFramebufferCreateInfo"/>
<type name="VkPipelineBindPoint"/>
<type name="VkRenderPass"/>
<type name="VkRenderPassCreateFlagBits"/>
<type name="VkRenderPassCreateFlags"/>
<type name="VkRenderPassCreateInfo"/>
<type name="VkSubpassDependency"/>
<type name="VkSubpassDescription"/>
<type name="VkSubpassDescriptionFlagBits"/>
<type name="VkSubpassDescriptionFlags"/>
<command name="vkCreateFramebuffer"/>
<command name="vkDestroyFramebuffer"/>
<command name="vkCreateRenderPass"/>
@ -8927,11 +9170,28 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkGetRenderAreaGranularity"/>
</require>
<require comment="Command pool commands">
<type name="VkCommandPool"/>
<type name="VkCommandPoolCreateFlagBits"/>
<type name="VkCommandPoolCreateFlags"/>
<type name="VkCommandPoolCreateInfo"/>
<type name="VkCommandPoolResetFlagBits"/>
<type name="VkCommandPoolResetFlags"/>
<command name="vkCreateCommandPool"/>
<command name="vkDestroyCommandPool"/>
<command name="vkResetCommandPool"/>
</require>
<require comment="Command buffer commands">
<type name="VkCommandBuffer"/>
<type name="VkCommandBufferAllocateInfo"/>
<type name="VkCommandBufferBeginInfo"/>
<type name="VkCommandBufferInheritanceInfo"/>
<type name="VkCommandBufferLevel"/>
<type name="VkCommandBufferResetFlagBits"/>
<type name="VkCommandBufferResetFlags"/>
<type name="VkCommandBufferUsageFlagBits"/>
<type name="VkCommandBufferUsageFlags"/>
<type name="VkQueryControlFlagBits"/>
<type name="VkQueryControlFlags"/>
<command name="vkAllocateCommandBuffers"/>
<command name="vkFreeCommandBuffers"/>
<command name="vkBeginCommandBuffer"/>
@ -8939,6 +9199,22 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkResetCommandBuffer"/>
</require>
<require comment="Command buffer building commands">
<type name="VkBufferCopy"/>
<type name="VkBufferImageCopy"/>
<type name="VkClearAttachment"/>
<type name="VkClearColorValue"/>
<type name="VkClearDepthStencilValue"/>
<type name="VkClearRect"/>
<type name="VkClearValue"/>
<type name="VkImageBlit"/>
<type name="VkImageCopy"/>
<type name="VkImageResolve"/>
<type name="VkImageSubresourceLayers"/>
<type name="VkIndexType"/>
<type name="VkRenderPassBeginInfo"/>
<type name="VkStencilFaceFlagBits"/>
<type name="VkStencilFaceFlags"/>
<type name="VkSubpassContents"/>
<command name="vkCmdBindPipeline"/>
<command name="vkCmdSetViewport"/>
<command name="vkCmdSetScissor"/>
@ -8984,18 +9260,6 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkCmdEndRenderPass"/>
<command name="vkCmdExecuteCommands"/>
</require>
<require comment="These types are part of the API and should always be defined, even when no enabled features require them.">
<type name="VkBufferMemoryBarrier"/>
<type name="VkDispatchIndirectCommand"/>
<type name="VkDrawIndexedIndirectCommand"/>
<type name="VkDrawIndirectCommand"/>
<type name="VkImageMemoryBarrier"/>
<type name="VkMemoryBarrier"/>
<type name="VkObjectType"/>
<type name="VkBaseOutStructure"/>
<type name="VkBaseInStructure"/>
<type name="VkVendorId"/>
</require>
</feature>
<feature api="vulkan" name="VK_VERSION_1_1" number="1.1" comment="Vulkan 1.1 core API interface definitions.">
<require>
@ -9081,7 +9345,6 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkBufferMemoryRequirementsInfo2"/>
<type name="VkImageMemoryRequirementsInfo2"/>
<type name="VkImageSparseMemoryRequirementsInfo2"/>
<type name="VkMemoryRequirements2KHR"/>
<type name="VkMemoryRequirements2"/>
<type name="VkSparseImageMemoryRequirements2"/>
<command name="vkGetImageMemoryRequirements2"/>
@ -9397,6 +9660,7 @@ typedef void <name>CAMetalLayer</name>;
<require comment="Promoted from VK_KHR_shader_float_controls (extension 198)">
<enum offset="0" extends="VkStructureType" extnumber="198" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"/>
<type name="VkPhysicalDeviceFloatControlsProperties"/>
<type name="VkShaderFloatControlsIndependence"/>
</require>
<require comment="Promoted from VK_EXT_descriptor_indexing (extension 162)">
<enum offset="0" extends="VkStructureType" extnumber="162" name="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO"/>
@ -9448,6 +9712,7 @@ typedef void <name>CAMetalLayer</name>;
<require comment="Promoted from VK_KHR_imageless_framebuffer (extension 109)">
<type name="VkPhysicalDeviceImagelessFramebufferFeatures"/>
<type name="VkFramebufferAttachmentsCreateInfo"/>
<type name="VkFramebufferAttachmentImageInfo"/>
<type name="VkRenderPassAttachmentBeginInfo"/>
<enum offset="0" extends="VkStructureType" extnumber="109" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES"/>
<enum offset="1" extends="VkStructureType" extnumber="109" name="VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO"/>
@ -9537,6 +9802,7 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkPresentModeKHR"/>
<type name="VkColorSpaceKHR"/>
<type name="VkCompositeAlphaFlagBitsKHR"/>
<type name="VkCompositeAlphaFlagsKHR"/>
<type name="VkSurfaceCapabilitiesKHR"/>
<type name="VkSurfaceFormatKHR"/>
<command name="vkDestroySurfaceKHR"/>
@ -9600,16 +9866,19 @@ typedef void <name>CAMetalLayer</name>;
<enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DISPLAY_KHR" comment="VkDisplayKHR"/>
<enum offset="1" extends="VkObjectType" name="VK_OBJECT_TYPE_DISPLAY_MODE_KHR" comment="VkDisplayModeKHR"/>
<type name="VkDisplayKHR"/>
<type name="VkDisplayModeCreateFlagsKHR"/>
<type name="VkDisplayModeCreateInfoKHR"/>
<type name="VkDisplayModeKHR"/>
<type name="VkDisplayPlaneAlphaFlagsKHR"/>
<type name="VkDisplayPlaneAlphaFlagBitsKHR"/>
<type name="VkDisplayPropertiesKHR"/>
<type name="VkDisplayModeParametersKHR"/>
<type name="VkDisplayModePropertiesKHR"/>
<type name="VkDisplayModeCreateInfoKHR"/>
<type name="VkDisplayPlaneAlphaFlagBitsKHR"/>
<type name="VkDisplayPlaneAlphaFlagsKHR"/>
<type name="VkDisplayPlaneCapabilitiesKHR"/>
<type name="VkDisplayPlanePropertiesKHR"/>
<type name="VkDisplayPropertiesKHR"/>
<type name="VkDisplaySurfaceCreateFlagsKHR"/>
<type name="VkDisplaySurfaceCreateInfoKHR"/>
<type name="VkSurfaceTransformFlagsKHR"/>
<command name="vkGetPhysicalDeviceDisplayPropertiesKHR"/>
<command name="vkGetPhysicalDeviceDisplayPlanePropertiesKHR"/>
<command name="vkGetDisplayPlaneSupportedDisplaysKHR"/>
@ -11085,13 +11354,19 @@ typedef void <name>CAMetalLayer</name>;
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT"/>
<enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT"/>
<enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT" comment="VkDebugUtilsMessengerEXT"/>
<type name="VkDebugUtilsMessengerEXT"/>
<type name="PFN_vkDebugUtilsMessengerCallbackEXT"/>
<type name="VkDebugUtilsLabelEXT"/>
<type name="VkDebugUtilsMessageSeverityFlagBitsEXT"/>
<type name="VkDebugUtilsMessageSeverityFlagsEXT"/>
<type name="VkDebugUtilsMessageTypeFlagBitsEXT"/>
<type name="VkDebugUtilsMessageTypeFlagsEXT"/>
<type name="VkDebugUtilsMessengerCallbackDataEXT"/>
<type name="VkDebugUtilsMessengerCallbackDataFlagsEXT"/>
<type name="VkDebugUtilsMessengerCreateFlagsEXT"/>
<type name="VkDebugUtilsMessengerCreateInfoEXT"/>
<type name="VkDebugUtilsMessengerEXT"/>
<type name="VkDebugUtilsObjectNameInfoEXT"/>
<type name="VkDebugUtilsObjectTagInfoEXT"/>
<type name="VkDebugUtilsLabelEXT"/>
<type name="VkDebugUtilsMessengerCallbackDataEXT"/>
<type name="VkDebugUtilsMessengerCreateInfoEXT"/>
<command name="vkSetDebugUtilsObjectNameEXT"/>
<command name="vkSetDebugUtilsObjectTagEXT"/>
<command name="vkQueueBeginDebugUtilsLabelEXT"/>
@ -11124,6 +11399,7 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkExternalFormatANDROID"/>
<command name="vkGetAndroidHardwareBufferPropertiesANDROID"/>
<command name="vkGetMemoryAndroidHardwareBufferANDROID"/>
<type name="AHardwareBuffer"/>
</require>
</extension>
<extension name="VK_EXT_sampler_filter_minmax" number="131" type="device" author="NV" requires="VK_KHR_get_physical_device_properties2" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_2">
@ -12345,6 +12621,7 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkMetalSurfaceCreateFlagsEXT"/>
<type name="VkMetalSurfaceCreateInfoEXT"/>
<command name="vkCreateMetalSurfaceEXT"/>
<type name="CAMetalLayer"/>
</require>
</extension>
<extension name="VK_EXT_fragment_density_map" number="219" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Matthew Netsch @mnetsch" supported="vulkan">
@ -12817,7 +13094,7 @@ typedef void <name>CAMetalLayer</name>;
</extension>
<extension name="VK_KHR_deferred_host_operations" number="269" type="device" author="KHR" contact="Josh Barczak @jbarczak" platform="provisional" supported="vulkan" provisional="true">
<require>
<enum value="2" name="VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION"/>
<enum value="3" name="VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_deferred_host_operations&quot;" name="VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR"/>
<enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR"/>
@ -13411,5 +13688,11 @@ typedef void <name>CAMetalLayer</name>;
<enum value="&quot;VK_ARM_extension_345&quot;" name="VK_ARM_EXTENSION_345_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_346" number="346" author="NV" contact="Jeff Juliano @jjuliano" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_346_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_346&quot;" name="VK_NV_EXTENSION_346_EXTENSION_NAME"/>
</require>
</extension>
</extensions>
</registry>

View File

@ -187,6 +187,12 @@ class VulkanConventions(ConventionsBase):
"""Return relpath to the Asciidoctor specification sources in this project."""
return '{generated}/meta'
@property
def special_use_section_anchor(self):
"""Return asciidoctor anchor name in the API Specification of the
section describing extension special uses in detail."""
return 'extendingvulkan-compatibility-specialuse'
@property
def extra_refpage_headers(self):
"""Return any extra text to add to refpage headers."""