header: Update to 1.0.43 header version

  - updated include/vulkan/vulkan.h
  - updated scripts/cgenerator.py
  - updated scripts/vk.xml
  - updated layers json files
  - updated tests json files
  - updated loader SOVERSION
  - updated include/vulkan/vulkan.hpp
  - updated parameter_validation.cpp with new APIs
  - updated object_tracker.cpp with new APIs

Change-Id: I1fd812cb376d5cddee5ab4acf2e4f8fe6d33b761
diff --git a/scripts/cgenerator.py b/scripts/cgenerator.py
index 732a6d2..298a774 100644
--- a/scripts/cgenerator.py
+++ b/scripts/cgenerator.py
@@ -268,7 +268,7 @@
         OutputGenerator.genGroup(self, groupinfo, groupName)
         groupElem = groupinfo.elem
 
-        expandName = re.sub(r'([0-9a-z_])([A-Z0-9][^A-Z0-9]?)',r'\1_\2',groupName).upper()
+        expandName = re.sub(r'([0-9a-z_])([A-Z0-9])',r'\1_\2',groupName).upper()
 
         expandPrefix = expandName
         expandSuffix = ''
diff --git a/scripts/vk.xml b/scripts/vk.xml
index e319443..54f5797 100644
--- a/scripts/vk.xml
+++ b/scripts/vk.xml
@@ -112,7 +112,7 @@
         <type category="define">// Vulkan 1.0 version number
 #define <name>VK_API_VERSION_1_0</name> <type>VK_MAKE_VERSION</type>(1, 0, 0)</type>    <!-- The patch version here should never be set to anything other than 0 -->
         <type category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 42</type>
+#define <name>VK_HEADER_VERSION</name> 43</type>
 
         <type category="define">
 #define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
@@ -1474,7 +1474,7 @@
         </type>
         <type category="struct" name="VkDisplayPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>                    <!-- Pointer to next structure -->
+            <member validextensionstructs="VkPresentTimesInfoGOOGLE">const <type>void</type>*  <name>pNext</name></member> <!-- Pointer to next structure -->
             <member><type>VkRect2D</type>                         <name>srcRect</name></member>                  <!-- Rectangle within the presentable image to read pixel data from when presenting to the display. -->
             <member><type>VkRect2D</type>                         <name>dstRect</name></member>                  <!-- Rectangle within the current display mode's visible region to display srcRectangle in. -->
             <member><type>VkBool32</type>                         <name>persistent</name></member>               <!-- For smart displays, use buffered mode.  If the display properties member "persistentMode" is VK_FALSE, this member must always be VK_FALSE. -->
@@ -1564,7 +1564,7 @@
         </type>
         <type category="struct" name="VkPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDeviceGroupPresentInfoKHX">const <type>void</type>*  <name>pNext</name></member> <!-- Pointer to next structure -->
+            <member validextensionstructs="VkDisplayPresentInfoKHR,VkDeviceGroupPresentInfoKHX,VkPresentTimesInfoGOOGLE">const <type>void</type>*  <name>pNext</name></member> <!-- Pointer to next structure -->
             <member optional="true"><type>uint32_t</type>         <name>waitSemaphoreCount</name></member>       <!-- Number of semaphores to wait for before presenting -->
             <member optional="true" len="waitSemaphoreCount">const <type>VkSemaphore</type>* <name>pWaitSemaphores</name></member> <!-- Semaphores to wait for before presenting -->
             <member><type>uint32_t</type>                         <name>swapchainCount</name></member>           <!-- Number of swapchains to present in this call -->
@@ -1825,25 +1825,6 @@
             <member><type>void</type>*                            <name>pNext</name></member>                    <!-- Pointer to next structure -->
             <member><type>uint32_t</type>                         <name>maxPushDescriptors</name></member>
         </type>
-        <type category="struct" name="VkPhysicalDeviceProperties2KHX" returnedonly="true">
-            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHX"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPhysicalDeviceIDPropertiesKHX"><type>void</type>*                            <name>pNext</name></member>                    <!-- Pointer to next structure -->
-            <member><type>VkPhysicalDeviceProperties</type>       <name>properties</name></member>
-        </type>
-        <type category="struct" name="VkImageFormatProperties2KHX" returnedonly="true">
-            <member values="VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHX"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkExternalImageFormatPropertiesKHX"><type>void</type>* <name>pNext</name></member>                    <!-- Pointer to next structure -->
-            <member><type>VkImageFormatProperties</type>          <name>imageFormatProperties</name></member>
-        </type>
-        <type category="struct" name="VkPhysicalDeviceImageFormatInfo2KHX">
-            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHX"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPhysicalDeviceExternalImageFormatInfoKHX">const <type>void</type>* <name>pNext</name></member>                    <!-- Pointer to next structure -->
-            <member><type>VkFormat</type>                         <name>format</name></member>
-            <member><type>VkImageType</type>                      <name>type</name></member>
-            <member><type>VkImageTiling</type>                    <name>tiling</name></member>
-            <member><type>VkImageUsageFlags</type>                <name>usage</name></member>
-            <member optional="true"><type>VkImageCreateFlags</type> <name>flags</name></member>
-        </type>
         <type category="struct" name="VkExternalMemoryPropertiesKHX" returnedonly="true">
             <member><type>VkExternalMemoryFeatureFlagsKHX</type>  <name>externalMemoryFeatures</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlagsKHX</type> <name>exportFromImportedHandleTypes</name></member>
@@ -2168,14 +2149,40 @@
             <member><type>float</type>   <name>x</name></member>
             <member><type>float</type>   <name>y</name></member>
         </type>
-        <type category="struct" name="VkSMPTE2086MetadataEXT">
+        <type category="struct" name="VkHdrMetadataEXT">
             <!-- Display primary in chromaticity coordinates -->
-            <member><type>VkXYColorEXT</type>   <name>displayPrimaryRed</name></member>           <!-- Display primary's Red -->
-            <member><type>VkXYColorEXT</type>   <name>displayPrimaryGreen</name></member>         <!-- Display primary's Green -->
-            <member><type>VkXYColorEXT</type>   <name>displayPrimaryBlue</name></member>          <!-- Display primary's Blue -->
+            <member values="VK_STRUCTURE_TYPE_HDR_METADATA_EXT"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*    <name>pNext</name></member>
+            <!-- From SMPTE 2086 -->
+            <member><type>VkXYColorEXT</type>   <name>displayPrimaryRed</name></member>   <!-- Display primary's Red -->
+            <member><type>VkXYColorEXT</type>   <name>displayPrimaryGreen</name></member> <!-- Display primary's Green -->
+            <member><type>VkXYColorEXT</type>   <name>displayPrimaryBlue</name></member>  <!-- Display primary's Blue -->
             <member><type>VkXYColorEXT</type>   <name>whitePoint</name></member>          <!-- Display primary's Blue -->
-            <member><type>float</type>   <name>maxLuminance</name></member>          <!-- Display maximum luminance -->
-            <member><type>float</type>   <name>minLuminance</name></member>          <!-- Display minimum luminance -->
+            <member><type>float</type>          <name>maxLuminance</name></member>        <!-- Display maximum luminance -->
+            <member><type>float</type>          <name>minLuminance</name></member>        <!-- Display minimum luminance -->
+            <!-- From CTA 861.3 -->
+            <member><type>float</type>          <name>maxContentLightLevel</name></member><!-- Content maximum luminance -->
+            <member><type>float</type>          <name>maxFrameAverageLightLevel</name></member>
+        </type>
+        <type category="struct" name="VkRefreshCycleDurationGOOGLE">
+            <member><type>uint64_t</type>                         <name>refreshDuration</name></member>          <!-- Number of nanoseconds from the start of one refresh cycle to the next -->
+        </type>
+        <type category="struct" name="VkPastPresentationTimingGOOGLE">
+            <member><type>uint32_t</type>                         <name>presentID</name></member>                <!-- Application-provided identifier, previously given to vkQueuePresentKHR -->
+            <member><type>uint64_t</type>                         <name>desiredPresentTime</name></member>       <!-- Earliest time an image should have been presented, previously given to vkQueuePresentKHR -->
+            <member><type>uint64_t</type>                         <name>actualPresentTime</name></member>        <!-- Time the image was actually displayed -->
+            <member><type>uint64_t</type>                         <name>earliestPresentTime</name></member>      <!-- Earliest time the image could have been displayed -->
+            <member><type>uint64_t</type>                         <name>presentMargin</name></member>            <!-- How early vkQueuePresentKHR was processed vs. how soon it needed to be and make earliestPresentTime -->
+        </type>
+        <type category="struct" name="VkPresentTimesInfoGOOGLE">
+            <member values="VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE"><type>VkStructureType</type> <name>sType</name></member>
+            <member validextensionstructs="VkDisplayPresentInfoKHR">const <type>void</type>*  <name>pNext</name></member> <!-- Pointer to next structure -->
+            <member><type>uint32_t</type>                         <name>swapchainCount</name></member>           <!-- Copy of VkPresentInfoKHR::swapchainCount -->
+            <member len="swapchainCount" optional="true">const <type>VkPresentTimeGOOGLE</type>*   <name>pTimes</name></member> <!-- The earliest times to present images -->
+        </type>
+        <type category="struct" name="VkPresentTimeGOOGLE">
+            <member><type>uint32_t</type>                         <name>presentID</name></member>                <!-- Application-provided identifier -->
+            <member><type>uint64_t</type>                         <name>desiredPresentTime</name></member>       <!-- Earliest time an image should be presented -->
         </type>
         <type category="struct" name="VkIOSSurfaceCreateInfoMVK">
             <member values="VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK"><type>VkStructureType</type> <name>sType</name></member>
@@ -4519,17 +4526,6 @@
              <param optional="true"><type>VkCommandPoolTrimFlagsKHR</type> <name>flags</name></param>
         </command>
         <command>
-            <proto><type>void</type> <name>vkGetPhysicalDeviceProperties2KHX</name></proto>
-            <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
-            <param><type>VkPhysicalDeviceProperties2KHX</type>* <name>pProperties</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">
-            <proto><type>VkResult</type> <name>vkGetPhysicalDeviceImageFormatProperties2KHX</name></proto>
-            <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
-            <param>const <type>VkPhysicalDeviceImageFormatInfo2KHX</type>* <name>pImageFormatInfo</name></param>
-            <param><type>VkImageFormatProperties2KHX</type>* <name>pImageFormatProperties</name></param>
-        </command>
-        <command>
             <proto><type>void</type> <name>vkGetPhysicalDeviceExternalBufferPropertiesKHX</name></proto>
             <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
             <param>const <type>VkPhysicalDeviceExternalBufferInfoKHX</type>* <name>pExternalBufferInfo</name></param>
@@ -4739,11 +4735,24 @@
             <param>const <type>void</type>* <name>pData</name></param>
         </command>
         <command>
-            <proto><type>void</type> <name>vkSetSMPTE2086MetadataEXT</name></proto>
+            <proto><type>void</type> <name>vkSetHdrMetadataEXT</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>uint32_t</type> <name>swapchainCount</name></param>    <!-- Number of swap chains to update in this call -->
             <param len="swapchainCount">const <type>VkSwapchainKHR</type>* <name>pSwapchains</name></param>    <!-- Swapchains to present an image from -->
-            <param len="swapchainCount">const <type>VkSMPTE2086MetadataEXT</type>* <name>pMetadata</name></param>
+            <param len="swapchainCount">const <type>VkHdrMetadataEXT</type>* <name>pMetadata</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_DEVICE_LOST,VK_ERROR_SURFACE_LOST_KHR">
+            <proto><type>VkResult</type> <name>vkGetRefreshCycleDurationGOOGLE</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name></param>
+            <param><type>VkRefreshCycleDurationGOOGLE</type>* <name>pDisplayTimingProperties</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_DEVICE_LOST,VK_ERROR_OUT_OF_DATE_KHR,VK_ERROR_SURFACE_LOST_KHR">
+            <proto><type>VkResult</type> <name>vkGetPastPresentationTimingGOOGLE</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name></param>
+            <param optional="false,true"><type>uint32_t</type>* <name>pPresentationTimingCount</name></param>
+            <param optional="true" len="pPresentationTimingCount"><type>VkPastPresentationTimingGOOGLE</type>* <name>pPresentationTimings</name></param>
         </command>
         <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_NATIVE_WINDOW_IN_USE_KHR">
             <proto><type>VkResult</type> <name>vkCreateIOSSurfaceMVK</name></proto>
@@ -5095,7 +5104,7 @@
         </extension>
         <extension name="VK_KHR_wayland_surface" number="7" type="instance" requires="VK_KHR_surface" protect="VK_USE_PLATFORM_WAYLAND_KHR" supported="vulkan">
             <require>
-                <enum value="5"                                         name="VK_KHR_WAYLAND_SURFACE_SPEC_VERSION"/>
+                <enum value="6"                                         name="VK_KHR_WAYLAND_SURFACE_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_wayland_surface&quot;"        name="VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR"/>
                 <type name="VkWaylandSurfaceCreateFlagsKHR"/>
@@ -5221,7 +5230,7 @@
         </extension>
         <extension name="VK_AMD_shader_explicit_vertex_parameter" number="22" type="device" author="AMD" contact="quentin.lin@amd.com" supported="vulkan">
             <require>
-                <enum value="1"                                                   name="VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION"/>
+                <enum value="1"                                         name="VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION"/>
                 <enum value="&quot;VK_AMD_shader_explicit_vertex_parameter&quot;" name="VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME"/>
             </require>
         </extension>
@@ -5257,14 +5266,14 @@
         </extension>
         <extension name="VK_AMD_gcn_shader" number="26" type="device" author="AMD" contact="dominik.witczak@amd.com" supported="vulkan">
             <require>
-                <enum value="1"                                        name="VK_AMD_GCN_SHADER_SPEC_VERSION"/>
-                <enum value="&quot;VK_AMD_gcn_shader&quot;"            name="VK_AMD_GCN_SHADER_EXTENSION_NAME"/>
+                <enum value="1"                                         name="VK_AMD_GCN_SHADER_SPEC_VERSION"/>
+                <enum value="&quot;VK_AMD_gcn_shader&quot;"             name="VK_AMD_GCN_SHADER_EXTENSION_NAME"/>
             </require>
         </extension>
         <extension name="VK_NV_dedicated_allocation" number="27" type="device" author="NVIDIA" contact="Jeff Bolz @jbolz" supported="vulkan">
             <require>
                 <enum value="1"                                         name="VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION"/>
-                <enum value="&quot;VK_NV_dedicated_allocation&quot;" name="VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME"/>
+                <enum value="&quot;VK_NV_dedicated_allocation&quot;"    name="VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV"/>
                 <enum offset="1" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV"/>
                 <enum offset="2" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV"/>
@@ -5501,17 +5510,17 @@
         </extension>
         <extension name="VK_KHR_get_physical_device_properties2" number="60" type="instance" author="KHR" contact="Jeff Bolz @jbolz" supported="vulkan">
             <require>
-                <enum value="1"                                           name="VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION"/>
+                <enum value="1"                                         name="VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_get_physical_device_properties2&quot;" name="VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME"/>
-                <enum offset="0" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR"/>
-                <enum offset="1" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR"/>
-                <enum offset="2" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR"/>
-                <enum offset="3" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR"/>
-                <enum offset="4" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR"/>
-                <enum offset="5" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR"/>
-                <enum offset="6" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR"/>
-                <enum offset="7" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR"/>
-                <enum offset="8" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR"/>
+                <enum offset="1" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR"/>
+                <enum offset="2" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR"/>
+                <enum offset="3" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR"/>
+                <enum offset="4" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR"/>
+                <enum offset="5" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR"/>
+                <enum offset="6" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR"/>
+                <enum offset="7" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR"/>
+                <enum offset="8" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR"/>
                 <type name="VkPhysicalDeviceFeatures2KHR"/>
                 <type name="VkPhysicalDeviceProperties2KHR"/>
                 <type name="VkFormatProperties2KHR"/>
@@ -5585,7 +5594,7 @@
         <extension name="VK_EXT_validation_flags" number="62" type="instance" author="Google, Inc." contact="Tobin Ehlis @tobine" supported="vulkan">
             <require>
                 <enum value="1"                                         name="VK_EXT_VALIDATION_FLAGS_SPEC_VERSION"/>
-                <enum value="&quot;VK_EXT_validation_flags&quot;"           name="VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME"/>
+                <enum value="&quot;VK_EXT_validation_flags&quot;"       name="VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT"/>
                 <type name="VkValidationFlagsEXT"/>
             </require>
@@ -5657,7 +5666,7 @@
                 <type name="VkPhysicalDeviceGroupPropertiesKHX"/>
                 <type name="VkDeviceGroupDeviceCreateInfoKHX"/>
                 <command name="vkEnumeratePhysicalDeviceGroupsKHX"/>
-                <enum bitpos="1" extends="VkMemoryHeapFlagBits"   name="VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX"    comment="If set, heap allocations allocate multiple instances by default"/>
+                <enum bitpos="1" extends="VkMemoryHeapFlagBits"         name="VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX" comment="If set, heap allocations allocate multiple instances by default"/>
             </require>
         </extension>
         <extension name="VK_KHX_external_memory_capabilities" number="72" type="instance" author="KHX" requires="VK_KHR_get_physical_device_properties2" contact="James Jones @cubanismo" supported="vulkan">
@@ -5670,8 +5679,8 @@
                 <enum offset="3" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHX"/>
                 <enum offset="4" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHX"/>
                 <enum offset="5" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHX"/> <!-- KHX-only.  Remove for KHR -->
-                <enum offset="6" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHX"/> <!-- KHX-only.  Remove for KHR -->
-                <enum offset="7" extends="VkStructureType"                name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHX"/> <!-- KHX-only.  Remove for KHR -->
+                <enum offset="6" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHX"/> <!-- KHX-only.  Remove for KHR -->
+                <enum offset="7" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHX"/> <!-- KHX-only.  Remove for KHR -->
                 <enum name="VK_LUID_SIZE_KHX"/>
                 <type name="VkExternalMemoryHandleTypeFlagsKHX"/>
                 <type name="VkExternalMemoryHandleTypeFlagBitsKHX"/>
@@ -5683,12 +5692,7 @@
                 <type name="VkPhysicalDeviceExternalBufferInfoKHX"/>
                 <type name="VkExternalBufferPropertiesKHX"/>
                 <type name="VkPhysicalDeviceIDPropertiesKHX"/>
-                <type name="VkPhysicalDeviceProperties2KHX"/> <!-- KHX-only.  Remove for KHR -->
-                <type name="VkImageFormatProperties2KHX"/> <!-- KHX-only.  Remove for KHR -->
-                <type name="VkPhysicalDeviceImageFormatInfo2KHX"/> <!-- KHX-only.  Remove for KHR -->
                 <command name="vkGetPhysicalDeviceExternalBufferPropertiesKHX"/>
-                <command name="vkGetPhysicalDeviceProperties2KHX"/> <!-- KHX-only.  Remove for KHR -->
-                <command name="vkGetPhysicalDeviceImageFormatProperties2KHX"/> <!-- KHX-only.  Remove for KHR -->
             </require>
         </extension>
         <extension name="VK_KHX_external_memory" number="73" type="device" requires="VK_KHX_external_memory_capabilities" author="KHX" contact="James Jones @cubanismo" supported="vulkan">
@@ -5753,9 +5757,7 @@
                 <type name="VkPhysicalDeviceExternalSemaphoreInfoKHX"/>
                 <type name="VkExternalSemaphorePropertiesKHX"/>
                 <type name="VkPhysicalDeviceIDPropertiesKHX"/>
-                <type name="VkPhysicalDeviceProperties2KHX"/> <!-- KHX-only.  Remove for KHR -->
                 <command name="vkGetPhysicalDeviceExternalSemaphorePropertiesKHX"/>
-                <command name="vkGetPhysicalDeviceProperties2KHX"/> <!-- KHX-only.  Remove for KHR -->
             </require>
         </extension>
         <extension name="VK_KHX_external_semaphore" number="78" type="device" requires="VK_KHX_external_semaphore_capabilities" author="KHX" contact="James Jones @cubanismo" supported="vulkan">
@@ -5807,82 +5809,82 @@
             </require>
         </extension>
         <extension name="VK_KHR_extension_83" number="83" author="KHR" contact="Jan-Harald Fredriksen @janharald" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_83_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_83&quot;"           name="VK_KHR_EXTENSION_83_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_84" number="84" author="KHR" contact="Jan-Harald Fredriksen @janharald" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_84_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_84&quot;"           name="VK_KHR_EXTENSION_84_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_85" number="85" author="KHR" contact="Ian Elliott @ianelliott" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_85_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_85&quot;"           name="VK_KHR_EXTENSION_85_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_descriptor_update_template" number="86" type="device" author="KHR" contact="Markus Tavenrath @mtavenrath" supported="vulkan">
-              <require>
-                 <enum value="1"                                             name="VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_descriptor_update_template&quot;" name="VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME"/>
-                 <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR"/>
-                 <command name="vkCreateDescriptorUpdateTemplateKHR"/>
-                 <command name="vkDestroyDescriptorUpdateTemplateKHR"/>
-                 <command name="vkUpdateDescriptorSetWithTemplateKHR"/>
-                 <command name="vkCmdPushDescriptorSetWithTemplateKHR"/>
-                 <type name="VkDescriptorUpdateTemplateCreateFlagsKHR"/>
-                 <type name="VkDescriptorUpdateTemplateTypeKHR"/>
-                 <type name="VkDescriptorUpdateTemplateEntryKHR"/>
-                 <type name="VkDescriptorUpdateTemplateCreateInfoKHR"/>
-              </require>
-         </extension>
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_83_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_83&quot;"           name="VK_KHR_EXTENSION_83_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_84" number="84" author="KHR" contact="Jan-Harald Fredriksen @janharald" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_84_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_84&quot;"           name="VK_KHR_EXTENSION_84_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_85" number="85" author="KHR" contact="Ian Elliott @ianelliott" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_85_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_85&quot;"           name="VK_KHR_EXTENSION_85_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_descriptor_update_template" number="86" type="device" author="KHR" contact="Markus Tavenrath @mtavenrath" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_descriptor_update_template&quot;" name="VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR"/>
+                <command name="vkCreateDescriptorUpdateTemplateKHR"/>
+                <command name="vkDestroyDescriptorUpdateTemplateKHR"/>
+                <command name="vkUpdateDescriptorSetWithTemplateKHR"/>
+                <command name="vkCmdPushDescriptorSetWithTemplateKHR"/>
+                <type name="VkDescriptorUpdateTemplateCreateFlagsKHR"/>
+                <type name="VkDescriptorUpdateTemplateTypeKHR"/>
+                <type name="VkDescriptorUpdateTemplateEntryKHR"/>
+                <type name="VkDescriptorUpdateTemplateCreateInfoKHR"/>
+            </require>
+        </extension>
         <extension name="VK_NVX_device_generated_commands" number="87" type="device" author="NVIDIA" contact="Christoph Kubisch @pixeljetstream" supported="vulkan">
-          <require>
-              <enum value="1"                                               name="VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION"/>
-              <enum value="&quot;VK_NVX_device_generated_commands&quot;"    name="VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME"/>
-              <enum offset="0" extends="VkStructureType"                    name="VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX"/>
-              <enum offset="1" extends="VkStructureType"                    name="VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX"/>
-              <enum offset="2" extends="VkStructureType"                    name="VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX"/>
-              <enum offset="3" extends="VkStructureType"                    name="VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX"/>
-              <enum offset="4" extends="VkStructureType"                    name="VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX"/>
-              <enum offset="5" extends="VkStructureType"                    name="VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX"/>
-              <enum bitpos="17" extends="VkPipelineStageFlagBits"           name="VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX"/>
-              <enum bitpos="17" extends="VkAccessFlagBits"                  name="VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX"/>
-              <enum bitpos="18" extends="VkAccessFlagBits"                  name="VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX"/>
-              <type name="VkObjectTableNVX"/>
-              <type name="VkIndirectCommandsLayoutNVX"/>
-              <type name="VkIndirectCommandsLayoutUsageFlagsNVX"/>
-              <type name="VkObjectEntryUsageFlagsNVX"/>
-              <type name="VkIndirectCommandsLayoutUsageFlagBitsNVX"/>
-              <type name="VkIndirectCommandsTokenTypeNVX"/>
-              <type name="VkObjectEntryUsageFlagBitsNVX"/>
-              <type name="VkObjectEntryTypeNVX"/>
-              <type name="VkDeviceGeneratedCommandsFeaturesNVX"/>
-              <type name="VkDeviceGeneratedCommandsLimitsNVX"/>
-              <type name="VkIndirectCommandsTokenNVX"/>
-              <type name="VkIndirectCommandsLayoutTokenNVX"/>
-              <type name="VkIndirectCommandsLayoutCreateInfoNVX"/>
-              <type name="VkCmdProcessCommandsInfoNVX"/>
-              <type name="VkCmdReserveSpaceForCommandsInfoNVX"/>
-              <type name="VkObjectTableCreateInfoNVX"/>
-              <type name="VkObjectTableEntryNVX"/>
-              <type name="VkObjectTablePipelineEntryNVX"/>
-              <type name="VkObjectTableDescriptorSetEntryNVX"/>
-              <type name="VkObjectTableVertexBufferEntryNVX"/>
-              <type name="VkObjectTableIndexBufferEntryNVX"/>
-              <type name="VkObjectTablePushConstantEntryNVX"/>
-              <command name="vkCmdProcessCommandsNVX"/>
-              <command name="vkCmdReserveSpaceForCommandsNVX"/>
-              <command name="vkCreateIndirectCommandsLayoutNVX"/>
-              <command name="vkDestroyIndirectCommandsLayoutNVX"/>
-              <command name="vkCreateObjectTableNVX"/>
-              <command name="vkDestroyObjectTableNVX"/>
-              <command name="vkRegisterObjectsNVX"/>
-              <command name="vkUnregisterObjectsNVX"/>
-              <command name="vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"/>
+            <require>
+                <enum value="1"                                         name="VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION"/>
+                <enum value="&quot;VK_NVX_device_generated_commands&quot;"    name="VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX"/>
+                <enum offset="1" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX"/>
+                <enum offset="2" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX"/>
+                <enum offset="3" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX"/>
+                <enum offset="4" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX"/>
+                <enum offset="5" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX"/>
+                <enum bitpos="17" extends="VkPipelineStageFlagBits"     name="VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX"/>
+                <enum bitpos="17" extends="VkAccessFlagBits"            name="VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX"/>
+                <enum bitpos="18" extends="VkAccessFlagBits"            name="VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX"/>
+                <type name="VkObjectTableNVX"/>
+                <type name="VkIndirectCommandsLayoutNVX"/>
+                <type name="VkIndirectCommandsLayoutUsageFlagsNVX"/>
+                <type name="VkObjectEntryUsageFlagsNVX"/>
+                <type name="VkIndirectCommandsLayoutUsageFlagBitsNVX"/>
+                <type name="VkIndirectCommandsTokenTypeNVX"/>
+                <type name="VkObjectEntryUsageFlagBitsNVX"/>
+                <type name="VkObjectEntryTypeNVX"/>
+                <type name="VkDeviceGeneratedCommandsFeaturesNVX"/>
+                <type name="VkDeviceGeneratedCommandsLimitsNVX"/>
+                <type name="VkIndirectCommandsTokenNVX"/>
+                <type name="VkIndirectCommandsLayoutTokenNVX"/>
+                <type name="VkIndirectCommandsLayoutCreateInfoNVX"/>
+                <type name="VkCmdProcessCommandsInfoNVX"/>
+                <type name="VkCmdReserveSpaceForCommandsInfoNVX"/>
+                <type name="VkObjectTableCreateInfoNVX"/>
+                <type name="VkObjectTableEntryNVX"/>
+                <type name="VkObjectTablePipelineEntryNVX"/>
+                <type name="VkObjectTableDescriptorSetEntryNVX"/>
+                <type name="VkObjectTableVertexBufferEntryNVX"/>
+                <type name="VkObjectTableIndexBufferEntryNVX"/>
+                <type name="VkObjectTablePushConstantEntryNVX"/>
+                <command name="vkCmdProcessCommandsNVX"/>
+                <command name="vkCmdReserveSpaceForCommandsNVX"/>
+                <command name="vkCreateIndirectCommandsLayoutNVX"/>
+                <command name="vkDestroyIndirectCommandsLayoutNVX"/>
+                <command name="vkCreateObjectTableNVX"/>
+                <command name="vkDestroyObjectTableNVX"/>
+                <command name="vkRegisterObjectsNVX"/>
+                <command name="vkUnregisterObjectsNVX"/>
+                <command name="vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"/>
           </require>
         </extension>
         <extension name="VK_NV_clip_space_w_scaling" number="88" type="device" author="NV" contact="Eric Werness @ewerness" supported="vulkan">
