Update for Vulkan-Docs 1.3.285
This commit is contained in:
parent
4bc77c26ff
commit
5677bafb82
14 changed files with 5175 additions and 4569 deletions
|
|
@ -436,6 +436,12 @@ class Registry:
|
|||
self.cmddict = {}
|
||||
"dictionary of CmdInfo objects keyed by command name"
|
||||
|
||||
self.aliasdict = {}
|
||||
"dictionary of type and command names mapped to their alias, such as VkFooKHR -> VkFoo"
|
||||
|
||||
self.enumvaluedict = {}
|
||||
"dictionary of enum values mapped to their type, such as VK_FOO_VALUE -> VkFoo"
|
||||
|
||||
self.apidict = {}
|
||||
"dictionary of FeatureInfo objects for `<feature>` elements keyed by API name"
|
||||
|
||||
|
|
@ -548,6 +554,22 @@ class Registry:
|
|||
"""Specify a feature name regexp to break on when generating features."""
|
||||
self.breakPat = re.compile(regexp)
|
||||
|
||||
def addEnumValue(self, enum, type_name):
|
||||
"""Track aliasing and map back from enum values to their type"""
|
||||
# Record alias, if any
|
||||
value = enum.get('name')
|
||||
alias = enum.get('alias')
|
||||
if alias:
|
||||
self.aliasdict[value] = alias
|
||||
# Map the value back to the type
|
||||
if type_name in self.aliasdict:
|
||||
type_name = self.aliasdict[type_name]
|
||||
if value in self.enumvaluedict:
|
||||
# Some times the same enum is defined by multiple extensions
|
||||
assert(type_name == self.enumvaluedict[value])
|
||||
else:
|
||||
self.enumvaluedict[value] = type_name
|
||||
|
||||
def parseTree(self):
|
||||
"""Parse the registry Element, once created"""
|
||||
# This must be the Element for the root <registry>
|
||||
|
|
@ -571,6 +593,9 @@ class Registry:
|
|||
else:
|
||||
stripNonmatchingAPIs(self.reg, self.genOpts.apiname, actuallyDelete = True)
|
||||
|
||||
self.aliasdict = {}
|
||||
self.enumvaluedict = {}
|
||||
|
||||
# Create dictionary of registry types from toplevel <types> tags
|
||||
# and add 'name' attribute to each <type> tag (where missing)
|
||||
# based on its <name> element.
|
||||
|
|
@ -581,13 +606,20 @@ class Registry:
|
|||
for type_elem in self.reg.findall('types/type'):
|
||||
# If the <type> does not already have a 'name' attribute, set
|
||||
# it from contents of its <name> tag.
|
||||
if type_elem.get('name') is None:
|
||||
name = type_elem.get('name')
|
||||
if name is None:
|
||||
name_elem = type_elem.find('name')
|
||||
if name_elem is None or not name_elem.text:
|
||||
raise RuntimeError("Type without a name!")
|
||||
type_elem.set('name', name_elem.text)
|
||||
name = name_elem.text
|
||||
type_elem.set('name', name)
|
||||
self.addElementInfo(type_elem, TypeInfo(type_elem), 'type', self.typedict)
|
||||
|
||||
# Record alias, if any
|
||||
alias = type_elem.get('alias')
|
||||
if alias:
|
||||
self.aliasdict[name] = alias
|
||||
|
||||
# Create dictionary of registry enum groups from <enums> tags.
|
||||
#
|
||||
# Required <enums> attributes: 'name'. If no name is given, one is
|
||||
|
|
@ -609,10 +641,14 @@ class Registry:
|
|||
self.enumdict = {}
|
||||
for enums in self.reg.findall('enums'):
|
||||
required = (enums.get('type') is not None)
|
||||
type_name = enums.get('name')
|
||||
# Enum values are defined only for the type that is not aliased to something else.
|
||||
assert(type_name not in self.aliasdict)
|
||||
for enum in enums.findall('enum'):
|
||||
enumInfo = EnumInfo(enum)
|
||||
enumInfo.required = required
|
||||
self.addElementInfo(enum, enumInfo, 'enum', self.enumdict)
|
||||
self.addEnumValue(enum, type_name)
|
||||
|
||||
# Create dictionary of registry commands from <command> tags
|
||||
# and add 'name' attribute to each <command> tag (where missing)
|
||||
|
|
@ -622,7 +658,7 @@ class Registry:
|
|||
# Required <command> attributes: 'name' or <proto><name> tag contents
|
||||
self.cmddict = {}
|
||||
# List of commands which alias others. Contains
|
||||
# [ aliasName, element ]
|
||||
# [ name, aliasName, element ]
|
||||
# for each alias
|
||||
cmdAlias = []
|
||||
for cmd in self.reg.findall('commands/command'):
|
||||
|
|
@ -639,6 +675,7 @@ class Registry:
|
|||
alias = cmd.get('alias')
|
||||
if alias:
|
||||
cmdAlias.append([name, alias, cmd])
|
||||
self.aliasdict[name] = alias
|
||||
|
||||
# Now loop over aliases, injecting a copy of the aliased command's
|
||||
# Element with the aliased prototype name replaced with the command
|
||||
|
|
@ -713,6 +750,7 @@ class Registry:
|
|||
if addEnumInfo:
|
||||
enumInfo = EnumInfo(enum)
|
||||
self.addElementInfo(enum, enumInfo, 'enum', self.enumdict)
|
||||
self.addEnumValue(enum, groupName)
|
||||
|
||||
sync_pipeline_stage_condition = dict()
|
||||
sync_access_condition = dict()
|
||||
|
|
@ -791,6 +829,7 @@ class Registry:
|
|||
if addEnumInfo:
|
||||
enumInfo = EnumInfo(enum)
|
||||
self.addElementInfo(enum, enumInfo, 'enum', self.enumdict)
|
||||
self.addEnumValue(enum, groupName)
|
||||
|
||||
# Parse out all spirv tags in dictionaries
|
||||
# Use addElementInfo to catch duplicates
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -67,7 +67,7 @@ branch of the member gitlab server.
|
|||
<tag name="KHR" author="Khronos" contact="Tom Olson @tomolson"/>
|
||||
<tag name="KHX" author="Khronos" contact="Tom Olson @tomolson"/>
|
||||
<tag name="EXT" author="Multivendor" contact="Jon Leech @oddhack"/>
|
||||
<tag name="MESA" author="Mesa open source project" contact="Lina Versace @versalinyaa, Daniel Stone @fooishbar, David Airlie @airlied, Faith Ekstrand @gfxstrand"/>
|
||||
<tag name="MESA" author="Mesa open source project" contact="Lina Versace @versalinyaa, Daniel Stone @fooishbar, David Airlie @airlied, Faith Ekstrand @gfxstrand, Hans-Kristian Arntzen @HansKristian-Work"/>
|
||||
<tag name="INTEL" author="Intel Corporation" contact="Slawek Grajewski @sgrajewski"/>
|
||||
<tag name="HUAWEI" author="Huawei Technologies Co. Ltd." contact="Pan Gao @PanGao-h, Juntao Li @Lawrenceleehw"/>
|
||||
<tag name="VALVE" author="Valve Corporation" contact="Pierre-Loup Griffais @plagman, Joshua Ashton @Joshua-Ashton, Hans-Kristian Arntzen @HansKristian-Work"/>
|
||||
|
|
@ -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> 284</type>
|
||||
#define <name>VK_HEADER_VERSION</name> 285</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
|
||||
|
|
@ -9123,6 +9123,21 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||
<member optional="true"><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkBool32</type> <name>shaderRawAccessChains</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceImageAlignmentControlFeaturesMESA" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member optional="true"><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkBool32</type> <name>imageAlignmentControl</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceImageAlignmentControlPropertiesMESA" structextends="VkPhysicalDeviceProperties2">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member optional="true"><type>void</type>* <name>pNext</name></member>
|
||||
<member limittype="bitmask"><type>uint32_t</type> <name>supportedImageAlignmentMask</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkImageAlignmentControlCreateInfoMESA" structextends="VkImageCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member optional="true">const <type>void</type>* <name>pNext</name></member>
|
||||
<member><type>uint32_t</type> <name>maximumRequestedAlignment</name></member>
|
||||
</type>
|
||||
</types>
|
||||
|
||||
|
||||
|
|
@ -24371,10 +24386,16 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||
<enum value=""VK_KHR_extension_575"" name="VK_KHR_EXTENSION_575_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_VALVE_extension_576" number="576" author="VALVE" contact="Hans-Kristian Arntzen @HansKristian-Work" supported="disabled">
|
||||
<extension name="VK_MESA_image_alignment_control" number="576" type="device" author="MESA" contact="Hans-Kristian Arntzen @HansKristian-Work" specialuse="d3demulation" supported="vulkan" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1">
|
||||
<require>
|
||||
<enum value="0" name="VK_VALVE_EXTENSION_576_SPEC_VERSION"/>
|
||||
<enum value=""VK_VALVE_extension_576"" name="VK_VALVE_EXTENSION_576_EXTENSION_NAME"/>
|
||||
<enum value="1" name="VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION"/>
|
||||
<enum value=""VK_MESA_image_alignment_control"" name="VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME"/>
|
||||
<type name="VkPhysicalDeviceImageAlignmentControlFeaturesMESA"/>
|
||||
<type name="VkPhysicalDeviceImageAlignmentControlPropertiesMESA"/>
|
||||
<type name="VkImageAlignmentControlCreateInfoMESA"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA"/>
|
||||
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA"/>
|
||||
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_HUAWEI_extension_577" number="577" author="HUAWEI" contact="Ye Wang @wangye" supported="disabled">
|
||||
|
|
@ -24422,6 +24443,25 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||
<enum value=""VK_EXT_extension_583"" name="VK_EXT_EXTENSION_583_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_EXT_extension_584" number="584" author="EXT" contact="James Jones @cubanismo" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_EXT_EXTENSION_584_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_extension_584"" name="VK_EXT_EXTENSION_584_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_EXT_extension_585" number="585" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_EXT_EXTENSION_585_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_extension_585"" name="VK_EXT_EXTENSION_585_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_IMG_extension_586" number="586" author="IMG" contact="James Fitzpatrick @jfitzpatrick-img" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_IMG_EXTENSION_586_SPEC_VERSION"/>
|
||||
<enum value=""VK_IMG_extension_586"" name="VK_IMG_EXTENSION_586_EXTENSION_NAME"/>
|
||||
<enum bitpos="4" extends="VkDependencyFlagBits" name="VK_DEPENDENCY_EXTENSION_586_BIT_IMG"/>
|
||||
</require>
|
||||
</extension>
|
||||
</extensions>
|
||||
<formats>
|
||||
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">
|
||||
|
|
@ -26554,6 +26594,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||
<spirvcapability name="RayTracingPositionFetchKHR">
|
||||
<enable struct="VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR" feature="rayTracingPositionFetch" requires="VK_KHR_ray_tracing_position_fetch"/>
|
||||
</spirvcapability>
|
||||
<spirvcapability name="RayQueryPositionFetchKHR">
|
||||
<enable struct="VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR" feature="rayTracingPositionFetch" requires="VK_KHR_ray_tracing_position_fetch"/>
|
||||
</spirvcapability>
|
||||
<spirvcapability name="TileImageColorReadAccessEXT">
|
||||
<enable struct="VkPhysicalDeviceShaderTileImageFeaturesEXT" feature="shaderTileImageColorReadAccess" requires="VK_EXT_shader_tile_image"/>
|
||||
</spirvcapability>
|
||||
|
|
@ -26581,9 +26624,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||
<spirvcapability name="QuadControlKHR">
|
||||
<enable struct="VkPhysicalDeviceShaderQuadControlFeaturesKHR" feature="shaderQuadControl" requires="VK_KHR_shader_quad_control"/>
|
||||
</spirvcapability>
|
||||
<spirvcapability name="MaximallyReconvergesKHR">
|
||||
<enable struct="VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR" feature="shaderMaximalReconvergence" requires="VK_KHR_shader_maximal_reconvergence"/>
|
||||
</spirvcapability>
|
||||
<spirvcapability name="RawAccessChainsNV">
|
||||
<enable struct="VkPhysicalDeviceRawAccessChainsFeaturesNV" feature="shaderRawAccessChains" requires="VK_NV_raw_access_chains"/>
|
||||
</spirvcapability>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue