header: Update to Vulkan 1.0.40

    fixed:
       - generators for latex math changes
    updated:
       - include/vulkan/vk_platform.h
       - include/vulkan/vulkan.h
       - scripts/generator.py
       - scripts/lvl_genvk.py
       - scripts/reg.py
       - scripts/vk.xml
       - include/vulkan/vulkan.hpp
       - layers/tests json files
       - loader SOVERSION

Change-Id: Id7d6f9dee73888877f2e7528f5701871f54ece79
diff --git a/scripts/generator.py b/scripts/generator.py
index 680cd6a..709ac14 100755
--- a/scripts/generator.py
+++ b/scripts/generator.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python3 -i
 #
-# Copyright (c) 2013-2016 The Khronos Group Inc.
+# Copyright (c) 2013-2017 The Khronos Group Inc.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/scripts/helper_file_generator.py b/scripts/helper_file_generator.py
index 3340faf..39a9aa8 100644
--- a/scripts/helper_file_generator.py
+++ b/scripts/helper_file_generator.py
@@ -204,15 +204,15 @@
         name = 'ERROR'
         decoratedName = 'ERROR'
         if 'mathit' in source:
-            # Matches expressions similar to 'latexmath:[$\lceil{\mathit{rasterizationSamples} \over 32}\rceil$]'
-            match = re.match(r'latexmath\s*\:\s*\[\s*\$\\l(\w+)\s*\{\s*\\mathit\s*\{\s*(\w+)\s*\}\s*\\over\s*(\d+)\s*\}\s*\\r(\w+)\$\s*\]', source)
+            # Matches expressions similar to 'latexmath:[\lceil{\mathit{rasterizationSamples} \over 32}\rceil]'
+            match = re.match(r'latexmath\s*\:\s*\[\s*\\l(\w+)\s*\{\s*\\mathit\s*\{\s*(\w+)\s*\}\s*\\over\s*(\d+)\s*\}\s*\\r(\w+)\s*\]', source)
             if not match or match.group(1) != match.group(4):
                 raise 'Unrecognized latexmath expression'
             name = match.group(2)
             decoratedName = '{}/{}'.format(*match.group(2, 3))
         else:
-            # Matches expressions similar to 'latexmath : [$dataSize \over 4$]'
-            match = re.match(r'latexmath\s*\:\s*\[\s*\$\s*(\w+)\s*\\over\s*(\d+)\s*\$\s*\]', source)
+            # Matches expressions similar to 'latexmath : [dataSize \over 4]'
+            match = re.match(r'latexmath\s*\:\s*\[\s*\s*(\w+)\s*\\over\s*(\d+)\s*\s*\]', source)
             name = match.group(1)
             decoratedName = '{}/{}'.format(*match.group(1, 2))
         return name, decoratedName
diff --git a/scripts/lvl_genvk.py b/scripts/lvl_genvk.py
index f4ef85e..0be5d3e 100644
--- a/scripts/lvl_genvk.py
+++ b/scripts/lvl_genvk.py
@@ -1,7 +1,6 @@
 #!/usr/bin/python3
 #
 # Copyright (c) 2013-2017 The Khronos Group Inc.
-# Copyright (c) 2015-2017 LunarG, Inc.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -18,9 +17,8 @@
 import argparse, cProfile, pdb, string, sys, time
 from reg import *
 from generator import write
-
-#
-# LoaderAndValidationLayer Generator Additions
+from cgenerator import CGeneratorOptions, COutputGenerator
+# LoaderAndValidationLayer Generator Modifications
 from threading_generator import  ThreadGeneratorOptions, ThreadOutputGenerator
 from parameter_validation_generator import ParamCheckerGeneratorOptions, ParamCheckerOutputGenerator
 from unique_objects_generator import UniqueObjectsGeneratorOptions, UniqueObjectsOutputGenerator
@@ -67,7 +65,7 @@
     # Copyright text prefixing all headers (list of strings).
     prefixStrings = [
         '/*',
-        '** Copyright (c) 2015-2016 The Khronos Group Inc.',
+        '** Copyright (c) 2015-2017 The Khronos Group Inc.',
         '**',
         '** Licensed under the Apache License, Version 2.0 (the "License");',
         '** you may not use this file except in compliance with the License.',
@@ -98,7 +96,8 @@
     protectFeature = protect
     protectProto = protect
 
-    #
+
+        #
     # LoaderAndValidationLayer Generators
     # Options for threading layer
     genOpts['thread_check.h'] = [
@@ -295,8 +294,6 @@
             helper_file_type  = 'safe_struct_source')
         ]
 
-
-
 # Generate a target based on the options in the matching genOpts{} object.
 # This is encapsulated in a function so it can be profiled and/or timed.
 # The args parameter is an parsed argument object containing the following
@@ -397,7 +394,7 @@
 
     if (args.dump):
         write('* Dumping registry to regdump.txt', file=sys.stderr)
-        reg.dumpReg(filehandle = open('regdump.txt','w', encoding='utf-8'))
+        reg.dumpReg(filehandle = open('regdump.txt', 'w', encoding='utf-8'))
 
     # create error/warning & diagnostic files
     if (args.errfile):
diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py
index ba03d41..c4b3205 100644
--- a/scripts/parameter_validation_generator.py
+++ b/scripts/parameter_validation_generator.py
@@ -579,15 +579,15 @@
         name = 'ERROR'
         decoratedName = 'ERROR'
         if 'mathit' in source:
-            # Matches expressions similar to 'latexmath:[$\lceil{\mathit{rasterizationSamples} \over 32}\rceil$]'
-            match = re.match(r'latexmath\s*\:\s*\[\s*\$\\l(\w+)\s*\{\s*\\mathit\s*\{\s*(\w+)\s*\}\s*\\over\s*(\d+)\s*\}\s*\\r(\w+)\$\s*\]', source)
+            # Matches expressions similar to 'latexmath:[\lceil{\mathit{rasterizationSamples} \over 32}\rceil]'
+            match = re.match(r'latexmath\s*\:\s*\[\s*\\l(\w+)\s*\{\s*\\mathit\s*\{\s*(\w+)\s*\}\s*\\over\s*(\d+)\s*\}\s*\\r(\w+)\s*\]', source)
             if not match or match.group(1) != match.group(4):
                 raise 'Unrecognized latexmath expression'
             name = match.group(2)
             decoratedName = '{}({}/{})'.format(*match.group(1, 2, 3))
         else:
-            # Matches expressions similar to 'latexmath : [$dataSize \over 4$]'
-            match = re.match(r'latexmath\s*\:\s*\[\s*\$\s*(\w+)\s*\\over\s*(\d+)\s*\$\s*\]', source)
+            # Matches expressions similar to 'latexmath : [dataSize \over 4]'
+            match = re.match(r'latexmath\s*\:\s*\[\s*\s*(\w+)\s*\\over\s*(\d+)\s*\s*\]', source)
             name = match.group(1)
             decoratedName = '{}/{}'.format(*match.group(1, 2))
         return name, decoratedName
diff --git a/scripts/reg.py b/scripts/reg.py
index 98436a3..1554c30 100755
--- a/scripts/reg.py
+++ b/scripts/reg.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python3 -i
 #
-# Copyright (c) 2013-2016 The Khronos Group Inc.
+# Copyright (c) 2013-2017 The Khronos Group Inc.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/scripts/vk.xml b/scripts/vk.xml
index 779875b..3a774fa 100644
--- a/scripts/vk.xml
+++ b/scripts/vk.xml
@@ -63,6 +63,8 @@
         <tag name="TIZEN"       author="Samsung Electronics Co., Ltd." contact="Alon Or-bach @alonorbach"/>
         <tag name="RENDERDOC"   author="RenderDoc (renderdoc.org)"     contact="baldurk@baldurk.org"/>
         <tag name="NN"          author="Nintendo Co., Ltd."            contact="Yasuhiro Yoshioka @yoshioka_yasuhiro"/>
+        <tag name="KHR"         author="Khronos"                       contact="Tom Olson @tom.olson"/>
+        <tag name="EXT"         author="Multivendor"                   contact="Jon Leech @oddhack"/>
     </tags>
 
     <!-- SECTION: Vulkan type definitions -->
@@ -107,7 +109,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> 39</type>
+#define <name>VK_HEADER_VERSION</name> 40</type>
 
         <type category="define">
 #define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
@@ -799,7 +801,7 @@
             <member>const <type>void</type>*            <name>pNext</name></member>                          <!-- Pointer to next structure -->
             <member optional="true"><type>VkShaderModuleCreateFlags</type> <name>flags</name></member>                       <!-- Reserved -->
             <member><type>size_t</type>                 <name>codeSize</name></member>                       <!-- Specified in bytes -->
-            <member len="latexmath:[$codeSize \over 4$]">const <type>uint32_t</type>*            <name>pCode</name></member>                          <!-- Binary code of size codeSize -->
+            <member len="latexmath:[codeSize \over 4]">const <type>uint32_t</type>*            <name>pCode</name></member>                          <!-- Binary code of size codeSize -->
         </type>
         <type category="struct" name="VkDescriptorSetLayoutBinding">
             <member><type>uint32_t</type>               <name>binding</name></member>                        <!-- Binding number for this entry -->
@@ -927,7 +929,7 @@
             <member><type>VkSampleCountFlagBits</type>  <name>rasterizationSamples</name></member>           <!-- Number of samples used for rasterization -->
             <member><type>VkBool32</type>               <name>sampleShadingEnable</name></member>            <!-- optional (GL45) -->
             <member><type>float</type>                  <name>minSampleShading</name></member>               <!-- optional (GL45) -->
-            <member optional="true" len="latexmath:[$\lceil{\mathit{rasterizationSamples} \over 32}\rceil$]">const <type>VkSampleMask</type>*    <name>pSampleMask</name></member>                    <!-- Array of sampleMask words -->
+            <member optional="true" len="latexmath:[\lceil{\mathit{rasterizationSamples} \over 32}\rceil]">const <type>VkSampleMask</type>*    <name>pSampleMask</name></member>                    <!-- Array of sampleMask words -->
             <member><type>VkBool32</type>               <name>alphaToCoverageEnable</name></member>
             <member><type>VkBool32</type>               <name>alphaToOneEnable</name></member>
         </type>
@@ -1538,7 +1540,7 @@
             <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 swap chains to present in this call -->
             <member len="swapchainCount">const <type>VkSwapchainKHR</type>* <name>pSwapchains</name></member>    <!-- Swapchains to present an image from -->
-            <member len="swapchainCount">const <type>uint32_t</type>* <name>pImageIndices</name></member>        <!-- Indices of which swapchain images to present -->
+            <member len="swapchainCount">const <type>uint32_t</type>* <name>pImageIndices</name></member>        <!-- Indices of which presentable images to present -->
             <member optional="true" len="swapchainCount"><type>VkResult</type>* <name>pResults</name></member>   <!-- Optional (i.e. if non-NULL) VkResult for each swapchain -->
         </type>
         <type category="struct" name="VkDebugReportCallbackCreateInfoEXT">
@@ -1825,6 +1827,20 @@
             <member>const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkSurfaceCounterFlagsEXT</type>         <name>surfaceCounters</name></member>
         </type>
+        <type category="struct" name="VkXYColorEXT">
+            <!-- chromaticity coordinate -->
+            <member><type>float</type>   <name>x</name></member>
+            <member><type>float</type>   <name>y</name></member>
+        </type>
+        <type category="struct" name="VkSMPTE2086MetadataEXT">
+            <!-- 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><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 -->
+        </type>
     </types>
 
     <!-- SECTION: Vulkan enumerant (token) definitions. -->
@@ -4088,6 +4104,13 @@
             <param><type>VkSurfaceKHR</type> <name>surface</name></param>
             <param><type>VkSurfaceCapabilities2EXT</type>* <name>pSurfaceCapabilities</name></param>
         </command>
+        <command>
+            <proto><type>void</type> <name>vkSetSMPTE2086MetadataEXT</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>
+        </command>
     </commands>
 
     <!-- SECTION: Vulkan API interface definitions -->
@@ -4460,7 +4483,7 @@
         </extension>
         <extension name="VK_EXT_debug_report" number="12" type="instance" author="Google, Inc." contact="Courtney Goeltzenleuchter @courtney" supported="vulkan">
             <require>
-                <enum value="4"                                         name="VK_EXT_DEBUG_REPORT_SPEC_VERSION"/>
+                <enum value="5"                                         name="VK_EXT_DEBUG_REPORT_SPEC_VERSION"/>
                 <enum value="&quot;VK_EXT_debug_report&quot;"           name="VK_EXT_DEBUG_REPORT_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"/>
                 <enum offset="1" dir="-" extends="VkResult"             name="VK_ERROR_VALIDATION_FAILED_EXT"/>
@@ -4540,13 +4563,14 @@
                 <enum value="&quot;VK_AMD_shader_explicit_vertex_parameter&quot;" name="VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_EXT_debug_marker" number="23" type="device" author="Baldur Karlsson" contact="baldurk@baldurk.org" supported="vulkan">
+        <extension name="VK_EXT_debug_marker" number="23" type="device" requires="VK_EXT_debug_report" author="Baldur Karlsson" contact="baldurk@baldurk.org" supported="vulkan">
             <require>
-                <enum value="3"                                         name="VK_EXT_DEBUG_MARKER_SPEC_VERSION"/>
+                <enum value="4"                                         name="VK_EXT_DEBUG_MARKER_SPEC_VERSION"/>
                 <enum value="&quot;VK_EXT_debug_marker&quot;"           name="VK_EXT_DEBUG_MARKER_EXTENSION_NAME"/>
                 <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT"/>
                 <enum offset="1" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT"/>
                 <enum offset="2" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT"/>
+                <type name="VkDebugReportObjectTypeEXT"/>
                 <type name="VkDebugMarkerObjectNameInfoEXT"/>
                 <type name="VkDebugMarkerObjectTagInfoEXT"/>
                 <type name="VkDebugMarkerMarkerInfoEXT"/>
@@ -4806,7 +4830,7 @@
                 <type name="VkWin32KeyedMutexAcquireReleaseInfoNV"/>
             </require>
         </extension>
-        <extension name="VK_KHR_get_physical_device_properties2" number="60" author="KHR" contact="Jeff Bolz @jbolz" supported="vulkan">
+        <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="&quot;VK_KHR_get_physical_device_properties2&quot;" name="VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME"/>
@@ -4851,7 +4875,7 @@
                 <type name="VkValidationFlagsEXT"/>
             </require>
         </extension>
-        <extension name="VK_NN_vi_surface" number="63" author="NN" contact="Mathias Heyer @mheyer" type="instance" requires="VK_KHR_surface" protect="VK_USE_PLATFORM_VI_NN" supported="vulkan">
+        <extension name="VK_NN_vi_surface" number="63" type="instance" author="NN" contact="Mathias Heyer @mheyer" requires="VK_KHR_surface" protect="VK_USE_PLATFORM_VI_NN" supported="vulkan">
             <require>
                 <enum value="1"                                         name="VK_NN_VI_SURFACE_SPEC_VERSION"/>
                 <enum value="&quot;VK_NN_vi_surface&quot;"              name="VK_NN_VI_SURFACE_EXTENSION_NAME"/>
@@ -4867,13 +4891,13 @@
                 <enum value="&quot;VK_KHR_shader_draw_parameters&quot;" name="VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_EXT_shader_subgroup_ballot" number="65" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="vulkan">
+        <extension name="VK_EXT_shader_subgroup_ballot" number="65" type="device" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="vulkan">
             <require>
                 <enum value="1"                                         name="VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION"/>
                 <enum value="&quot;VK_EXT_shader_subgroup_ballot&quot;" name="VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_EXT_shader_subgroup_vote" number="66" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="vulkan">
+        <extension name="VK_EXT_shader_subgroup_vote" number="66" type="device" author="NVIDIA" contact="Daniel Koch @dgkoch" supported="vulkan">
             <require>
                 <enum value="1"                                         name="VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION"/>
                 <enum value="&quot;VK_EXT_shader_subgroup_vote&quot;"   name="VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME"/>
@@ -4897,7 +4921,7 @@
                 <enum value="&quot;VK_IMG_extension_69&quot;"           name="VK_IMG_EXTENSION_69_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_KHR_maintenance1" number="70" author="KHR" contact="Piers Daniell @pdaniell" supported="vulkan">
+        <extension name="VK_KHR_maintenance1" number="70" type="device" author="KHR" contact="Piers Daniell @pdaniell" supported="vulkan">
             <require>
                 <enum value="1"                                         name="VK_KHR_MAINTENANCE1_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_maintenance1&quot;"           name="VK_KHR_MAINTENANCE1_EXTENSION_NAME"/>
@@ -5175,10 +5199,10 @@
                  <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" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtneygo" requires="VK_KHR_surface" supported="vulkan">
+         <extension name="VK_EXT_swapchain_colorspace" number="105" type="device" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtneygo" requires="VK_KHR_surface" supported="vulkan">
              <require>
-                 <enum value="1"                                         name="VK_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION"/>
-                 <enum value="&quot;VK_EXT_swapchain_colorspace&quot;"   name="VK_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME"/>
+                 <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"/>
@@ -5188,15 +5212,18 @@
                  <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="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_extension_106" number="106" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtneygo" supported="disabled">
+         <extension name="VK_EXT_SMPTE2086_metadata" number="106" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtneygo" supported="disabled">
              <require>
-                 <enum value="0"                                         name="VK_KHR_EXTENSION_106_SPEC_VERSION"/>
-                 <enum value="&quot;VK_EXT_extension_106&quot;"           name="VK_KHR_EXTENSION_106_EXTENSION_NAME"/>
+                 <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">
@@ -5265,5 +5292,23 @@
                  <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>
     </extensions>
 </registry>