@@ -5896,302 +5898,328 @@
                 <command name="vkCmdSetViewportWScalingNV"/>
             </require>
         </extension>
-         <extension name="VK_EXT_direct_mode_display" number="89" type="instance" requires="VK_KHR_display" author="NVIDIA" contact="James Jones @cubanismo" supported="vulkan">
-             <require>
-                 <enum value="1"                                         name="VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION"/>
-                 <enum value="&quot;VK_EXT_direct_mode_display&quot;"           name="VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME"/>
-                 <command name="vkReleaseDisplayEXT"/>
-             </require>
-         </extension>
-         <extension name="VK_EXT_acquire_xlib_display" number="90" type="instance" requires="VK_EXT_direct_mode_display,VK_KHR_display" author="NVIDIA" contact="James Jones @cubanismo" protect="VK_USE_PLATFORM_XLIB_XRANDR_EXT" supported="vulkan">
-             <require>
-                 <enum value="1"                                         name="VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION"/>
-                 <enum value="&quot;VK_EXT_acquire_xlib_display&quot;"   name="VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME"/>
-                 <command name="vkAcquireXlibDisplayEXT"/>
-                 <command name="vkGetRandROutputDisplayEXT"/>
-             </require>
-         </extension>
-         <extension name="VK_EXT_display_surface_counter" number="91" type="instance" requires="VK_KHR_display" author="NVIDIA" contact="James Jones @cubanismo" supported="vulkan">
-             <require>
-                 <enum value="1"                                         name="VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION"/>
-                 <enum value="&quot;VK_EXT_display_surface_counter&quot;" name="VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME"/>
-                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT"/>
-                 <type name="VkSurfaceCounterFlagsEXT"/>
-                 <type name="VkSurfaceCounterFlagBitsEXT"/>
-                 <type name="VkSurfaceCapabilities2EXT"/>
-                 <command name="vkGetPhysicalDeviceSurfaceCapabilities2EXT"/>
-             </require>
-         </extension>
-         <extension name="VK_EXT_display_control" number="92" type="device" requires="VK_KHR_display,VK_EXT_display_surface_counter,VK_KHR_swapchain" author="NVIDIA" contact="James Jones @cubanismo" supported="vulkan">
-             <require>
-                 <enum value="1"                                         name="VK_EXT_DISPLAY_CONTROL_SPEC_VERSION"/>
-                 <enum value="&quot;VK_EXT_display_control&quot;"        name="VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME"/>
-                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT"/>
-                 <enum offset="1" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT"/>
-                 <enum offset="2" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT"/>
-                 <enum offset="3" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT"/>
-                 <type name="VkDisplayPowerStateEXT"/>
-                 <type name="VkDeviceEventTypeEXT"/>
-                 <type name="VkDisplayEventTypeEXT"/>
-                 <type name="VkDisplayPowerInfoEXT"/>
-                 <type name="VkDeviceEventInfoEXT"/>
-                 <type name="VkDisplayEventInfoEXT"/>
-                 <type name="VkSwapchainCounterCreateInfoEXT"/>
-                 <command name="vkDisplayPowerControlEXT"/>
-                 <command name="vkRegisterDeviceEventEXT"/>
-                 <command name="vkRegisterDisplayEventEXT"/>
-                 <command name="vkGetSwapchainCounterEXT"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_93" number="93" author="GOOGLE" contact="Ian Elliott @ianelliott" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_GOOGLE_EXTENSION_93_SPEC_VERSION"/>
-                 <enum value="&quot;VK_GOOGLE_extension_93&quot;"        name="VK_GOOGLE_EXTENSION_93_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_94" number="94" author="Codeplay" contact="Neil Henning @neil_henning" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_94_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_94&quot;"           name="VK_KHR_EXTENSION_94_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_NV_sample_mask_override_coverage" number="95" type="device" author="NVIDIA" contact="Piers Daniell @pdaniell" supported="vulkan">
-             <require>
-                 <enum value="1"                                               name="VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION"/>
-                 <enum value="&quot;VK_NV_sample_mask_override_coverage&quot;" name="VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_NV_geometry_shader_passthrough" number="96" type="device" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="vulkan">
-             <require>
-                 <enum value="1"                                             name="VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION"/>
-                 <enum value="&quot;VK_NV_geometry_shader_passthrough&quot;" name="VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_NV_viewport_array2" number="97" type="device" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="vulkan">
-             <require>
-                 <enum value="1"                                         name="VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION"/>
-                 <enum value="&quot;VK_NV_viewport_array2&quot;"         name="VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_NVX_multiview_per_view_attributes" number="98" type="device" author="NVIDIA" contact="Jeff Bolz @jbolz" supported="vulkan">
-             <require>
-                 <enum value="1"                                         name="VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION"/>
-                 <enum value="&quot;VK_NVX_multiview_per_view_attributes&quot;"  name="VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME"/>
-                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX"/>
-                 <enum bitpos="0" extends="VkSubpassDescriptionFlagBits" name="VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX"/>
-                 <enum bitpos="1" extends="VkSubpassDescriptionFlagBits" name="VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX"/>
-                 <type name="VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX"/>
-             </require>
-         </extension>
-         <extension name="VK_NV_viewport_swizzle" number="99" type="device" author="NVIDIA" contact="Piers Daniell @pdaniell" supported="vulkan">
-             <require>
-                 <enum value="1"                                         name="VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION"/>
-                 <enum value="&quot;VK_NV_viewport_swizzle&quot;"        name="VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME"/>
-                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV"/>
-                 <type name="VkViewportSwizzleNV"/>
-                 <type name="VkViewportCoordinateSwizzleNV"/>
-                 <type name="VkPipelineViewportSwizzleStateCreateInfoNV"/>
-                 <type name="VkPipelineViewportSwizzleStateCreateFlagsNV"/>
-             </require>
-         </extension>
-         <extension name="VK_EXT_discard_rectangles" number="100" type="device" requires="VK_KHR_get_physical_device_properties2" author="NVIDIA" contact="Piers Daniell @pdaniell" supported="vulkan">
-             <require>
-                 <enum value="1"                                         name="VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION"/>
-                 <enum value="&quot;VK_EXT_discard_rectangles&quot;"     name="VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME"/>
-                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT"/>
-                 <enum offset="1" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT"/>
-                 <enum offset="0" extends="VkDynamicState"               name="VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT"/>
-                 <type name="VkPhysicalDeviceDiscardRectanglePropertiesEXT"/>
-                 <type name="VkPipelineDiscardRectangleStateCreateInfoEXT"/>
-                 <type name="VkPipelineDiscardRectangleStateCreateFlagsEXT"/>
-                 <type name="VkDiscardRectangleModeEXT"/>
-                 <command name="vkCmdSetDiscardRectangleEXT"/>
-             </require>
-         </extension>
-         <extension name="VK_NV_extension_101" number="101" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_NV_EXTENSION_101_SPEC_VERSION"/>
-                 <enum value="&quot;VK_NV_extension_101&quot;"           name="VK_NV_EXTENSION_101_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_NV_extension_102" number="102" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_NV_EXTENSION_102_SPEC_VERSION"/>
-                 <enum value="&quot;VK_NV_extension_102&quot;"           name="VK_NV_EXTENSION_102_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_NV_extension_103" number="103" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_NV_EXTENSION_103_SPEC_VERSION"/>
-                 <enum value="&quot;VK_NV_extension_103&quot;"           name="VK_NV_EXTENSION_103_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_NV_extension_104" number="104" author="NVIDIA" contact="Mathias Schott @mschott" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_NV_EXTENSION_104_SPEC_VERSION"/>
-                 <enum value="&quot;VK_NV_extension_104&quot;"           name="VK_NV_EXTENSION_104_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_EXT_swapchain_colorspace" number="105" type="device" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtneygo" requires="VK_KHR_surface" supported="disabled">
-             <require>
-                 <enum value="1"                                         name="VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION"/>
-                 <enum value="&quot;VK_EXT_swapchain_colorspace&quot;"   name="VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME"/>
-                 <enum offset="1" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT"/>
-                 <enum offset="2" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT"/>
-                 <enum offset="3" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_SCRGB_LINEAR_EXT"/>
-                 <enum offset="4" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_SCRGB_NONLINEAR_EXT"/>
-                 <enum offset="5" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_DCI_P3_LINEAR_EXT"/>
-                 <enum offset="6" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT"/>
-                 <enum offset="7" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_BT709_LINEAR_EXT"/>
-                 <enum offset="8" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_BT709_NONLINEAR_EXT"/>
-                 <enum offset="9" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_BT2020_LINEAR_EXT"/>
-                 <enum offset="10" extends="VkColorSpaceKHR"             name="VK_COLOR_SPACE_BT2020_NONLINEAR_EXT"/>
-                 <enum offset="11" extends="VkColorSpaceKHR"             name="VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT"/>
-                 <enum offset="12" extends="VkColorSpaceKHR"             name="VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT"/>
-             </require>
-         </extension>
-         <extension name="VK_EXT_SMPTE2086_metadata" number="106" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtneygo" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_EXT_SMPTE2086_METADATA_SPEC_VERSION"/>
-                 <enum value="&quot;VK_EXT_SMPTE2086_metadata&quot;"     name="VK_EXT_SMPTE2086_METADATA_EXTENSION_NAME"/>
-                 <type name="VkSMPTE2086MetadataEXT"/>
-                 <type name="VkXYColorEXT"/>
-                 <command name="vkSetSMPTE2086MetadataEXT"/>
-             </require>
-         </extension>
-         <extension name="VK_IMG_extension_107" number="107" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_IMG_EXTENSION_107_SPEC_VERSION"/>
-                 <enum value="&quot;VK_IMG_extension_107&quot;"           name="VK_IMG_EXTENSION_107_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_IMG_extension_108" number="108" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_IMG_EXTENSION_108_SPEC_VERSION"/>
-                 <enum value="&quot;VK_IMG_extension_108&quot;"           name="VK_IMG_EXTENSION_108_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_IMG_extension_109" number="109" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_IMG_EXTENSION_109_SPEC_VERSION"/>
-                 <enum value="&quot;VK_IMG_extension_109&quot;"           name="VK_IMG_EXTENSION_109_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_IMG_extension_110" number="110" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_IMG_EXTENSION_110_SPEC_VERSION"/>
-                 <enum value="&quot;VK_IMG_extension_110&quot;"           name="VK_IMG_EXTENSION_110_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_IMG_extension_111" number="111" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_IMG_EXTENSION_111_SPEC_VERSION"/>
-                 <enum value="&quot;VK_IMG_extension_111&quot;"           name="VK_IMG_EXTENSION_111_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_112" number="112" author="KHR" contact="Alon Or-bach @alonorbach" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_112_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_112&quot;"           name="VK_KHR_EXTENSION_112_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_113" number="113" author="KHX" contact="Cass Everitt @casseveritt" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_113_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_113&quot;"           name="VK_KHR_EXTENSION_113_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_114" number="114" author="KHX" contact="Cass Everitt @casseveritt" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_114_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_114&quot;"           name="VK_KHR_EXTENSION_114_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_115" number="115" author="KHX" contact="Cass Everitt @casseveritt" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_115_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_115&quot;"           name="VK_KHR_EXTENSION_115_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_116" number="116" author="KHX" contact="Cass Everitt @casseveritt" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_116_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_116&quot;"           name="VK_KHR_EXTENSION_116_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_117" number="117" author="KHR" contact="Kenneth Benzie @kbenzie" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_117_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_117&quot;"           name="VK_KHR_EXTENSION_117_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_118" number="118" author="KHR" contact="Michael Worcester @michaelworcester" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_118_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_118&quot;"           name="VK_KHR_EXTENSION_118_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_119" number="119" author="KHR" contact="Michael Worcester @michaelworcester" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_119_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_119&quot;"           name="VK_KHR_EXTENSION_119_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_120" number="120" author="KHR" contact="James Jones @cubanismo" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_120_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_120&quot;"          name="VK_KHR_EXTENSION_120_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_variable_pointers" number="121" author="KHR" contact="John Kessenich @johnk" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_variable_pointers_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_variable_pointers&quot;"      name="VK_KHR_variable_pointers_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_KHR_extension_122" number="122" author="KHR" contact="James Jones @cubanismo" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_122_SPEC_VERSION"/>
-                 <enum value="&quot;VK_KHR_extension_122&quot;"          name="VK_KHR_EXTENSION_122_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_MVK_ios_surface" number="123" type="instance" requires="VK_KHR_surface" protect="VK_USE_PLATFORM_IOS_MVK" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings">
-             <require>
-                 <enum value="1"                                         name="VK_MVK_IOS_SURFACE_SPEC_VERSION"/>
-                 <enum value="&quot;VK_MVK_ios_surface&quot;"            name="VK_MVK_IOS_SURFACE_EXTENSION_NAME"/>
-                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK"/>
-                 <type name="VkIOSSurfaceCreateFlagsMVK"/>
-                 <type name="VkIOSSurfaceCreateInfoMVK"/>
-                 <command name="vkCreateIOSSurfaceMVK"/>
-             </require>
-         </extension>
-         <extension name="VK_MVK_macos_surface" number="124" type="instance" requires="VK_KHR_surface" protect="VK_USE_PLATFORM_MACOS_MVK" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings">
-             <require>
-                 <enum value="1"                                         name="VK_MVK_MACOS_SURFACE_SPEC_VERSION"/>
-                 <enum value="&quot;VK_MVK_macos_surface&quot;"          name="VK_MVK_MACOS_SURFACE_EXTENSION_NAME"/>
-                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK"/>
-                 <type name="VkMacOSSurfaceCreateFlagsMVK"/>
-                 <type name="VkMacOSSurfaceCreateInfoMVK"/>
-                 <command name="vkCreateMacOSSurfaceMVK"/>
-             </require>
-         </extension>
-         <extension name="VK_MVK_moltenvk" number="125" type="instance" author="MVK" contact="Bill Hollings @billhollings" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_MVK_MOLTENVK_SPEC_VERSION"/>
-                 <enum value="&quot;VK_MVK_moltenvk&quot;"               name="VK_MVK_MOLTENVK_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_MESA_extension_126" number="126" author="MESA" contact="Chad Versace @chadversary" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_MESA_EXTENSION_126_SPEC_VERSION"/>
-                 <enum value="&quot;VK_MESA_extension_126&quot;"         name="VK_MESA_EXTENSION_126_EXTENSION_NAME"/>
-             </require>
-         </extension>
-         <extension name="VK_MESA_extension_127" number="127" author="MESA" contact="Chad Versace @chadversary" supported="disabled">
-             <require>
-                 <enum value="0"                                         name="VK_MESA_EXTENSION_127_SPEC_VERSION"/>
-                 <enum value="&quot;VK_MESA_extension_127&quot;"         name="VK_MESA_EXTENSION_127_EXTENSION_NAME"/>
-             </require>
-         </extension>
+        <extension name="VK_EXT_direct_mode_display" number="89" type="instance" requires="VK_KHR_display" author="NVIDIA" contact="James Jones @cubanismo" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_direct_mode_display&quot;"    name="VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME"/>
+                <command name="vkReleaseDisplayEXT"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_acquire_xlib_display" number="90" type="instance" requires="VK_EXT_direct_mode_display,VK_KHR_display" author="NVIDIA" contact="James Jones @cubanismo" protect="VK_USE_PLATFORM_XLIB_XRANDR_EXT" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_acquire_xlib_display&quot;"   name="VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME"/>
+                <command name="vkAcquireXlibDisplayEXT"/>
+                <command name="vkGetRandROutputDisplayEXT"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_display_surface_counter" number="91" type="instance" requires="VK_KHR_display" author="NVIDIA" contact="James Jones @cubanismo" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_display_surface_counter&quot;" name="VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT"/>
+                <type name="VkSurfaceCounterFlagsEXT"/>
+                <type name="VkSurfaceCounterFlagBitsEXT"/>
+                <type name="VkSurfaceCapabilities2EXT"/>
+                <command name="vkGetPhysicalDeviceSurfaceCapabilities2EXT"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_display_control" number="92" type="device" requires="VK_KHR_display,VK_EXT_display_surface_counter,VK_KHR_swapchain" author="NVIDIA" contact="James Jones @cubanismo" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_EXT_DISPLAY_CONTROL_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_display_control&quot;"        name="VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT"/>
+                <enum offset="1" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT"/>
+                <enum offset="2" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT"/>
+                <enum offset="3" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT"/>
+                <type name="VkDisplayPowerStateEXT"/>
+                <type name="VkDeviceEventTypeEXT"/>
+                <type name="VkDisplayEventTypeEXT"/>
+                <type name="VkDisplayPowerInfoEXT"/>
+                <type name="VkDeviceEventInfoEXT"/>
+                <type name="VkDisplayEventInfoEXT"/>
+                <type name="VkSwapchainCounterCreateInfoEXT"/>
+                <command name="vkDisplayPowerControlEXT"/>
+                <command name="vkRegisterDeviceEventEXT"/>
+                <command name="vkRegisterDisplayEventEXT"/>
+                <command name="vkGetSwapchainCounterEXT"/>
+            </require>
+        </extension>
+        <extension name="VK_GOOGLE_display_timing" number="93" type="device" author="GOOGLE" requires="VK_KHR_swapchain" contact="Ian Elliott ianelliott@google.com" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION"/>
+                <enum value="&quot;VK_GOOGLE_display_timing&quot;"      name="VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME"/>
+                <enum offset="0"         extends="VkStructureType"      name="VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE"/>
+                <type name="VkRefreshCycleDurationGOOGLE"/>
+                <type name="VkPastPresentationTimingGOOGLE"/>
+                <type name="VkPresentTimesInfoGOOGLE"/>
+                <type name="VkPresentTimeGOOGLE"/>
+                <command name="vkGetRefreshCycleDurationGOOGLE"/>
+                <command name="vkGetPastPresentationTimingGOOGLE"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_94" number="94" author="Codeplay" contact="Neil Henning @neil_henning" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_94_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_94&quot;"           name="VK_KHR_EXTENSION_94_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_sample_mask_override_coverage" number="95" type="device" author="NVIDIA" contact="Piers Daniell @pdaniell" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_sample_mask_override_coverage&quot;" name="VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_geometry_shader_passthrough" number="96" type="device" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_geometry_shader_passthrough&quot;" name="VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_viewport_array2" number="97" type="device" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_viewport_array2&quot;"         name="VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NVX_multiview_per_view_attributes" number="98" type="device" author="NVIDIA" contact="Jeff Bolz @jbolz" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION"/>
+                <enum value="&quot;VK_NVX_multiview_per_view_attributes&quot;"  name="VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX"/>
+                <enum bitpos="0" extends="VkSubpassDescriptionFlagBits" name="VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX"/>
+                <enum bitpos="1" extends="VkSubpassDescriptionFlagBits" name="VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX"/>
+                <type name="VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_viewport_swizzle" number="99" type="device" author="NVIDIA" contact="Piers Daniell @pdaniell" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_viewport_swizzle&quot;"        name="VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV"/>
+                <type name="VkViewportSwizzleNV"/>
+                <type name="VkViewportCoordinateSwizzleNV"/>
+                <type name="VkPipelineViewportSwizzleStateCreateInfoNV"/>
+                <type name="VkPipelineViewportSwizzleStateCreateFlagsNV"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_discard_rectangles" number="100" type="device" requires="VK_KHR_get_physical_device_properties2" author="NVIDIA" contact="Piers Daniell @pdaniell" supported="vulkan">
+            <require>
+                <enum value="1"                                         name="VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_discard_rectangles&quot;"     name="VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT"/>
+                <enum offset="1" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT"/>
+                <enum offset="0" extends="VkDynamicState"               name="VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT"/>
+                <type name="VkPhysicalDeviceDiscardRectanglePropertiesEXT"/>
+                <type name="VkPipelineDiscardRectangleStateCreateInfoEXT"/>
+                <type name="VkPipelineDiscardRectangleStateCreateFlagsEXT"/>
+                <type name="VkDiscardRectangleModeEXT"/>
+                <command name="vkCmdSetDiscardRectangleEXT"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_extension_101" number="101" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_NV_EXTENSION_101_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_101&quot;"           name="VK_NV_EXTENSION_101_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_extension_102" number="102" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_NV_EXTENSION_102_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_102&quot;"           name="VK_NV_EXTENSION_102_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_extension_103" number="103" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_NV_EXTENSION_103_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_103&quot;"           name="VK_NV_EXTENSION_103_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_NV_extension_104" number="104" author="NVIDIA" contact="Mathias Schott @mschott" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_NV_EXTENSION_104_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_104&quot;"           name="VK_NV_EXTENSION_104_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_swapchain_colorspace" number="105" type="device" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtneygo" requires="VK_KHR_surface" supported="disabled">
+            <require>
+                <enum value="1"                                         name="VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_swapchain_colorspace&quot;"   name="VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME"/>
+                <enum offset="1" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT"/>
+                <enum offset="2" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT"/>
+                <enum offset="3" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_SCRGB_LINEAR_EXT"/>
+                <enum offset="4" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_SCRGB_NONLINEAR_EXT"/>
+                <enum offset="5" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_DCI_P3_LINEAR_EXT"/>
+                <enum offset="6" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT"/>
+                <enum offset="7" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_BT709_LINEAR_EXT"/>
+                <enum offset="8" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_BT709_NONLINEAR_EXT"/>
+                <enum offset="9" extends="VkColorSpaceKHR"              name="VK_COLOR_SPACE_BT2020_LINEAR_EXT"/>
+                <enum offset="10" extends="VkColorSpaceKHR"             name="VK_COLOR_SPACE_BT2020_NONLINEAR_EXT"/>
+                <enum offset="11" extends="VkColorSpaceKHR"             name="VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT"/>
+                <enum offset="12" extends="VkColorSpaceKHR"             name="VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_hdr_metadata" number="106" type="device" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtneygo" supported="vulkan">
+            <require>
+                <enum value="0"                                         name="VK_EXT_HDR_METADATA_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_hdr_metadata&quot;"           name="VK_EXT_HDR_METADATA_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_HDR_METADATA_EXT"/>
+                <type name="VkHdrMetadataEXT"/>
+                <type name="VkXYColorEXT"/>
+                <command name="vkSetHdrMetadataEXT"/>
+            </require>
+        </extension>
+        <extension name="VK_IMG_extension_107" number="107" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_IMG_EXTENSION_107_SPEC_VERSION"/>
+                <enum value="&quot;VK_IMG_extension_107&quot;"          name="VK_IMG_EXTENSION_107_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_IMG_extension_108" number="108" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_IMG_EXTENSION_108_SPEC_VERSION"/>
+                <enum value="&quot;VK_IMG_extension_108&quot;"          name="VK_IMG_EXTENSION_108_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_IMG_extension_109" number="109" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_IMG_EXTENSION_109_SPEC_VERSION"/>
+                <enum value="&quot;VK_IMG_extension_109&quot;"          name="VK_IMG_EXTENSION_109_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_IMG_extension_110" number="110" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_IMG_EXTENSION_110_SPEC_VERSION"/>
+                <enum value="&quot;VK_IMG_extension_110&quot;"          name="VK_IMG_EXTENSION_110_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_IMG_extension_111" number="111" author="IMG" contact="Michael Worcester @michaelworcester" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_IMG_EXTENSION_111_SPEC_VERSION"/>
+                <enum value="&quot;VK_IMG_extension_111&quot;"          name="VK_IMG_EXTENSION_111_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_112" number="112" author="KHR" contact="Alon Or-bach @alonorbach" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_112_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_112&quot;"          name="VK_KHR_EXTENSION_112_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_113" number="113" author="KHX" contact="Cass Everitt @casseveritt" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_113_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_113&quot;"          name="VK_KHR_EXTENSION_113_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_114" number="114" author="KHX" contact="Cass Everitt @casseveritt" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_114_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_114&quot;"          name="VK_KHR_EXTENSION_114_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_115" number="115" author="KHX" contact="Cass Everitt @casseveritt" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_115_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_115&quot;"          name="VK_KHR_EXTENSION_115_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_116" number="116" author="KHX" contact="Cass Everitt @casseveritt" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_116_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_116&quot;"          name="VK_KHR_EXTENSION_116_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_117" number="117" author="KHR" contact="Kenneth Benzie @kbenzie" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_117_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_117&quot;"          name="VK_KHR_EXTENSION_117_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_118" number="118" author="KHR" contact="Michael Worcester @michaelworcester" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_118_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_118&quot;"          name="VK_KHR_EXTENSION_118_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_119" number="119" author="KHR" contact="Michael Worcester @michaelworcester" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_119_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_119&quot;"          name="VK_KHR_EXTENSION_119_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_120" number="120" author="KHR" contact="James Jones @cubanismo" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_120_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_120&quot;"          name="VK_KHR_EXTENSION_120_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_variable_pointers" number="121" author="KHR" contact="John Kessenich @johnk" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_variable_pointers_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_variable_pointers&quot;"      name="VK_KHR_variable_pointers_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_122" number="122" author="KHR" contact="James Jones @cubanismo" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_122_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_122&quot;"          name="VK_KHR_EXTENSION_122_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_MVK_ios_surface" number="123" type="instance" requires="VK_KHR_surface" protect="VK_USE_PLATFORM_IOS_MVK" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings">
+            <require>
+                <enum value="2"                                         name="VK_MVK_IOS_SURFACE_SPEC_VERSION"/>
+                <enum value="&quot;VK_MVK_ios_surface&quot;"            name="VK_MVK_IOS_SURFACE_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK"/>
+                <type name="VkIOSSurfaceCreateFlagsMVK"/>
+                <type name="VkIOSSurfaceCreateInfoMVK"/>
+                <command name="vkCreateIOSSurfaceMVK"/>
+            </require>
+        </extension>
+        <extension name="VK_MVK_macos_surface" number="124" type="instance" requires="VK_KHR_surface" protect="VK_USE_PLATFORM_MACOS_MVK" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings">
+            <require>
+                <enum value="2"                                         name="VK_MVK_MACOS_SURFACE_SPEC_VERSION"/>
+                <enum value="&quot;VK_MVK_macos_surface&quot;"          name="VK_MVK_MACOS_SURFACE_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK"/>
+                <type name="VkMacOSSurfaceCreateFlagsMVK"/>
+                <type name="VkMacOSSurfaceCreateInfoMVK"/>
+                <command name="vkCreateMacOSSurfaceMVK"/>
+            </require>
+        </extension>
+        <extension name="VK_MVK_moltenvk" number="125" type="instance" author="MVK" contact="Bill Hollings @billhollings" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_MVK_MOLTENVK_SPEC_VERSION"/>
+                <enum value="&quot;VK_MVK_moltenvk&quot;"               name="VK_MVK_MOLTENVK_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_MESA_extension_126" number="126" author="MESA" contact="Chad Versace @chadversary" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_MESA_EXTENSION_126_SPEC_VERSION"/>
+                <enum value="&quot;VK_MESA_extension_126&quot;"         name="VK_MESA_EXTENSION_126_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_MESA_extension_127" number="127" author="MESA" contact="Chad Versace @chadversary" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_MESA_EXTENSION_127_SPEC_VERSION"/>
+                <enum value="&quot;VK_MESA_extension_127&quot;"         name="VK_MESA_EXTENSION_127_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_128" number="128" author="KHR" contact="James Jones @cubanismo" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_128_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_128&quot;"          name="VK_KHR_EXTENSION_128_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_EXT_extension_129" number="129" author="LUNARG" contact="Mark Young @MarkY_LunarG" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_129_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_129&quot;"          name="VK_KHR_EXTENSION_129_EXTENSION_NAME"/>
+            </require>
+        </extension>
+        <extension name="VK_KHR_extension_130" number="130" author="KHR" contact="Jesse Hall @jessehall" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_KHR_EXTENSION_130_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_extension_130&quot;"          name="VK_KHR_EXTENSION_130_EXTENSION_NAME"/>
+            </require>
+        </extension>
     </extensions>
 </registry>