Merge remote-tracking branch 'remotes/origin/upstream/sdk-1.3.231' into main

Bug: 112606
Change-Id: Ifd416f4a8362f3598e24a2e98f3f0da9b021d1c1
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f19390a..9cfba73 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,11 +44,6 @@
 #   2. cmake ..
 #   3. cmake --build . --target install
 
-# legacy
-add_custom_target(install-headers
-    COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv
-        $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/include/spirv)
-
 option(SPIRV_HEADERS_SKIP_EXAMPLES "Skip building examples"
       ${SPIRV_HEADERS_SKIP_EXAMPLES})
 
@@ -61,6 +56,10 @@
 
 if(NOT ${SPIRV_HEADERS_SKIP_INSTALL})
   set(SPIRV_HEADERS_ENABLE_INSTALL ON)
+  # legacy
+  add_custom_target(install-headers
+      COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv
+          $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/include/spirv)
 endif()
 
 if (SPIRV_HEADERS_ENABLE_EXAMPLES)
@@ -89,9 +88,14 @@
     set(namespace "${PROJECT_NAME}::")
 
     include(CMakePackageConfigHelpers)
+
+    if (NOT CMAKE_VERSION VERSION_LESS 3.14)
+        set(arch_independent_str ARCH_INDEPENDENT)
+    endif()
     write_basic_package_version_file(
         "${version_config}"
         COMPATIBILITY SameMajorVersion
+        ${arch_independent_str}
     )
 
     configure_package_config_file(
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
index 34453f8..dad141b 100644
--- a/include/spirv/spir-v.xml
+++ b/include/spirv/spir-v.xml
@@ -55,7 +55,7 @@
         <id value="2"   vendor="Valve"      comment="Contact TBD"/>
         <id value="3"   vendor="Codeplay"   comment="Contact Victor Lomuller, victor@codeplay.com"/>
         <id value="4"   vendor="NVIDIA"     comment="Contact Kerch Holt, kholt@nvidia.com"/>
-        <id value="5"   vendor="ARM"        comment="Contact Alexander Galazin, alexander.galazin@arm.com"/>
+        <id value="5"   vendor="ARM"        comment="Contact Kevin Petit, kevin.petit@arm.com"/>
         <id value="6"   vendor="Khronos" tool="LLVM/SPIR-V Translator" comment="Contact Yaxun (Sam) Liu, yaxun.liu@amd.com"/>
         <id value="7"   vendor="Khronos" tool="SPIR-V Tools Assembler" comment="Contact David Neto, dneto@google.com"/>
         <id value="8"   vendor="Khronos" tool="Glslang Reference Front End" comment="Contact John Kessenich, johnkessenich@google.com"/>
@@ -82,7 +82,11 @@
         <id value="29"  vendor="Mikkosoft Productions" tool="MSP Shader Compiler" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
         <id value="30"  vendor="SpvGenTwo community" tool="SpvGenTwo SPIR-V IR Tools" comment="https://github.com/rAzoR8/SpvGenTwo"/>
         <id value="31"  vendor="Google" tool="Skia SkSL" comment="Contact Ethan Nicholas, ethannicholas@google.com"/>
-        <unused start="32" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
+        <id value="32"  vendor="TornadoVM" tool="SPIRV Beehive Toolkit" comment="https://github.com/beehive-lab/spirv-beehive-toolkit"/>
+        <id value="33"  vendor="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/>
+        <id value="34"  vendor="Rayan Hatout" tool="SPIRVSmith" comment="Contact Rayan Hatout rayan.hatout@gmail.com, Repo https://github.com/rayanht/SPIRVSmith"/>
+        <id value="35"  vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers devillers@uni-saarland.de, Repo https://github.com/Hugobros3/shady"/>
+        <unused start="36" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
     </ids>
 
     <!-- SECTION: SPIR-V Opcodes and Enumerants -->
@@ -119,7 +123,7 @@
     <!-- Begin reservations of opcode enumerants -->
     <ids type="opcode" start="0" end="4095" vendor="Khronos" comment="Reserved opcodes, not available to vendors - see the SPIR-V Specification"/>
     <ids type="opcode" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
-    <ids type="opcode" start="4160" end="4415" vendor="ARM"/>
+    <ids type="opcode" start="4160" end="4415" vendor="ARM" comment="Contact kevin.petit@arm.com"/>
     <ids type="opcode" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
     <ids type="opcode" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
     <ids type="opcode" start="4992" end="5247" vendor="AMD"/>
@@ -148,7 +152,7 @@
     <!-- Begin reservations of non-opcode enumerants -->
     <ids type="enumerant" start="0" end="4095" vendor="Khronos" comment="Reserved enumerants, not available to vendors - see the SPIR-V Specification"/>
     <ids type="enumerant" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
-    <ids type="enumerant" start="4160" end="4415" vendor="ARM"/>
+    <ids type="enumerant" start="4160" end="4415" vendor="ARM" comment="Contact kevin.petit@arm.com"/>
     <ids type="enumerant" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
     <ids type="enumerant" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
     <ids type="enumerant" start="4992" end="5247" vendor="AMD"/>
@@ -164,13 +168,14 @@
     <ids type="enumerant" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
     <ids type="enumerant" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
     <ids type="enumerant" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
+    <ids type="enumerant" start="6464" end="6527" vendor="Mikkosoft Productions" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
     <!-- Enumerants to reserve for future use. To get a block, allocate
          multiples of 64 starting at the lowest available point in this
          block and add a corresponding <ids> tag immediately above. Make
          sure to fill in the vendor attribute, and preferably add a contact
          person/address in a comment attribute. -->
     <!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
-    <ids type="enumerant" start="6464" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
+    <ids type="enumerant" start="6528" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
     <!-- End reservations of enumerants -->
 
 
@@ -190,8 +195,8 @@
 
     <!-- Reserved loop control bits -->
     <ids type="LoopControl" start="0" end="15" vendor="Khronos" comment="Reserved LoopControl bits, not available to vendors - see the SPIR-V Specification"/>
-    <ids type="LoopControl" start="16" end="24" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
-    <ids type="LoopControl" start="25" end="30" comment="Unreserved bits reservable for use by vendors"/>
+    <ids type="LoopControl" start="16" end="25" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
+    <ids type="LoopControl" start="26" end="30" comment="Unreserved bits reservable for use by vendors"/>
     <ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
 
 
diff --git a/include/spirv/unified1/NonSemanticClspvReflection.h b/include/spirv/unified1/NonSemanticClspvReflection.h
index 380dc21..0cdf29d 100644
--- a/include/spirv/unified1/NonSemanticClspvReflection.h
+++ b/include/spirv/unified1/NonSemanticClspvReflection.h
@@ -33,7 +33,7 @@
 #endif
 
 enum {
-    NonSemanticClspvReflectionRevision = 2,
+    NonSemanticClspvReflectionRevision = 4,
     NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
 };
 
@@ -63,6 +63,16 @@
     NonSemanticClspvReflectionLiteralSampler = 23,
     NonSemanticClspvReflectionPropertyRequiredWorkgroupSize = 24,
     NonSemanticClspvReflectionSpecConstantSubgroupMaxSize = 25,
+    NonSemanticClspvReflectionArgumentPointerPushConstant = 26,
+    NonSemanticClspvReflectionArgumentPointerUniform = 27,
+    NonSemanticClspvReflectionProgramScopeVariablesStorageBuffer = 28,
+    NonSemanticClspvReflectionProgramScopeVariablePointerRelocation = 29,
+    NonSemanticClspvReflectionImageArgumentInfoChannelOrderPushConstant = 30,
+    NonSemanticClspvReflectionImageArgumentInfoChannelDataTypePushConstant = 31,
+    NonSemanticClspvReflectionImageArgumentInfoChannelOrderUniform = 32,
+    NonSemanticClspvReflectionImageArgumentInfoChannelDataTypeUniform = 33,
+    NonSemanticClspvReflectionArgumentStorageTexelBuffer = 34,
+    NonSemanticClspvReflectionArgumentUniformTexelBuffer = 35,
     NonSemanticClspvReflectionInstructionsMax = 0x7fffffff
 };
 
diff --git a/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json b/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
index 3d153e5..b5a6637 100644
--- a/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
+++ b/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
@@ -1,5 +1,5 @@
 {
-  "revision" : 2,
+  "revision" : 4,
   "instructions" : [
     {
       "opname" : "Kernel",
@@ -239,6 +239,114 @@
       "operands" : [
         { "kind" : "IdRef", "name" : "Size" }
       ]
+    },
+    {
+      "opname" : "ArgumentPointerPushConstant",
+      "opcode" : 26,
+      "operands": [
+        { "kind" : "IdRef", "name" : "Kernel" },
+        { "kind" : "IdRef", "name" : "Ordinal" },
+        { "kind" : "IdRef", "name" : "Offset" },
+        { "kind" : "IdRef", "name" : "Size" },
+        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
+      ]
+    },
+    {
+      "opname" : "ArgumentPointerUniform",
+      "opcode" : 27,
+      "operands": [
+        { "kind" : "IdRef", "name" : "Kernel" },
+        { "kind" : "IdRef", "name" : "Ordinal" },
+        { "kind" : "IdRef", "name" : "DescriptorSet" },
+        { "kind" : "IdRef", "name" : "Binding" },
+        { "kind" : "IdRef", "name" : "Offset" },
+        { "kind" : "IdRef", "name" : "Size" },
+        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
+      ]
+    },
+    {
+      "opname" : "ProgramScopeVariablesStorageBuffer",
+      "opcode" : 28,
+      "operands": [
+        { "kind" : "IdRef", "name" : "DescriptorSet" },
+        { "kind" : "IdRef", "name" : "Binding" },
+        { "kind" : "IdRef", "name" : "Data" }
+      ]
+    },
+    {
+      "opname" : "ProgramScopeVariablePointerRelocation",
+      "opcode" : 29,
+      "operands": [
+        { "kind" : "IdRef", "name" : "ObjectOffset" },
+        { "kind" : "IdRef", "name" : "PointerOffset" },
+        { "kind" : "IdRef", "name" : "PointerSize" }
+      ]
+    },
+    {
+      "opname" : "ImageArgumentInfoChannelOrderPushConstant",
+      "opcode" : 30,
+      "operands": [
+        { "kind" : "IdRef", "name" : "Kernel" },
+        { "kind" : "IdRef", "name" : "Ordinal" },
+        { "kind" : "IdRef", "name" : "Offset" },
+        { "kind" : "IdRef", "name" : "Size" }
+      ]
+    },
+    {
+      "opname" : "ImageArgumentInfoChannelDataTypePushConstant",
+      "opcode" : 31,
+      "operands": [
+        { "kind" : "IdRef", "name" : "Kernel" },
+        { "kind" : "IdRef", "name" : "Ordinal" },
+        { "kind" : "IdRef", "name" : "Offset" },
+        { "kind" : "IdRef", "name" : "Size" }
+      ]
+    },
+    {
+      "opname" : "ImageArgumentInfoChannelOrderUniform",
+      "opcode" : 32,
+      "operands": [
+        { "kind" : "IdRef", "name" : "Kernel" },
+        { "kind" : "IdRef", "name" : "Ordinal" },
+        { "kind" : "IdRef", "name" : "DescriptorSet" },
+        { "kind" : "IdRef", "name" : "Binding" },
+        { "kind" : "IdRef", "name" : "Offset" },
+        { "kind" : "IdRef", "name" : "Size" }
+      ]
+    },
+    {
+      "opname" : "ImageArgumentInfoChannelDataTypeUniform",
+      "opcode" : 33,
+      "operands": [
+        { "kind" : "IdRef", "name" : "Kernel" },
+        { "kind" : "IdRef", "name" : "Ordinal" },
+        { "kind" : "IdRef", "name" : "DescriptorSet" },
+        { "kind" : "IdRef", "name" : "Binding" },
+        { "kind" : "IdRef", "name" : "Offset" },
+        { "kind" : "IdRef", "name" : "Size" }
+      ]
+    },
+    {
+      "opname" : "ArgumentStorageTexelBuffer",
+      "opcode" : 34,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "Decl" },
+        { "kind" : "IdRef", "name" : "Ordinal" },
+        { "kind" : "IdRef", "name" : "DescriptorSet" },
+        { "kind" : "IdRef", "name" : "Binding" },
+        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
+      ]
+    },
+    {
+      "opname" : "ArgumentUniformTexelBuffer",
+      "opcode" : 35,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "Decl" },
+        { "kind" : "IdRef", "name" : "Ordinal" },
+        { "kind" : "IdRef", "name" : "DescriptorSet" },
+        { "kind" : "IdRef", "name" : "Binding" },
+        { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
+      ]
     }
   ]
 }
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
new file mode 100644
index 0000000..4bdb937
--- /dev/null
+++ b/include/spirv/unified1/spirv.bf
@@ -0,0 +1,1908 @@
+// Copyright (c) 2014-2020 The Khronos Group Inc.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and/or associated documentation files (the "Materials"),
+// to deal in the Materials without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Materials, and to permit persons to whom the
+// Materials are furnished to do so, subject to the following conditions:
+// 
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Materials.
+// 
+// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
+// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
+// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
+// 
+// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
+// IN THE MATERIALS.
+
+// This header is automatically generated by the same tool that creates
+// the Binary Section of the SPIR-V specification.
+
+// Enumeration tokens for SPIR-V, in various styles:
+//   C, C++, C++11, JSON, Lua, Python, C#, D, Beef
+// 
+// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
+// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
+// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
+// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
+// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
+// - C# will use enum classes in the Specification class located in the "Spv" namespace,
+//     e.g.: Spv.Specification.SourceLanguage.GLSL
+// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+// - Beef will use enum classes in the Specification class located in the "Spv" namespace,
+//     e.g.: Spv.Specification.SourceLanguage.GLSL
+// 
+// Some tokens act like mask values, which can be OR'd together,
+// while others are mutually exclusive.  The mask-like ones have
+// "Mask" in their name, and a parallel enum that has the shift
+// amount (1 << x) for each corresponding enumerant.
+
+namespace Spv
+{
+    using System;
+
+    public static class Specification
+    {
+        public const uint32 MagicNumber = 0x07230203;
+        public const uint32 Version = 0x00010600;
+        public const uint32 Revision = 1;
+        public const uint32 OpCodeMask = 0xffff;
+        public const uint32 WordCountShift = 16;
+
+        [AllowDuplicates, CRepr] public enum SourceLanguage
+        {
+            Unknown = 0,
+            ESSL = 1,
+            GLSL = 2,
+            OpenCL_C = 3,
+            OpenCL_CPP = 4,
+            HLSL = 5,
+            CPP_for_OpenCL = 6,
+            SYCL = 7,
+        }
+
+        [AllowDuplicates, CRepr] public enum ExecutionModel
+        {
+            Vertex = 0,
+            TessellationControl = 1,
+            TessellationEvaluation = 2,
+            Geometry = 3,
+            Fragment = 4,
+            GLCompute = 5,
+            Kernel = 6,
+            TaskNV = 5267,
+            MeshNV = 5268,
+            RayGenerationKHR = 5313,
+            RayGenerationNV = 5313,
+            IntersectionKHR = 5314,
+            IntersectionNV = 5314,
+            AnyHitKHR = 5315,
+            AnyHitNV = 5315,
+            ClosestHitKHR = 5316,
+            ClosestHitNV = 5316,
+            MissKHR = 5317,
+            MissNV = 5317,
+            CallableKHR = 5318,
+            CallableNV = 5318,
+            TaskEXT = 5364,
+            MeshEXT = 5365,
+        }
+
+        [AllowDuplicates, CRepr] public enum AddressingModel
+        {
+            Logical = 0,
+            Physical32 = 1,
+            Physical64 = 2,
+            PhysicalStorageBuffer64 = 5348,
+            PhysicalStorageBuffer64EXT = 5348,
+        }
+
+        [AllowDuplicates, CRepr] public enum MemoryModel
+        {
+            Simple = 0,
+            GLSL450 = 1,
+            OpenCL = 2,
+            Vulkan = 3,
+            VulkanKHR = 3,
+        }
+
+        [AllowDuplicates, CRepr] public enum ExecutionMode
+        {
+            Invocations = 0,
+            SpacingEqual = 1,
+            SpacingFractionalEven = 2,
+            SpacingFractionalOdd = 3,
+            VertexOrderCw = 4,
+            VertexOrderCcw = 5,
+            PixelCenterInteger = 6,
+            OriginUpperLeft = 7,
+            OriginLowerLeft = 8,
+            EarlyFragmentTests = 9,
+            PointMode = 10,
+            Xfb = 11,
+            DepthReplacing = 12,
+            DepthGreater = 14,
+            DepthLess = 15,
+            DepthUnchanged = 16,
+            LocalSize = 17,
+            LocalSizeHint = 18,
+            InputPoints = 19,
+            InputLines = 20,
+            InputLinesAdjacency = 21,
+            Triangles = 22,
+            InputTrianglesAdjacency = 23,
+            Quads = 24,
+            Isolines = 25,
+            OutputVertices = 26,
+            OutputPoints = 27,
+            OutputLineStrip = 28,
+            OutputTriangleStrip = 29,
+            VecTypeHint = 30,
+            ContractionOff = 31,
+            Initializer = 33,
+            Finalizer = 34,
+            SubgroupSize = 35,
+            SubgroupsPerWorkgroup = 36,
+            SubgroupsPerWorkgroupId = 37,
+            LocalSizeId = 38,
+            LocalSizeHintId = 39,
+            SubgroupUniformControlFlowKHR = 4421,
+            PostDepthCoverage = 4446,
+            DenormPreserve = 4459,
+            DenormFlushToZero = 4460,
+            SignedZeroInfNanPreserve = 4461,
+            RoundingModeRTE = 4462,
+            RoundingModeRTZ = 4463,
+            EarlyAndLateFragmentTestsAMD = 5017,
+            StencilRefReplacingEXT = 5027,
+            StencilRefUnchangedFrontAMD = 5079,
+            StencilRefGreaterFrontAMD = 5080,
+            StencilRefLessFrontAMD = 5081,
+            StencilRefUnchangedBackAMD = 5082,
+            StencilRefGreaterBackAMD = 5083,
+            StencilRefLessBackAMD = 5084,
+            OutputLinesEXT = 5269,
+            OutputLinesNV = 5269,
+            OutputPrimitivesEXT = 5270,
+            OutputPrimitivesNV = 5270,
+            DerivativeGroupQuadsNV = 5289,
+            DerivativeGroupLinearNV = 5290,
+            OutputTrianglesEXT = 5298,
+            OutputTrianglesNV = 5298,
+            PixelInterlockOrderedEXT = 5366,
+            PixelInterlockUnorderedEXT = 5367,
+            SampleInterlockOrderedEXT = 5368,
+            SampleInterlockUnorderedEXT = 5369,
+            ShadingRateInterlockOrderedEXT = 5370,
+            ShadingRateInterlockUnorderedEXT = 5371,
+            SharedLocalMemorySizeINTEL = 5618,
+            RoundingModeRTPINTEL = 5620,
+            RoundingModeRTNINTEL = 5621,
+            FloatingPointModeALTINTEL = 5622,
+            FloatingPointModeIEEEINTEL = 5623,
+            MaxWorkgroupSizeINTEL = 5893,
+            MaxWorkDimINTEL = 5894,
+            NoGlobalOffsetINTEL = 5895,
+            NumSIMDWorkitemsINTEL = 5896,
+            SchedulerTargetFmaxMhzINTEL = 5903,
+            NamedBarrierCountINTEL = 6417,
+        }
+
+        [AllowDuplicates, CRepr] public enum StorageClass
+        {
+            UniformConstant = 0,
+            Input = 1,
+            Uniform = 2,
+            Output = 3,
+            Workgroup = 4,
+            CrossWorkgroup = 5,
+            Private = 6,
+            Function = 7,
+            Generic = 8,
+            PushConstant = 9,
+            AtomicCounter = 10,
+            Image = 11,
+            StorageBuffer = 12,
+            CallableDataKHR = 5328,
+            CallableDataNV = 5328,
+            IncomingCallableDataKHR = 5329,
+            IncomingCallableDataNV = 5329,
+            RayPayloadKHR = 5338,
+            RayPayloadNV = 5338,
+            HitAttributeKHR = 5339,
+            HitAttributeNV = 5339,
+            IncomingRayPayloadKHR = 5342,
+            IncomingRayPayloadNV = 5342,
+            ShaderRecordBufferKHR = 5343,
+            ShaderRecordBufferNV = 5343,
+            PhysicalStorageBuffer = 5349,
+            PhysicalStorageBufferEXT = 5349,
+            TaskPayloadWorkgroupEXT = 5402,
+            CodeSectionINTEL = 5605,
+            DeviceOnlyINTEL = 5936,
+            HostOnlyINTEL = 5937,
+        }
+
+        [AllowDuplicates, CRepr] public enum Dim
+        {
+            Dim1D = 0,
+            Dim2D = 1,
+            Dim3D = 2,
+            Cube = 3,
+            Rect = 4,
+            Buffer = 5,
+            SubpassData = 6,
+        }
+
+        [AllowDuplicates, CRepr] public enum SamplerAddressingMode
+        {
+            None = 0,
+            ClampToEdge = 1,
+            Clamp = 2,
+            Repeat = 3,
+            RepeatMirrored = 4,
+        }
+
+        [AllowDuplicates, CRepr] public enum SamplerFilterMode
+        {
+            Nearest = 0,
+            Linear = 1,
+        }
+
+        [AllowDuplicates, CRepr] public enum ImageFormat
+        {
+            Unknown = 0,
+            Rgba32f = 1,
+            Rgba16f = 2,
+            R32f = 3,
+            Rgba8 = 4,
+            Rgba8Snorm = 5,
+            Rg32f = 6,
+            Rg16f = 7,
+            R11fG11fB10f = 8,
+            R16f = 9,
+            Rgba16 = 10,
+            Rgb10A2 = 11,
+            Rg16 = 12,
+            Rg8 = 13,
+            R16 = 14,
+            R8 = 15,
+            Rgba16Snorm = 16,
+            Rg16Snorm = 17,
+            Rg8Snorm = 18,
+            R16Snorm = 19,
+            R8Snorm = 20,
+            Rgba32i = 21,
+            Rgba16i = 22,
+            Rgba8i = 23,
+            R32i = 24,
+            Rg32i = 25,
+            Rg16i = 26,
+            Rg8i = 27,
+            R16i = 28,
+            R8i = 29,
+            Rgba32ui = 30,
+            Rgba16ui = 31,
+            Rgba8ui = 32,
+            R32ui = 33,
+            Rgb10a2ui = 34,
+            Rg32ui = 35,
+            Rg16ui = 36,
+            Rg8ui = 37,
+            R16ui = 38,
+            R8ui = 39,
+            R64ui = 40,
+            R64i = 41,
+        }
+
+        [AllowDuplicates, CRepr] public enum ImageChannelOrder
+        {
+            R = 0,
+            A = 1,
+            RG = 2,
+            RA = 3,
+            RGB = 4,
+            RGBA = 5,
+            BGRA = 6,
+            ARGB = 7,
+            Intensity = 8,
+            Luminance = 9,
+            Rx = 10,
+            RGx = 11,
+            RGBx = 12,
+            Depth = 13,
+            DepthStencil = 14,
+            sRGB = 15,
+            sRGBx = 16,
+            sRGBA = 17,
+            sBGRA = 18,
+            ABGR = 19,
+        }
+
+        [AllowDuplicates, CRepr] public enum ImageChannelDataType
+        {
+            SnormInt8 = 0,
+            SnormInt16 = 1,
+            UnormInt8 = 2,
+            UnormInt16 = 3,
+            UnormShort565 = 4,
+            UnormShort555 = 5,
+            UnormInt101010 = 6,
+            SignedInt8 = 7,
+            SignedInt16 = 8,
+            SignedInt32 = 9,
+            UnsignedInt8 = 10,
+            UnsignedInt16 = 11,
+            UnsignedInt32 = 12,
+            HalfFloat = 13,
+            Float = 14,
+            UnormInt24 = 15,
+            UnormInt101010_2 = 16,
+        }
+
+        [AllowDuplicates, CRepr] public enum ImageOperandsShift
+        {
+            Bias = 0,
+            Lod = 1,
+            Grad = 2,
+            ConstOffset = 3,
+            Offset = 4,
+            ConstOffsets = 5,
+            Sample = 6,
+            MinLod = 7,
+            MakeTexelAvailable = 8,
+            MakeTexelAvailableKHR = 8,
+            MakeTexelVisible = 9,
+            MakeTexelVisibleKHR = 9,
+            NonPrivateTexel = 10,
+            NonPrivateTexelKHR = 10,
+            VolatileTexel = 11,
+            VolatileTexelKHR = 11,
+            SignExtend = 12,
+            ZeroExtend = 13,
+            Nontemporal = 14,
+            Offsets = 16,
+        }
+
+        [AllowDuplicates, CRepr] public enum ImageOperandsMask
+        {
+            MaskNone = 0,
+            Bias = 0x00000001,
+            Lod = 0x00000002,
+            Grad = 0x00000004,
+            ConstOffset = 0x00000008,
+            Offset = 0x00000010,
+            ConstOffsets = 0x00000020,
+            Sample = 0x00000040,
+            MinLod = 0x00000080,
+            MakeTexelAvailable = 0x00000100,
+            MakeTexelAvailableKHR = 0x00000100,
+            MakeTexelVisible = 0x00000200,
+            MakeTexelVisibleKHR = 0x00000200,
+            NonPrivateTexel = 0x00000400,
+            NonPrivateTexelKHR = 0x00000400,
+            VolatileTexel = 0x00000800,
+            VolatileTexelKHR = 0x00000800,
+            SignExtend = 0x00001000,
+            ZeroExtend = 0x00002000,
+            Nontemporal = 0x00004000,
+            Offsets = 0x00010000,
+        }
+
+        [AllowDuplicates, CRepr] public enum FPFastMathModeShift
+        {
+            NotNaN = 0,
+            NotInf = 1,
+            NSZ = 2,
+            AllowRecip = 3,
+            Fast = 4,
+            AllowContractFastINTEL = 16,
+            AllowReassocINTEL = 17,
+        }
+
+        [AllowDuplicates, CRepr] public enum FPFastMathModeMask
+        {
+            MaskNone = 0,
+            NotNaN = 0x00000001,
+            NotInf = 0x00000002,
+            NSZ = 0x00000004,
+            AllowRecip = 0x00000008,
+            Fast = 0x00000010,
+            AllowContractFastINTEL = 0x00010000,
+            AllowReassocINTEL = 0x00020000,
+        }
+
+        [AllowDuplicates, CRepr] public enum FPRoundingMode
+        {
+            RTE = 0,
+            RTZ = 1,
+            RTP = 2,
+            RTN = 3,
+        }
+
+        [AllowDuplicates, CRepr] public enum LinkageType
+        {
+            Export = 0,
+            Import = 1,
+            LinkOnceODR = 2,
+        }
+
+        [AllowDuplicates, CRepr] public enum AccessQualifier
+        {
+            ReadOnly = 0,
+            WriteOnly = 1,
+            ReadWrite = 2,
+        }
+
+        [AllowDuplicates, CRepr] public enum FunctionParameterAttribute
+        {
+            Zext = 0,
+            Sext = 1,
+            ByVal = 2,
+            Sret = 3,
+            NoAlias = 4,
+            NoCapture = 5,
+            NoWrite = 6,
+            NoReadWrite = 7,
+        }
+
+        [AllowDuplicates, CRepr] public enum Decoration
+        {
+            RelaxedPrecision = 0,
+            SpecId = 1,
+            Block = 2,
+            BufferBlock = 3,
+            RowMajor = 4,
+            ColMajor = 5,
+            ArrayStride = 6,
+            MatrixStride = 7,
+            GLSLShared = 8,
+            GLSLPacked = 9,
+            CPacked = 10,
+            BuiltIn = 11,
+            NoPerspective = 13,
+            Flat = 14,
+            Patch = 15,
+            Centroid = 16,
+            Sample = 17,
+            Invariant = 18,
+            Restrict = 19,
+            Aliased = 20,
+            Volatile = 21,
+            Constant = 22,
+            Coherent = 23,
+            NonWritable = 24,
+            NonReadable = 25,
+            Uniform = 26,
+            UniformId = 27,
+            SaturatedConversion = 28,
+            Stream = 29,
+            Location = 30,
+            Component = 31,
+            Index = 32,
+            Binding = 33,
+            DescriptorSet = 34,
+            Offset = 35,
+            XfbBuffer = 36,
+            XfbStride = 37,
+            FuncParamAttr = 38,
+            FPRoundingMode = 39,
+            FPFastMathMode = 40,
+            LinkageAttributes = 41,
+            NoContraction = 42,
+            InputAttachmentIndex = 43,
+            Alignment = 44,
+            MaxByteOffset = 45,
+            AlignmentId = 46,
+            MaxByteOffsetId = 47,
+            NoSignedWrap = 4469,
+            NoUnsignedWrap = 4470,
+            ExplicitInterpAMD = 4999,
+            OverrideCoverageNV = 5248,
+            PassthroughNV = 5250,
+            ViewportRelativeNV = 5252,
+            SecondaryViewportRelativeNV = 5256,
+            PerPrimitiveEXT = 5271,
+            PerPrimitiveNV = 5271,
+            PerViewNV = 5272,
+            PerTaskNV = 5273,
+            PerVertexKHR = 5285,
+            PerVertexNV = 5285,
+            NonUniform = 5300,
+            NonUniformEXT = 5300,
+            RestrictPointer = 5355,
+            RestrictPointerEXT = 5355,
+            AliasedPointer = 5356,
+            AliasedPointerEXT = 5356,
+            BindlessSamplerNV = 5398,
+            BindlessImageNV = 5399,
+            BoundSamplerNV = 5400,
+            BoundImageNV = 5401,
+            SIMTCallINTEL = 5599,
+            ReferencedIndirectlyINTEL = 5602,
+            ClobberINTEL = 5607,
+            SideEffectsINTEL = 5608,
+            VectorComputeVariableINTEL = 5624,
+            FuncParamIOKindINTEL = 5625,
+            VectorComputeFunctionINTEL = 5626,
+            StackCallINTEL = 5627,
+            GlobalVariableOffsetINTEL = 5628,
+            CounterBuffer = 5634,
+            HlslCounterBufferGOOGLE = 5634,
+            HlslSemanticGOOGLE = 5635,
+            UserSemantic = 5635,
+            UserTypeGOOGLE = 5636,
+            FunctionRoundingModeINTEL = 5822,
+            FunctionDenormModeINTEL = 5823,
+            RegisterINTEL = 5825,
+            MemoryINTEL = 5826,
+            NumbanksINTEL = 5827,
+            BankwidthINTEL = 5828,
+            MaxPrivateCopiesINTEL = 5829,
+            SinglepumpINTEL = 5830,
+            DoublepumpINTEL = 5831,
+            MaxReplicatesINTEL = 5832,
+            SimpleDualPortINTEL = 5833,
+            MergeINTEL = 5834,
+            BankBitsINTEL = 5835,
+            ForcePow2DepthINTEL = 5836,
+            BurstCoalesceINTEL = 5899,
+            CacheSizeINTEL = 5900,
+            DontStaticallyCoalesceINTEL = 5901,
+            PrefetchINTEL = 5902,
+            StallEnableINTEL = 5905,
+            FuseLoopsInFunctionINTEL = 5907,
+            AliasScopeINTEL = 5914,
+            NoAliasINTEL = 5915,
+            BufferLocationINTEL = 5921,
+            IOPipeStorageINTEL = 5944,
+            FunctionFloatingPointModeINTEL = 6080,
+            SingleElementVectorINTEL = 6085,
+            VectorComputeCallableFunctionINTEL = 6087,
+            MediaBlockIOINTEL = 6140,
+        }
+
+        [AllowDuplicates, CRepr] public enum BuiltIn
+        {
+            Position = 0,
+            PointSize = 1,
+            ClipDistance = 3,
+            CullDistance = 4,
+            VertexId = 5,
+            InstanceId = 6,
+            PrimitiveId = 7,
+            InvocationId = 8,
+            Layer = 9,
+            ViewportIndex = 10,
+            TessLevelOuter = 11,
+            TessLevelInner = 12,
+            TessCoord = 13,
+            PatchVertices = 14,
+            FragCoord = 15,
+            PointCoord = 16,
+            FrontFacing = 17,
+            SampleId = 18,
+            SamplePosition = 19,
+            SampleMask = 20,
+            FragDepth = 22,
+            HelperInvocation = 23,
+            NumWorkgroups = 24,
+            WorkgroupSize = 25,
+            WorkgroupId = 26,
+            LocalInvocationId = 27,
+            GlobalInvocationId = 28,
+            LocalInvocationIndex = 29,
+            WorkDim = 30,
+            GlobalSize = 31,
+            EnqueuedWorkgroupSize = 32,
+            GlobalOffset = 33,
+            GlobalLinearId = 34,
+            SubgroupSize = 36,
+            SubgroupMaxSize = 37,
+            NumSubgroups = 38,
+            NumEnqueuedSubgroups = 39,
+            SubgroupId = 40,
+            SubgroupLocalInvocationId = 41,
+            VertexIndex = 42,
+            InstanceIndex = 43,
+            CoreIDARM = 4160,
+            CoreCountARM = 4161,
+            CoreMaxIDARM = 4162,
+            WarpIDARM = 4163,
+            WarpMaxIDARM = 4164,
+            SubgroupEqMask = 4416,
+            SubgroupEqMaskKHR = 4416,
+            SubgroupGeMask = 4417,
+            SubgroupGeMaskKHR = 4417,
+            SubgroupGtMask = 4418,
+            SubgroupGtMaskKHR = 4418,
+            SubgroupLeMask = 4419,
+            SubgroupLeMaskKHR = 4419,
+            SubgroupLtMask = 4420,
+            SubgroupLtMaskKHR = 4420,
+            BaseVertex = 4424,
+            BaseInstance = 4425,
+            DrawIndex = 4426,
+            PrimitiveShadingRateKHR = 4432,
+            DeviceIndex = 4438,
+            ViewIndex = 4440,
+            ShadingRateKHR = 4444,
+            BaryCoordNoPerspAMD = 4992,
+            BaryCoordNoPerspCentroidAMD = 4993,
+            BaryCoordNoPerspSampleAMD = 4994,
+            BaryCoordSmoothAMD = 4995,
+            BaryCoordSmoothCentroidAMD = 4996,
+            BaryCoordSmoothSampleAMD = 4997,
+            BaryCoordPullModelAMD = 4998,
+            FragStencilRefEXT = 5014,
+            ViewportMaskNV = 5253,
+            SecondaryPositionNV = 5257,
+            SecondaryViewportMaskNV = 5258,
+            PositionPerViewNV = 5261,
+            ViewportMaskPerViewNV = 5262,
+            FullyCoveredEXT = 5264,
+            TaskCountNV = 5274,
+            PrimitiveCountNV = 5275,
+            PrimitiveIndicesNV = 5276,
+            ClipDistancePerViewNV = 5277,
+            CullDistancePerViewNV = 5278,
+            LayerPerViewNV = 5279,
+            MeshViewCountNV = 5280,
+            MeshViewIndicesNV = 5281,
+            BaryCoordKHR = 5286,
+            BaryCoordNV = 5286,
+            BaryCoordNoPerspKHR = 5287,
+            BaryCoordNoPerspNV = 5287,
+            FragSizeEXT = 5292,
+            FragmentSizeNV = 5292,
+            FragInvocationCountEXT = 5293,
+            InvocationsPerPixelNV = 5293,
+            PrimitivePointIndicesEXT = 5294,
+            PrimitiveLineIndicesEXT = 5295,
+            PrimitiveTriangleIndicesEXT = 5296,
+            CullPrimitiveEXT = 5299,
+            LaunchIdKHR = 5319,
+            LaunchIdNV = 5319,
+            LaunchSizeKHR = 5320,
+            LaunchSizeNV = 5320,
+            WorldRayOriginKHR = 5321,
+            WorldRayOriginNV = 5321,
+            WorldRayDirectionKHR = 5322,
+            WorldRayDirectionNV = 5322,
+            ObjectRayOriginKHR = 5323,
+            ObjectRayOriginNV = 5323,
+            ObjectRayDirectionKHR = 5324,
+            ObjectRayDirectionNV = 5324,
+            RayTminKHR = 5325,
+            RayTminNV = 5325,
+            RayTmaxKHR = 5326,
+            RayTmaxNV = 5326,
+            InstanceCustomIndexKHR = 5327,
+            InstanceCustomIndexNV = 5327,
+            ObjectToWorldKHR = 5330,
+            ObjectToWorldNV = 5330,
+            WorldToObjectKHR = 5331,
+            WorldToObjectNV = 5331,
+            HitTNV = 5332,
+            HitKindKHR = 5333,
+            HitKindNV = 5333,
+            CurrentRayTimeNV = 5334,
+            IncomingRayFlagsKHR = 5351,
+            IncomingRayFlagsNV = 5351,
+            RayGeometryIndexKHR = 5352,
+            WarpsPerSMNV = 5374,
+            SMCountNV = 5375,
+            WarpIDNV = 5376,
+            SMIDNV = 5377,
+            CullMaskKHR = 6021,
+        }
+
+        [AllowDuplicates, CRepr] public enum SelectionControlShift
+        {
+            Flatten = 0,
+            DontFlatten = 1,
+        }
+
+        [AllowDuplicates, CRepr] public enum SelectionControlMask
+        {
+            MaskNone = 0,
+            Flatten = 0x00000001,
+            DontFlatten = 0x00000002,
+        }
+
+        [AllowDuplicates, CRepr] public enum LoopControlShift
+        {
+            Unroll = 0,
+            DontUnroll = 1,
+            DependencyInfinite = 2,
+            DependencyLength = 3,
+            MinIterations = 4,
+            MaxIterations = 5,
+            IterationMultiple = 6,
+            PeelCount = 7,
+            PartialCount = 8,
+            InitiationIntervalINTEL = 16,
+            MaxConcurrencyINTEL = 17,
+            DependencyArrayINTEL = 18,
+            PipelineEnableINTEL = 19,
+            LoopCoalesceINTEL = 20,
+            MaxInterleavingINTEL = 21,
+            SpeculatedIterationsINTEL = 22,
+            NoFusionINTEL = 23,
+        }
+
+        [AllowDuplicates, CRepr] public enum LoopControlMask
+        {
+            MaskNone = 0,
+            Unroll = 0x00000001,
+            DontUnroll = 0x00000002,
+            DependencyInfinite = 0x00000004,
+            DependencyLength = 0x00000008,
+            MinIterations = 0x00000010,
+            MaxIterations = 0x00000020,
+            IterationMultiple = 0x00000040,
+            PeelCount = 0x00000080,
+            PartialCount = 0x00000100,
+            InitiationIntervalINTEL = 0x00010000,
+            MaxConcurrencyINTEL = 0x00020000,
+            DependencyArrayINTEL = 0x00040000,
+            PipelineEnableINTEL = 0x00080000,
+            LoopCoalesceINTEL = 0x00100000,
+            MaxInterleavingINTEL = 0x00200000,
+            SpeculatedIterationsINTEL = 0x00400000,
+            NoFusionINTEL = 0x00800000,
+        }
+
+        [AllowDuplicates, CRepr] public enum FunctionControlShift
+        {
+            Inline = 0,
+            DontInline = 1,
+            Pure = 2,
+            Const = 3,
+            OptNoneINTEL = 16,
+        }
+
+        [AllowDuplicates, CRepr] public enum FunctionControlMask
+        {
+            MaskNone = 0,
+            Inline = 0x00000001,
+            DontInline = 0x00000002,
+            Pure = 0x00000004,
+            Const = 0x00000008,
+            OptNoneINTEL = 0x00010000,
+        }
+
+        [AllowDuplicates, CRepr] public enum MemorySemanticsShift
+        {
+            Acquire = 1,
+            Release = 2,
+            AcquireRelease = 3,
+            SequentiallyConsistent = 4,
+            UniformMemory = 6,
+            SubgroupMemory = 7,
+            WorkgroupMemory = 8,
+            CrossWorkgroupMemory = 9,
+            AtomicCounterMemory = 10,
+            ImageMemory = 11,
+            OutputMemory = 12,
+            OutputMemoryKHR = 12,
+            MakeAvailable = 13,
+            MakeAvailableKHR = 13,
+            MakeVisible = 14,
+            MakeVisibleKHR = 14,
+            Volatile = 15,
+        }
+
+        [AllowDuplicates, CRepr] public enum MemorySemanticsMask
+        {
+            MaskNone = 0,
+            Acquire = 0x00000002,
+            Release = 0x00000004,
+            AcquireRelease = 0x00000008,
+            SequentiallyConsistent = 0x00000010,
+            UniformMemory = 0x00000040,
+            SubgroupMemory = 0x00000080,
+            WorkgroupMemory = 0x00000100,
+            CrossWorkgroupMemory = 0x00000200,
+            AtomicCounterMemory = 0x00000400,
+            ImageMemory = 0x00000800,
+            OutputMemory = 0x00001000,
+            OutputMemoryKHR = 0x00001000,
+            MakeAvailable = 0x00002000,
+            MakeAvailableKHR = 0x00002000,
+            MakeVisible = 0x00004000,
+            MakeVisibleKHR = 0x00004000,
+            Volatile = 0x00008000,
+        }
+
+        [AllowDuplicates, CRepr] public enum MemoryAccessShift
+        {
+            Volatile = 0,
+            Aligned = 1,
+            Nontemporal = 2,
+            MakePointerAvailable = 3,
+            MakePointerAvailableKHR = 3,
+            MakePointerVisible = 4,
+            MakePointerVisibleKHR = 4,
+            NonPrivatePointer = 5,
+            NonPrivatePointerKHR = 5,
+            AliasScopeINTELMask = 16,
+            NoAliasINTELMask = 17,
+        }
+
+        [AllowDuplicates, CRepr] public enum MemoryAccessMask
+        {
+            MaskNone = 0,
+            Volatile = 0x00000001,
+            Aligned = 0x00000002,
+            Nontemporal = 0x00000004,
+            MakePointerAvailable = 0x00000008,
+            MakePointerAvailableKHR = 0x00000008,
+            MakePointerVisible = 0x00000010,
+            MakePointerVisibleKHR = 0x00000010,
+            NonPrivatePointer = 0x00000020,
+            NonPrivatePointerKHR = 0x00000020,
+            AliasScopeINTELMask = 0x00010000,
+            NoAliasINTELMask = 0x00020000,
+        }
+
+        [AllowDuplicates, CRepr] public enum Scope
+        {
+            CrossDevice = 0,
+            Device = 1,
+            Workgroup = 2,
+            Subgroup = 3,
+            Invocation = 4,
+            QueueFamily = 5,
+            QueueFamilyKHR = 5,
+            ShaderCallKHR = 6,
+        }
+
+        [AllowDuplicates, CRepr] public enum GroupOperation
+        {
+            Reduce = 0,
+            InclusiveScan = 1,
+            ExclusiveScan = 2,
+            ClusteredReduce = 3,
+            PartitionedReduceNV = 6,
+            PartitionedInclusiveScanNV = 7,
+            PartitionedExclusiveScanNV = 8,
+        }
+
+        [AllowDuplicates, CRepr] public enum KernelEnqueueFlags
+        {
+            NoWait = 0,
+            WaitKernel = 1,
+            WaitWorkGroup = 2,
+        }
+
+        [AllowDuplicates, CRepr] public enum KernelProfilingInfoShift
+        {
+            CmdExecTime = 0,
+        }
+
+        [AllowDuplicates, CRepr] public enum KernelProfilingInfoMask
+        {
+            MaskNone = 0,
+            CmdExecTime = 0x00000001,
+        }
+
+        [AllowDuplicates, CRepr] public enum Capability
+        {
+            Matrix = 0,
+            Shader = 1,
+            Geometry = 2,
+            Tessellation = 3,
+            Addresses = 4,
+            Linkage = 5,
+            Kernel = 6,
+            Vector16 = 7,
+            Float16Buffer = 8,
+            Float16 = 9,
+            Float64 = 10,
+            Int64 = 11,
+            Int64Atomics = 12,
+            ImageBasic = 13,
+            ImageReadWrite = 14,
+            ImageMipmap = 15,
+            Pipes = 17,
+            Groups = 18,
+            DeviceEnqueue = 19,
+            LiteralSampler = 20,
+            AtomicStorage = 21,
+            Int16 = 22,
+            TessellationPointSize = 23,
+            GeometryPointSize = 24,
+            ImageGatherExtended = 25,
+            StorageImageMultisample = 27,
+            UniformBufferArrayDynamicIndexing = 28,
+            SampledImageArrayDynamicIndexing = 29,
+            StorageBufferArrayDynamicIndexing = 30,
+            StorageImageArrayDynamicIndexing = 31,
+            ClipDistance = 32,
+            CullDistance = 33,
+            ImageCubeArray = 34,
+            SampleRateShading = 35,
+            ImageRect = 36,
+            SampledRect = 37,
+            GenericPointer = 38,
+            Int8 = 39,
+            InputAttachment = 40,
+            SparseResidency = 41,
+            MinLod = 42,
+            Sampled1D = 43,
+            Image1D = 44,
+            SampledCubeArray = 45,
+            SampledBuffer = 46,
+            ImageBuffer = 47,
+            ImageMSArray = 48,
+            StorageImageExtendedFormats = 49,
+            ImageQuery = 50,
+            DerivativeControl = 51,
+            InterpolationFunction = 52,
+            TransformFeedback = 53,
+            GeometryStreams = 54,
+            StorageImageReadWithoutFormat = 55,
+            StorageImageWriteWithoutFormat = 56,
+            MultiViewport = 57,
+            SubgroupDispatch = 58,
+            NamedBarrier = 59,
+            PipeStorage = 60,
+            GroupNonUniform = 61,
+            GroupNonUniformVote = 62,
+            GroupNonUniformArithmetic = 63,
+            GroupNonUniformBallot = 64,
+            GroupNonUniformShuffle = 65,
+            GroupNonUniformShuffleRelative = 66,
+            GroupNonUniformClustered = 67,
+            GroupNonUniformQuad = 68,
+            ShaderLayer = 69,
+            ShaderViewportIndex = 70,
+            UniformDecoration = 71,
+            CoreBuiltinsARM = 4165,
+            FragmentShadingRateKHR = 4422,
+            SubgroupBallotKHR = 4423,
+            DrawParameters = 4427,
+            WorkgroupMemoryExplicitLayoutKHR = 4428,
+            WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
+            WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
+            SubgroupVoteKHR = 4431,
+            StorageBuffer16BitAccess = 4433,
+            StorageUniformBufferBlock16 = 4433,
+            StorageUniform16 = 4434,
+            UniformAndStorageBuffer16BitAccess = 4434,
+            StoragePushConstant16 = 4435,
+            StorageInputOutput16 = 4436,
+            DeviceGroup = 4437,
+            MultiView = 4439,
+            VariablePointersStorageBuffer = 4441,
+            VariablePointers = 4442,
+            AtomicStorageOps = 4445,
+            SampleMaskPostDepthCoverage = 4447,
+            StorageBuffer8BitAccess = 4448,
+            UniformAndStorageBuffer8BitAccess = 4449,
+            StoragePushConstant8 = 4450,
+            DenormPreserve = 4464,
+            DenormFlushToZero = 4465,
+            SignedZeroInfNanPreserve = 4466,
+            RoundingModeRTE = 4467,
+            RoundingModeRTZ = 4468,
+            RayQueryProvisionalKHR = 4471,
+            RayQueryKHR = 4472,
+            RayTraversalPrimitiveCullingKHR = 4478,
+            RayTracingKHR = 4479,
+            Float16ImageAMD = 5008,
+            ImageGatherBiasLodAMD = 5009,
+            FragmentMaskAMD = 5010,
+            StencilExportEXT = 5013,
+            ImageReadWriteLodAMD = 5015,
+            Int64ImageEXT = 5016,
+            ShaderClockKHR = 5055,
+            SampleMaskOverrideCoverageNV = 5249,
+            GeometryShaderPassthroughNV = 5251,
+            ShaderViewportIndexLayerEXT = 5254,
+            ShaderViewportIndexLayerNV = 5254,
+            ShaderViewportMaskNV = 5255,
+            ShaderStereoViewNV = 5259,
+            PerViewAttributesNV = 5260,
+            FragmentFullyCoveredEXT = 5265,
+            MeshShadingNV = 5266,
+            ImageFootprintNV = 5282,
+            MeshShadingEXT = 5283,
+            FragmentBarycentricKHR = 5284,
+            FragmentBarycentricNV = 5284,
+            ComputeDerivativeGroupQuadsNV = 5288,
+            FragmentDensityEXT = 5291,
+            ShadingRateNV = 5291,
+            GroupNonUniformPartitionedNV = 5297,
+            ShaderNonUniform = 5301,
+            ShaderNonUniformEXT = 5301,
+            RuntimeDescriptorArray = 5302,
+            RuntimeDescriptorArrayEXT = 5302,
+            InputAttachmentArrayDynamicIndexing = 5303,
+            InputAttachmentArrayDynamicIndexingEXT = 5303,
+            UniformTexelBufferArrayDynamicIndexing = 5304,
+            UniformTexelBufferArrayDynamicIndexingEXT = 5304,
+            StorageTexelBufferArrayDynamicIndexing = 5305,
+            StorageTexelBufferArrayDynamicIndexingEXT = 5305,
+            UniformBufferArrayNonUniformIndexing = 5306,
+            UniformBufferArrayNonUniformIndexingEXT = 5306,
+            SampledImageArrayNonUniformIndexing = 5307,
+            SampledImageArrayNonUniformIndexingEXT = 5307,
+            StorageBufferArrayNonUniformIndexing = 5308,
+            StorageBufferArrayNonUniformIndexingEXT = 5308,
+            StorageImageArrayNonUniformIndexing = 5309,
+            StorageImageArrayNonUniformIndexingEXT = 5309,
+            InputAttachmentArrayNonUniformIndexing = 5310,
+            InputAttachmentArrayNonUniformIndexingEXT = 5310,
+            UniformTexelBufferArrayNonUniformIndexing = 5311,
+            UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+            StorageTexelBufferArrayNonUniformIndexing = 5312,
+            StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+            RayTracingNV = 5340,
+            RayTracingMotionBlurNV = 5341,
+            VulkanMemoryModel = 5345,
+            VulkanMemoryModelKHR = 5345,
+            VulkanMemoryModelDeviceScope = 5346,
+            VulkanMemoryModelDeviceScopeKHR = 5346,
+            PhysicalStorageBufferAddresses = 5347,
+            PhysicalStorageBufferAddressesEXT = 5347,
+            ComputeDerivativeGroupLinearNV = 5350,
+            RayTracingProvisionalKHR = 5353,
+            CooperativeMatrixNV = 5357,
+            FragmentShaderSampleInterlockEXT = 5363,
+            FragmentShaderShadingRateInterlockEXT = 5372,
+            ShaderSMBuiltinsNV = 5373,
+            FragmentShaderPixelInterlockEXT = 5378,
+            DemoteToHelperInvocation = 5379,
+            DemoteToHelperInvocationEXT = 5379,
+            RayTracingOpacityMicromapEXT = 5381,
+            BindlessTextureNV = 5390,
+            SubgroupShuffleINTEL = 5568,
+            SubgroupBufferBlockIOINTEL = 5569,
+            SubgroupImageBlockIOINTEL = 5570,
+            SubgroupImageMediaBlockIOINTEL = 5579,
+            RoundToInfinityINTEL = 5582,
+            FloatingPointModeINTEL = 5583,
+            IntegerFunctions2INTEL = 5584,
+            FunctionPointersINTEL = 5603,
+            IndirectReferencesINTEL = 5604,
+            AsmINTEL = 5606,
+            AtomicFloat32MinMaxEXT = 5612,
+            AtomicFloat64MinMaxEXT = 5613,
+            AtomicFloat16MinMaxEXT = 5616,
+            VectorComputeINTEL = 5617,
+            VectorAnyINTEL = 5619,
+            ExpectAssumeKHR = 5629,
+            SubgroupAvcMotionEstimationINTEL = 5696,
+            SubgroupAvcMotionEstimationIntraINTEL = 5697,
+            SubgroupAvcMotionEstimationChromaINTEL = 5698,
+            VariableLengthArrayINTEL = 5817,
+            FunctionFloatControlINTEL = 5821,
+            FPGAMemoryAttributesINTEL = 5824,
+            FPFastMathModeINTEL = 5837,
+            ArbitraryPrecisionIntegersINTEL = 5844,
+            ArbitraryPrecisionFloatingPointINTEL = 5845,
+            UnstructuredLoopControlsINTEL = 5886,
+            FPGALoopControlsINTEL = 5888,
+            KernelAttributesINTEL = 5892,
+            FPGAKernelAttributesINTEL = 5897,
+            FPGAMemoryAccessesINTEL = 5898,
+            FPGAClusterAttributesINTEL = 5904,
+            LoopFuseINTEL = 5906,
+            MemoryAccessAliasingINTEL = 5910,
+            FPGABufferLocationINTEL = 5920,
+            ArbitraryPrecisionFixedPointINTEL = 5922,
+            USMStorageClassesINTEL = 5935,
+            IOPipesINTEL = 5943,
+            BlockingPipesINTEL = 5945,
+            FPGARegINTEL = 5948,
+            DotProductInputAll = 6016,
+            DotProductInputAllKHR = 6016,
+            DotProductInput4x8Bit = 6017,
+            DotProductInput4x8BitKHR = 6017,
+            DotProductInput4x8BitPacked = 6018,
+            DotProductInput4x8BitPackedKHR = 6018,
+            DotProduct = 6019,
+            DotProductKHR = 6019,
+            RayCullMaskKHR = 6020,
+            BitInstructions = 6025,
+            GroupNonUniformRotateKHR = 6026,
+            AtomicFloat32AddEXT = 6033,
+            AtomicFloat64AddEXT = 6034,
+            LongConstantCompositeINTEL = 6089,
+            OptNoneINTEL = 6094,
+            AtomicFloat16AddEXT = 6095,
+            DebugInfoModuleINTEL = 6114,
+            SplitBarrierINTEL = 6141,
+            GroupUniformArithmeticKHR = 6400,
+        }
+
+        [AllowDuplicates, CRepr] public enum RayFlagsShift
+        {
+            OpaqueKHR = 0,
+            NoOpaqueKHR = 1,
+            TerminateOnFirstHitKHR = 2,
+            SkipClosestHitShaderKHR = 3,
+            CullBackFacingTrianglesKHR = 4,
+            CullFrontFacingTrianglesKHR = 5,
+            CullOpaqueKHR = 6,
+            CullNoOpaqueKHR = 7,
+            SkipTrianglesKHR = 8,
+            SkipAABBsKHR = 9,
+            ForceOpacityMicromap2StateEXT = 10,
+        }
+
+        [AllowDuplicates, CRepr] public enum RayFlagsMask
+        {
+            MaskNone = 0,
+            OpaqueKHR = 0x00000001,
+            NoOpaqueKHR = 0x00000002,
+            TerminateOnFirstHitKHR = 0x00000004,
+            SkipClosestHitShaderKHR = 0x00000008,
+            CullBackFacingTrianglesKHR = 0x00000010,
+            CullFrontFacingTrianglesKHR = 0x00000020,
+            CullOpaqueKHR = 0x00000040,
+            CullNoOpaqueKHR = 0x00000080,
+            SkipTrianglesKHR = 0x00000100,
+            SkipAABBsKHR = 0x00000200,
+            ForceOpacityMicromap2StateEXT = 0x00000400,
+        }
+
+        [AllowDuplicates, CRepr] public enum RayQueryIntersection
+        {
+            RayQueryCandidateIntersectionKHR = 0,
+            RayQueryCommittedIntersectionKHR = 1,
+        }
+
+        [AllowDuplicates, CRepr] public enum RayQueryCommittedIntersectionType
+        {
+            RayQueryCommittedIntersectionNoneKHR = 0,
+            RayQueryCommittedIntersectionTriangleKHR = 1,
+            RayQueryCommittedIntersectionGeneratedKHR = 2,
+        }
+
+        [AllowDuplicates, CRepr] public enum RayQueryCandidateIntersectionType
+        {
+            RayQueryCandidateIntersectionTriangleKHR = 0,
+            RayQueryCandidateIntersectionAABBKHR = 1,
+        }
+
+        [AllowDuplicates, CRepr] public enum FragmentShadingRateShift
+        {
+            Vertical2Pixels = 0,
+            Vertical4Pixels = 1,
+            Horizontal2Pixels = 2,
+            Horizontal4Pixels = 3,
+        }
+
+        [AllowDuplicates, CRepr] public enum FragmentShadingRateMask
+        {
+            MaskNone = 0,
+            Vertical2Pixels = 0x00000001,
+            Vertical4Pixels = 0x00000002,
+            Horizontal2Pixels = 0x00000004,
+            Horizontal4Pixels = 0x00000008,
+        }
+
+        [AllowDuplicates, CRepr] public enum FPDenormMode
+        {
+            Preserve = 0,
+            FlushToZero = 1,
+        }
+
+        [AllowDuplicates, CRepr] public enum FPOperationMode
+        {
+            IEEE = 0,
+            ALT = 1,
+        }
+
+        [AllowDuplicates, CRepr] public enum QuantizationModes
+        {
+            TRN = 0,
+            TRN_ZERO = 1,
+            RND = 2,
+            RND_ZERO = 3,
+            RND_INF = 4,
+            RND_MIN_INF = 5,
+            RND_CONV = 6,
+            RND_CONV_ODD = 7,
+        }
+
+        [AllowDuplicates, CRepr] public enum OverflowModes
+        {
+            WRAP = 0,
+            SAT = 1,
+            SAT_ZERO = 2,
+            SAT_SYM = 3,
+        }
+
+        [AllowDuplicates, CRepr] public enum PackedVectorFormat
+        {
+            PackedVectorFormat4x8Bit = 0,
+            PackedVectorFormat4x8BitKHR = 0,
+        }
+
+        [AllowDuplicates, CRepr] public enum Op
+        {
+            OpNop = 0,
+            OpUndef = 1,
+            OpSourceContinued = 2,
+            OpSource = 3,
+            OpSourceExtension = 4,
+            OpName = 5,
+            OpMemberName = 6,
+            OpString = 7,
+            OpLine = 8,
+            OpExtension = 10,
+            OpExtInstImport = 11,
+            OpExtInst = 12,
+            OpMemoryModel = 14,
+            OpEntryPoint = 15,
+            OpExecutionMode = 16,
+            OpCapability = 17,
+            OpTypeVoid = 19,
+            OpTypeBool = 20,
+            OpTypeInt = 21,
+            OpTypeFloat = 22,
+            OpTypeVector = 23,
+            OpTypeMatrix = 24,
+            OpTypeImage = 25,
+            OpTypeSampler = 26,
+            OpTypeSampledImage = 27,
+            OpTypeArray = 28,
+            OpTypeRuntimeArray = 29,
+            OpTypeStruct = 30,
+            OpTypeOpaque = 31,
+            OpTypePointer = 32,
+            OpTypeFunction = 33,
+            OpTypeEvent = 34,
+            OpTypeDeviceEvent = 35,
+            OpTypeReserveId = 36,
+            OpTypeQueue = 37,
+            OpTypePipe = 38,
+            OpTypeForwardPointer = 39,
+            OpConstantTrue = 41,
+            OpConstantFalse = 42,
+            OpConstant = 43,
+            OpConstantComposite = 44,
+            OpConstantSampler = 45,
+            OpConstantNull = 46,
+            OpSpecConstantTrue = 48,
+            OpSpecConstantFalse = 49,
+            OpSpecConstant = 50,
+            OpSpecConstantComposite = 51,
+            OpSpecConstantOp = 52,
+            OpFunction = 54,
+            OpFunctionParameter = 55,
+            OpFunctionEnd = 56,
+            OpFunctionCall = 57,
+            OpVariable = 59,
+            OpImageTexelPointer = 60,
+            OpLoad = 61,
+            OpStore = 62,
+            OpCopyMemory = 63,
+            OpCopyMemorySized = 64,
+            OpAccessChain = 65,
+            OpInBoundsAccessChain = 66,
+            OpPtrAccessChain = 67,
+            OpArrayLength = 68,
+            OpGenericPtrMemSemantics = 69,
+            OpInBoundsPtrAccessChain = 70,
+            OpDecorate = 71,
+            OpMemberDecorate = 72,
+            OpDecorationGroup = 73,
+            OpGroupDecorate = 74,
+            OpGroupMemberDecorate = 75,
+            OpVectorExtractDynamic = 77,
+            OpVectorInsertDynamic = 78,
+            OpVectorShuffle = 79,
+            OpCompositeConstruct = 80,
+            OpCompositeExtract = 81,
+            OpCompositeInsert = 82,
+            OpCopyObject = 83,
+            OpTranspose = 84,
+            OpSampledImage = 86,
+            OpImageSampleImplicitLod = 87,
+            OpImageSampleExplicitLod = 88,
+            OpImageSampleDrefImplicitLod = 89,
+            OpImageSampleDrefExplicitLod = 90,
+            OpImageSampleProjImplicitLod = 91,
+            OpImageSampleProjExplicitLod = 92,
+            OpImageSampleProjDrefImplicitLod = 93,
+            OpImageSampleProjDrefExplicitLod = 94,
+            OpImageFetch = 95,
+            OpImageGather = 96,
+            OpImageDrefGather = 97,
+            OpImageRead = 98,
+            OpImageWrite = 99,
+            OpImage = 100,
+            OpImageQueryFormat = 101,
+            OpImageQueryOrder = 102,
+            OpImageQuerySizeLod = 103,
+            OpImageQuerySize = 104,
+            OpImageQueryLod = 105,
+            OpImageQueryLevels = 106,
+            OpImageQuerySamples = 107,
+            OpConvertFToU = 109,
+            OpConvertFToS = 110,
+            OpConvertSToF = 111,
+            OpConvertUToF = 112,
+            OpUConvert = 113,
+            OpSConvert = 114,
+            OpFConvert = 115,
+            OpQuantizeToF16 = 116,
+            OpConvertPtrToU = 117,
+            OpSatConvertSToU = 118,
+            OpSatConvertUToS = 119,
+            OpConvertUToPtr = 120,
+            OpPtrCastToGeneric = 121,
+            OpGenericCastToPtr = 122,
+            OpGenericCastToPtrExplicit = 123,
+            OpBitcast = 124,
+            OpSNegate = 126,
+            OpFNegate = 127,
+            OpIAdd = 128,
+            OpFAdd = 129,
+            OpISub = 130,
+            OpFSub = 131,
+            OpIMul = 132,
+            OpFMul = 133,
+            OpUDiv = 134,
+            OpSDiv = 135,
+            OpFDiv = 136,
+            OpUMod = 137,
+            OpSRem = 138,
+            OpSMod = 139,
+            OpFRem = 140,
+            OpFMod = 141,
+            OpVectorTimesScalar = 142,
+            OpMatrixTimesScalar = 143,
+            OpVectorTimesMatrix = 144,
+            OpMatrixTimesVector = 145,
+            OpMatrixTimesMatrix = 146,
+            OpOuterProduct = 147,
+            OpDot = 148,
+            OpIAddCarry = 149,
+            OpISubBorrow = 150,
+            OpUMulExtended = 151,
+            OpSMulExtended = 152,
+            OpAny = 154,
+            OpAll = 155,
+            OpIsNan = 156,
+            OpIsInf = 157,
+            OpIsFinite = 158,
+            OpIsNormal = 159,
+            OpSignBitSet = 160,
+            OpLessOrGreater = 161,
+            OpOrdered = 162,
+            OpUnordered = 163,
+            OpLogicalEqual = 164,
+            OpLogicalNotEqual = 165,
+            OpLogicalOr = 166,
+            OpLogicalAnd = 167,
+            OpLogicalNot = 168,
+            OpSelect = 169,
+            OpIEqual = 170,
+            OpINotEqual = 171,
+            OpUGreaterThan = 172,
+            OpSGreaterThan = 173,
+            OpUGreaterThanEqual = 174,
+            OpSGreaterThanEqual = 175,
+            OpULessThan = 176,
+            OpSLessThan = 177,
+            OpULessThanEqual = 178,
+            OpSLessThanEqual = 179,
+            OpFOrdEqual = 180,
+            OpFUnordEqual = 181,
+            OpFOrdNotEqual = 182,
+            OpFUnordNotEqual = 183,
+            OpFOrdLessThan = 184,
+            OpFUnordLessThan = 185,
+            OpFOrdGreaterThan = 186,
+            OpFUnordGreaterThan = 187,
+            OpFOrdLessThanEqual = 188,
+            OpFUnordLessThanEqual = 189,
+            OpFOrdGreaterThanEqual = 190,
+            OpFUnordGreaterThanEqual = 191,
+            OpShiftRightLogical = 194,
+            OpShiftRightArithmetic = 195,
+            OpShiftLeftLogical = 196,
+            OpBitwiseOr = 197,
+            OpBitwiseXor = 198,
+            OpBitwiseAnd = 199,
+            OpNot = 200,
+            OpBitFieldInsert = 201,
+            OpBitFieldSExtract = 202,
+            OpBitFieldUExtract = 203,
+            OpBitReverse = 204,
+            OpBitCount = 205,
+            OpDPdx = 207,
+            OpDPdy = 208,
+            OpFwidth = 209,
+            OpDPdxFine = 210,
+            OpDPdyFine = 211,
+            OpFwidthFine = 212,
+            OpDPdxCoarse = 213,
+            OpDPdyCoarse = 214,
+            OpFwidthCoarse = 215,
+            OpEmitVertex = 218,
+            OpEndPrimitive = 219,
+            OpEmitStreamVertex = 220,
+            OpEndStreamPrimitive = 221,
+            OpControlBarrier = 224,
+            OpMemoryBarrier = 225,
+            OpAtomicLoad = 227,
+            OpAtomicStore = 228,
+            OpAtomicExchange = 229,
+            OpAtomicCompareExchange = 230,
+            OpAtomicCompareExchangeWeak = 231,
+            OpAtomicIIncrement = 232,
+            OpAtomicIDecrement = 233,
+            OpAtomicIAdd = 234,
+            OpAtomicISub = 235,
+            OpAtomicSMin = 236,
+            OpAtomicUMin = 237,
+            OpAtomicSMax = 238,
+            OpAtomicUMax = 239,
+            OpAtomicAnd = 240,
+            OpAtomicOr = 241,
+            OpAtomicXor = 242,
+            OpPhi = 245,
+            OpLoopMerge = 246,
+            OpSelectionMerge = 247,
+            OpLabel = 248,
+            OpBranch = 249,
+            OpBranchConditional = 250,
+            OpSwitch = 251,
+            OpKill = 252,
+            OpReturn = 253,
+            OpReturnValue = 254,
+            OpUnreachable = 255,
+            OpLifetimeStart = 256,
+            OpLifetimeStop = 257,
+            OpGroupAsyncCopy = 259,
+            OpGroupWaitEvents = 260,
+            OpGroupAll = 261,
+            OpGroupAny = 262,
+            OpGroupBroadcast = 263,
+            OpGroupIAdd = 264,
+            OpGroupFAdd = 265,
+            OpGroupFMin = 266,
+            OpGroupUMin = 267,
+            OpGroupSMin = 268,
+            OpGroupFMax = 269,
+            OpGroupUMax = 270,
+            OpGroupSMax = 271,
+            OpReadPipe = 274,
+            OpWritePipe = 275,
+            OpReservedReadPipe = 276,
+            OpReservedWritePipe = 277,
+            OpReserveReadPipePackets = 278,
+            OpReserveWritePipePackets = 279,
+            OpCommitReadPipe = 280,
+            OpCommitWritePipe = 281,
+            OpIsValidReserveId = 282,
+            OpGetNumPipePackets = 283,
+            OpGetMaxPipePackets = 284,
+            OpGroupReserveReadPipePackets = 285,
+            OpGroupReserveWritePipePackets = 286,
+            OpGroupCommitReadPipe = 287,
+            OpGroupCommitWritePipe = 288,
+            OpEnqueueMarker = 291,
+            OpEnqueueKernel = 292,
+            OpGetKernelNDrangeSubGroupCount = 293,
+            OpGetKernelNDrangeMaxSubGroupSize = 294,
+            OpGetKernelWorkGroupSize = 295,
+            OpGetKernelPreferredWorkGroupSizeMultiple = 296,
+            OpRetainEvent = 297,
+            OpReleaseEvent = 298,
+            OpCreateUserEvent = 299,
+            OpIsValidEvent = 300,
+            OpSetUserEventStatus = 301,
+            OpCaptureEventProfilingInfo = 302,
+            OpGetDefaultQueue = 303,
+            OpBuildNDRange = 304,
+            OpImageSparseSampleImplicitLod = 305,
+            OpImageSparseSampleExplicitLod = 306,
+            OpImageSparseSampleDrefImplicitLod = 307,
+            OpImageSparseSampleDrefExplicitLod = 308,
+            OpImageSparseSampleProjImplicitLod = 309,
+            OpImageSparseSampleProjExplicitLod = 310,
+            OpImageSparseSampleProjDrefImplicitLod = 311,
+            OpImageSparseSampleProjDrefExplicitLod = 312,
+            OpImageSparseFetch = 313,
+            OpImageSparseGather = 314,
+            OpImageSparseDrefGather = 315,
+            OpImageSparseTexelsResident = 316,
+            OpNoLine = 317,
+            OpAtomicFlagTestAndSet = 318,
+            OpAtomicFlagClear = 319,
+            OpImageSparseRead = 320,
+            OpSizeOf = 321,
+            OpTypePipeStorage = 322,
+            OpConstantPipeStorage = 323,
+            OpCreatePipeFromPipeStorage = 324,
+            OpGetKernelLocalSizeForSubgroupCount = 325,
+            OpGetKernelMaxNumSubgroups = 326,
+            OpTypeNamedBarrier = 327,
+            OpNamedBarrierInitialize = 328,
+            OpMemoryNamedBarrier = 329,
+            OpModuleProcessed = 330,
+            OpExecutionModeId = 331,
+            OpDecorateId = 332,
+            OpGroupNonUniformElect = 333,
+            OpGroupNonUniformAll = 334,
+            OpGroupNonUniformAny = 335,
+            OpGroupNonUniformAllEqual = 336,
+            OpGroupNonUniformBroadcast = 337,
+            OpGroupNonUniformBroadcastFirst = 338,
+            OpGroupNonUniformBallot = 339,
+            OpGroupNonUniformInverseBallot = 340,
+            OpGroupNonUniformBallotBitExtract = 341,
+            OpGroupNonUniformBallotBitCount = 342,
+            OpGroupNonUniformBallotFindLSB = 343,
+            OpGroupNonUniformBallotFindMSB = 344,
+            OpGroupNonUniformShuffle = 345,
+            OpGroupNonUniformShuffleXor = 346,
+            OpGroupNonUniformShuffleUp = 347,
+            OpGroupNonUniformShuffleDown = 348,
+            OpGroupNonUniformIAdd = 349,
+            OpGroupNonUniformFAdd = 350,
+            OpGroupNonUniformIMul = 351,
+            OpGroupNonUniformFMul = 352,
+            OpGroupNonUniformSMin = 353,
+            OpGroupNonUniformUMin = 354,
+            OpGroupNonUniformFMin = 355,
+            OpGroupNonUniformSMax = 356,
+            OpGroupNonUniformUMax = 357,
+            OpGroupNonUniformFMax = 358,
+            OpGroupNonUniformBitwiseAnd = 359,
+            OpGroupNonUniformBitwiseOr = 360,
+            OpGroupNonUniformBitwiseXor = 361,
+            OpGroupNonUniformLogicalAnd = 362,
+            OpGroupNonUniformLogicalOr = 363,
+            OpGroupNonUniformLogicalXor = 364,
+            OpGroupNonUniformQuadBroadcast = 365,
+            OpGroupNonUniformQuadSwap = 366,
+            OpCopyLogical = 400,
+            OpPtrEqual = 401,
+            OpPtrNotEqual = 402,
+            OpPtrDiff = 403,
+            OpTerminateInvocation = 4416,
+            OpSubgroupBallotKHR = 4421,
+            OpSubgroupFirstInvocationKHR = 4422,
+            OpSubgroupAllKHR = 4428,
+            OpSubgroupAnyKHR = 4429,
+            OpSubgroupAllEqualKHR = 4430,
+            OpGroupNonUniformRotateKHR = 4431,
+            OpSubgroupReadInvocationKHR = 4432,
+            OpTraceRayKHR = 4445,
+            OpExecuteCallableKHR = 4446,
+            OpConvertUToAccelerationStructureKHR = 4447,
+            OpIgnoreIntersectionKHR = 4448,
+            OpTerminateRayKHR = 4449,
+            OpSDot = 4450,
+            OpSDotKHR = 4450,
+            OpUDot = 4451,
+            OpUDotKHR = 4451,
+            OpSUDot = 4452,
+            OpSUDotKHR = 4452,
+            OpSDotAccSat = 4453,
+            OpSDotAccSatKHR = 4453,
+            OpUDotAccSat = 4454,
+            OpUDotAccSatKHR = 4454,
+            OpSUDotAccSat = 4455,
+            OpSUDotAccSatKHR = 4455,
+            OpTypeRayQueryKHR = 4472,
+            OpRayQueryInitializeKHR = 4473,
+            OpRayQueryTerminateKHR = 4474,
+            OpRayQueryGenerateIntersectionKHR = 4475,
+            OpRayQueryConfirmIntersectionKHR = 4476,
+            OpRayQueryProceedKHR = 4477,
+            OpRayQueryGetIntersectionTypeKHR = 4479,
+            OpGroupIAddNonUniformAMD = 5000,
+            OpGroupFAddNonUniformAMD = 5001,
+            OpGroupFMinNonUniformAMD = 5002,
+            OpGroupUMinNonUniformAMD = 5003,
+            OpGroupSMinNonUniformAMD = 5004,
+            OpGroupFMaxNonUniformAMD = 5005,
+            OpGroupUMaxNonUniformAMD = 5006,
+            OpGroupSMaxNonUniformAMD = 5007,
+            OpFragmentMaskFetchAMD = 5011,
+            OpFragmentFetchAMD = 5012,
+            OpReadClockKHR = 5056,
+            OpImageSampleFootprintNV = 5283,
+            OpEmitMeshTasksEXT = 5294,
+            OpSetMeshOutputsEXT = 5295,
+            OpGroupNonUniformPartitionNV = 5296,
+            OpWritePackedPrimitiveIndices4x8NV = 5299,
+            OpReportIntersectionKHR = 5334,
+            OpReportIntersectionNV = 5334,
+            OpIgnoreIntersectionNV = 5335,
+            OpTerminateRayNV = 5336,
+            OpTraceNV = 5337,
+            OpTraceMotionNV = 5338,
+            OpTraceRayMotionNV = 5339,
+            OpTypeAccelerationStructureKHR = 5341,
+            OpTypeAccelerationStructureNV = 5341,
+            OpExecuteCallableNV = 5344,
+            OpTypeCooperativeMatrixNV = 5358,
+            OpCooperativeMatrixLoadNV = 5359,
+            OpCooperativeMatrixStoreNV = 5360,
+            OpCooperativeMatrixMulAddNV = 5361,
+            OpCooperativeMatrixLengthNV = 5362,
+            OpBeginInvocationInterlockEXT = 5364,
+            OpEndInvocationInterlockEXT = 5365,
+            OpDemoteToHelperInvocation = 5380,
+            OpDemoteToHelperInvocationEXT = 5380,
+            OpIsHelperInvocationEXT = 5381,
+            OpConvertUToImageNV = 5391,
+            OpConvertUToSamplerNV = 5392,
+            OpConvertImageToUNV = 5393,
+            OpConvertSamplerToUNV = 5394,
+            OpConvertUToSampledImageNV = 5395,
+            OpConvertSampledImageToUNV = 5396,
+            OpSamplerImageAddressingModeNV = 5397,
+            OpSubgroupShuffleINTEL = 5571,
+            OpSubgroupShuffleDownINTEL = 5572,
+            OpSubgroupShuffleUpINTEL = 5573,
+            OpSubgroupShuffleXorINTEL = 5574,
+            OpSubgroupBlockReadINTEL = 5575,
+            OpSubgroupBlockWriteINTEL = 5576,
+            OpSubgroupImageBlockReadINTEL = 5577,
+            OpSubgroupImageBlockWriteINTEL = 5578,
+            OpSubgroupImageMediaBlockReadINTEL = 5580,
+            OpSubgroupImageMediaBlockWriteINTEL = 5581,
+            OpUCountLeadingZerosINTEL = 5585,
+            OpUCountTrailingZerosINTEL = 5586,
+            OpAbsISubINTEL = 5587,
+            OpAbsUSubINTEL = 5588,
+            OpIAddSatINTEL = 5589,
+            OpUAddSatINTEL = 5590,
+            OpIAverageINTEL = 5591,
+            OpUAverageINTEL = 5592,
+            OpIAverageRoundedINTEL = 5593,
+            OpUAverageRoundedINTEL = 5594,
+            OpISubSatINTEL = 5595,
+            OpUSubSatINTEL = 5596,
+            OpIMul32x16INTEL = 5597,
+            OpUMul32x16INTEL = 5598,
+            OpConstantFunctionPointerINTEL = 5600,
+            OpFunctionPointerCallINTEL = 5601,
+            OpAsmTargetINTEL = 5609,
+            OpAsmINTEL = 5610,
+            OpAsmCallINTEL = 5611,
+            OpAtomicFMinEXT = 5614,
+            OpAtomicFMaxEXT = 5615,
+            OpAssumeTrueKHR = 5630,
+            OpExpectKHR = 5631,
+            OpDecorateString = 5632,
+            OpDecorateStringGOOGLE = 5632,
+            OpMemberDecorateString = 5633,
+            OpMemberDecorateStringGOOGLE = 5633,
+            OpVmeImageINTEL = 5699,
+            OpTypeVmeImageINTEL = 5700,
+            OpTypeAvcImePayloadINTEL = 5701,
+            OpTypeAvcRefPayloadINTEL = 5702,
+            OpTypeAvcSicPayloadINTEL = 5703,
+            OpTypeAvcMcePayloadINTEL = 5704,
+            OpTypeAvcMceResultINTEL = 5705,
+            OpTypeAvcImeResultINTEL = 5706,
+            OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
+            OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
+            OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
+            OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
+            OpTypeAvcRefResultINTEL = 5711,
+            OpTypeAvcSicResultINTEL = 5712,
+            OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
+            OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
+            OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
+            OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
+            OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
+            OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
+            OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
+            OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
+            OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
+            OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
+            OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
+            OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
+            OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
+            OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
+            OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
+            OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
+            OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
+            OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
+            OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
+            OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
+            OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
+            OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
+            OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
+            OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
+            OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
+            OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
+            OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
+            OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
+            OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
+            OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
+            OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
+            OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
+            OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
+            OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
+            OpSubgroupAvcImeInitializeINTEL = 5747,
+            OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
+            OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
+            OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
+            OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
+            OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
+            OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
+            OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
+            OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
+            OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
+            OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
+            OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
+            OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
+            OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
+            OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
+            OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
+            OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
+            OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
+            OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
+            OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
+            OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
+            OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
+            OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
+            OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
+            OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
+            OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
+            OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
+            OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
+            OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
+            OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
+            OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
+            OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
+            OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
+            OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
+            OpSubgroupAvcFmeInitializeINTEL = 5781,
+            OpSubgroupAvcBmeInitializeINTEL = 5782,
+            OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
+            OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
+            OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
+            OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
+            OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
+            OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
+            OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
+            OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
+            OpSubgroupAvcSicInitializeINTEL = 5791,
+            OpSubgroupAvcSicConfigureSkcINTEL = 5792,
+            OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
+            OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
+            OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
+            OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
+            OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
+            OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
+            OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
+            OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
+            OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
+            OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
+            OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
+            OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
+            OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
+            OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
+            OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
+            OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
+            OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
+            OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
+            OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
+            OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
+            OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
+            OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
+            OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
+            OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+            OpVariableLengthArrayINTEL = 5818,
+            OpSaveMemoryINTEL = 5819,
+            OpRestoreMemoryINTEL = 5820,
+            OpArbitraryFloatSinCosPiINTEL = 5840,
+            OpArbitraryFloatCastINTEL = 5841,
+            OpArbitraryFloatCastFromIntINTEL = 5842,
+            OpArbitraryFloatCastToIntINTEL = 5843,
+            OpArbitraryFloatAddINTEL = 5846,
+            OpArbitraryFloatSubINTEL = 5847,
+            OpArbitraryFloatMulINTEL = 5848,
+            OpArbitraryFloatDivINTEL = 5849,
+            OpArbitraryFloatGTINTEL = 5850,
+            OpArbitraryFloatGEINTEL = 5851,
+            OpArbitraryFloatLTINTEL = 5852,
+            OpArbitraryFloatLEINTEL = 5853,
+            OpArbitraryFloatEQINTEL = 5854,
+            OpArbitraryFloatRecipINTEL = 5855,
+            OpArbitraryFloatRSqrtINTEL = 5856,
+            OpArbitraryFloatCbrtINTEL = 5857,
+            OpArbitraryFloatHypotINTEL = 5858,
+            OpArbitraryFloatSqrtINTEL = 5859,
+            OpArbitraryFloatLogINTEL = 5860,
+            OpArbitraryFloatLog2INTEL = 5861,
+            OpArbitraryFloatLog10INTEL = 5862,
+            OpArbitraryFloatLog1pINTEL = 5863,
+            OpArbitraryFloatExpINTEL = 5864,
+            OpArbitraryFloatExp2INTEL = 5865,
+            OpArbitraryFloatExp10INTEL = 5866,
+            OpArbitraryFloatExpm1INTEL = 5867,
+            OpArbitraryFloatSinINTEL = 5868,
+            OpArbitraryFloatCosINTEL = 5869,
+            OpArbitraryFloatSinCosINTEL = 5870,
+            OpArbitraryFloatSinPiINTEL = 5871,
+            OpArbitraryFloatCosPiINTEL = 5872,
+            OpArbitraryFloatASinINTEL = 5873,
+            OpArbitraryFloatASinPiINTEL = 5874,
+            OpArbitraryFloatACosINTEL = 5875,
+            OpArbitraryFloatACosPiINTEL = 5876,
+            OpArbitraryFloatATanINTEL = 5877,
+            OpArbitraryFloatATanPiINTEL = 5878,
+            OpArbitraryFloatATan2INTEL = 5879,
+            OpArbitraryFloatPowINTEL = 5880,
+            OpArbitraryFloatPowRINTEL = 5881,
+            OpArbitraryFloatPowNINTEL = 5882,
+            OpLoopControlINTEL = 5887,
+            OpAliasDomainDeclINTEL = 5911,
+            OpAliasScopeDeclINTEL = 5912,
+            OpAliasScopeListDeclINTEL = 5913,
+            OpFixedSqrtINTEL = 5923,
+            OpFixedRecipINTEL = 5924,
+            OpFixedRsqrtINTEL = 5925,
+            OpFixedSinINTEL = 5926,
+            OpFixedCosINTEL = 5927,
+            OpFixedSinCosINTEL = 5928,
+            OpFixedSinPiINTEL = 5929,
+            OpFixedCosPiINTEL = 5930,
+            OpFixedSinCosPiINTEL = 5931,
+            OpFixedLogINTEL = 5932,
+            OpFixedExpINTEL = 5933,
+            OpPtrCastToCrossWorkgroupINTEL = 5934,
+            OpCrossWorkgroupCastToPtrINTEL = 5938,
+            OpReadPipeBlockingINTEL = 5946,
+            OpWritePipeBlockingINTEL = 5947,
+            OpFPGARegINTEL = 5949,
+            OpRayQueryGetRayTMinKHR = 6016,
+            OpRayQueryGetRayFlagsKHR = 6017,
+            OpRayQueryGetIntersectionTKHR = 6018,
+            OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
+            OpRayQueryGetIntersectionInstanceIdKHR = 6020,
+            OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
+            OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
+            OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
+            OpRayQueryGetIntersectionBarycentricsKHR = 6024,
+            OpRayQueryGetIntersectionFrontFaceKHR = 6025,
+            OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
+            OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
+            OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
+            OpRayQueryGetWorldRayDirectionKHR = 6029,
+            OpRayQueryGetWorldRayOriginKHR = 6030,
+            OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
+            OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+            OpAtomicFAddEXT = 6035,
+            OpTypeBufferSurfaceINTEL = 6086,
+            OpTypeStructContinuedINTEL = 6090,
+            OpConstantCompositeContinuedINTEL = 6091,
+            OpSpecConstantCompositeContinuedINTEL = 6092,
+            OpControlBarrierArriveINTEL = 6142,
+            OpControlBarrierWaitINTEL = 6143,
+            OpGroupIMulKHR = 6401,
+            OpGroupFMulKHR = 6402,
+            OpGroupBitwiseAndKHR = 6403,
+            OpGroupBitwiseOrKHR = 6404,
+            OpGroupBitwiseXorKHR = 6405,
+            OpGroupLogicalAndKHR = 6406,
+            OpGroupLogicalOrKHR = 6407,
+            OpGroupLogicalXorKHR = 6408,
+        }
+    }
+}
+
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 0578497..c6517c4 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -26,8 +26,8 @@
   ],
   "magic_number" : "0x07230203",
   "major_version" : 1,
-  "minor_version" : 5,
-  "revision" : 4,
+  "minor_version" : 6,
+  "revision" : 1,
   "instruction_printing_class" : [
     {
       "tag"     : "@exclude"
@@ -1735,7 +1735,8 @@
         { "kind" : "IdRef",        "name" : "'x'" },
         { "kind" : "IdRef",        "name" : "'y'" }
       ],
-      "capabilities" : [ "Kernel" ]
+      "capabilities" : [ "Kernel" ],
+      "lastVersion" : "1.5"
     },
     {
       "opname" : "OpOrdered",
@@ -4109,7 +4110,7 @@
         "SPV_KHR_terminate_invocation"
       ],
       "capabilities" : [ "Shader" ],
-      "version" : "None"
+      "version" : "1.6"
     },
     {
       "opname" : "OpSubgroupBallotKHR",
@@ -4183,6 +4184,21 @@
       "version" : "None"
     },
     {
+      "opname" : "OpGroupNonUniformRotateKHR",
+      "class"  : "Group",
+      "opcode" : 4431,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdScope", "name" : "'Execution'" },
+        { "kind" : "IdRef", "name" : "'Value'" },
+        { "kind" : "IdRef", "name" : "'Delta'" },
+        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "GroupNonUniformRotateKHR" ],
+      "version" : "None"
+    },
+    {
       "opname" : "OpSubgroupReadInvocationKHR",
       "class"  : "Group",
       "opcode" : 4432,
@@ -4261,6 +4277,20 @@
       "version" : "None"
     },
     {
+      "opname" : "OpSDot",
+      "class"  : "Arithmetic",
+      "opcode" : 4450,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Vector 1'" },
+        { "kind" : "IdRef", "name" : "'Vector 2'" },
+        { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "DotProduct" ],
+      "version" : "1.6"
+    },
+    {
       "opname" : "OpSDotKHR",
       "class"  : "Arithmetic",
       "opcode" : 4450,
@@ -4272,7 +4302,22 @@
         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
       ],
       "capabilities" : [ "DotProductKHR" ],
-      "version" : "None"
+      "extensions" : [ "SPV_KHR_integer_dot_product" ],
+      "version" : "1.6"
+    },
+    {
+      "opname" : "OpUDot",
+      "class"  : "Arithmetic",
+      "opcode" : 4451,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Vector 1'" },
+        { "kind" : "IdRef", "name" : "'Vector 2'" },
+        { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "DotProduct" ],
+      "version" : "1.6"
     },
     {
       "opname" : "OpUDotKHR",
@@ -4286,7 +4331,22 @@
         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
       ],
       "capabilities" : [ "DotProductKHR" ],
-      "version" : "None"
+      "extensions" : [ "SPV_KHR_integer_dot_product" ],
+      "version" : "1.6"
+    },
+    {
+      "opname" : "OpSUDot",
+      "class"  : "Arithmetic",
+      "opcode" : 4452,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Vector 1'" },
+        { "kind" : "IdRef", "name" : "'Vector 2'" },
+        { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "DotProduct" ],
+      "version" : "1.6"
     },
     {
       "opname" : "OpSUDotKHR",
@@ -4300,7 +4360,23 @@
         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
       ],
       "capabilities" : [ "DotProductKHR" ],
-      "version" : "None"
+      "extensions" : [ "SPV_KHR_integer_dot_product" ],
+      "version" : "1.6"
+    },
+    {
+      "opname" : "OpSDotAccSat",
+      "class"  : "Arithmetic",
+      "opcode" : 4453,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Vector 1'" },
+        { "kind" : "IdRef", "name" : "'Vector 2'" },
+        { "kind" : "IdRef", "name" : "'Accumulator'" },
+        { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "DotProduct" ],
+      "version" : "1.6"
     },
     {
       "opname" : "OpSDotAccSatKHR",
@@ -4315,7 +4391,23 @@
         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
       ],
       "capabilities" : [ "DotProductKHR" ],
-      "version" : "None"
+      "extensions" : [ "SPV_KHR_integer_dot_product" ],
+      "version" : "1.6"
+    },
+    {
+      "opname" : "OpUDotAccSat",
+      "class"  : "Arithmetic",
+      "opcode" : 4454,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Vector 1'" },
+        { "kind" : "IdRef", "name" : "'Vector 2'" },
+        { "kind" : "IdRef", "name" : "'Accumulator'" },
+        { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "DotProduct" ],
+      "version" : "1.6"
     },
     {
       "opname" : "OpUDotAccSatKHR",
@@ -4330,7 +4422,23 @@
         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
       ],
       "capabilities" : [ "DotProductKHR" ],
-      "version" : "None"
+      "extensions" : [ "SPV_KHR_integer_dot_product" ],
+      "version" : "1.6"
+    },
+    {
+      "opname" : "OpSUDotAccSat",
+      "class"  : "Arithmetic",
+      "opcode" : 4455,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Vector 1'" },
+        { "kind" : "IdRef", "name" : "'Vector 2'" },
+        { "kind" : "IdRef", "name" : "'Accumulator'" },
+        { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "DotProduct" ],
+      "version" : "1.6"
     },
     {
       "opname" : "OpSUDotAccSatKHR",
@@ -4345,7 +4453,8 @@
         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
       ],
       "capabilities" : [ "DotProductKHR" ],
-      "version" : "None"
+      "extensions" : [ "SPV_KHR_integer_dot_product" ],
+      "version" : "1.6"
     },
     {
         "opname" : "OpTypeRayQueryKHR",
@@ -4663,6 +4772,30 @@
       "version" : "None"
     },
     {
+      "opname" : "OpEmitMeshTasksEXT",
+      "class"  : "Reserved",
+      "opcode" : 5294,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Group Count X'" },
+        { "kind" : "IdRef", "name" : "'Group Count Y'" },
+        { "kind" : "IdRef", "name" : "'Group Count Z'" },
+        { "kind" : "IdRef", "quantifier" : "?", "name" : "'Payload'" }
+      ],
+      "capabilities" : [ "MeshShadingEXT" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpSetMeshOutputsEXT",
+      "class"  : "Reserved",
+      "opcode" : 5295,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Vertex Count'" },
+        { "kind" : "IdRef", "name" : "'Primitive Count'" }
+      ],
+      "capabilities" : [ "MeshShadingEXT" ],
+      "version" : "None"
+    },
+    {
       "opname" : "OpGroupNonUniformPartitionNV",
       "class"  : "Non-Uniform",
       "opcode" : 5296,
@@ -4925,12 +5058,18 @@
       "version" : "None"
     },
     {
+      "opname" : "OpDemoteToHelperInvocation",
+      "class"  : "Control-Flow",
+      "opcode" : 5380,
+      "capabilities" : [ "DemoteToHelperInvocation" ],
+      "version" : "1.6"
+    },
+    {
       "opname" : "OpDemoteToHelperInvocationEXT",
-      "class"  : "Reserved",
+      "class"  : "Control-Flow",
       "opcode" : 5380,
       "capabilities" : [ "DemoteToHelperInvocationEXT" ],
-      "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
-      "version" : "None"
+      "version" : "1.6"
     },
     {
       "opname" : "OpIsHelperInvocationEXT",
@@ -7770,6 +7909,43 @@
       "version" : "None"
     },
     {
+      "opname" : "OpAliasDomainDeclINTEL",
+      "class"  : "@exclude",
+      "opcode" : 5911,
+      "operands" : [
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "quantifier" : "?", "name" : "'Name'" }
+      ],
+      "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+      "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpAliasScopeDeclINTEL",
+      "class"  : "@exclude",
+      "opcode" : 5912,
+      "operands" : [
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Alias Domain'"},
+        { "kind" : "IdRef", "quantifier" : "?", "name" : "'Name'" }
+      ],
+      "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+      "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpAliasScopeListDeclINTEL",
+      "class"  : "@exclude",
+      "opcode" : 5913,
+      "operands" : [
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "quantifier" : "*", "name" : "'AliasScope1, AliasScope2, ...'" }
+      ],
+      "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+      "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+      "version" : "None"
+    },
+    {
       "opname" : "OpFixedSqrtINTEL",
       "class"  : "@exclude",
       "opcode" : 5923,
@@ -8412,6 +8588,142 @@
       ],
       "capabilities" : [ "LongConstantCompositeINTEL" ],
       "version" : "None"
+    },
+    {
+      "opname" : "OpControlBarrierArriveINTEL",
+      "class"  : "Barrier",
+      "opcode" : 6142,
+      "operands" : [
+        { "kind" : "IdScope",           "name" : "'Execution'" },
+        { "kind" : "IdScope",           "name" : "'Memory'" },
+        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
+      ],
+      "capabilities" : [ "SplitBarrierINTEL" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpControlBarrierWaitINTEL",
+      "class"  : "Barrier",
+      "opcode" : 6143,
+      "operands" : [
+        { "kind" : "IdScope",           "name" : "'Execution'" },
+        { "kind" : "IdScope",           "name" : "'Memory'" },
+        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
+      ],
+      "capabilities" : [ "SplitBarrierINTEL" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpGroupIMulKHR",
+      "class"  : "Group",
+      "opcode" : 6401,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdScope",        "name" : "'Execution'" },
+        { "kind" : "GroupOperation", "name" : "'Operation'" },
+        { "kind" : "IdRef",          "name" : "'X'" }
+      ],
+      "capabilities" : [ "GroupUniformArithmeticKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpGroupFMulKHR",
+      "class"  : "Group",
+      "opcode" : 6402,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdScope",        "name" : "'Execution'" },
+        { "kind" : "GroupOperation", "name" : "'Operation'" },
+        { "kind" : "IdRef",          "name" : "'X'" }
+      ],
+      "capabilities" : [ "GroupUniformArithmeticKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpGroupBitwiseAndKHR",
+      "class"  : "Group",
+      "opcode" : 6403,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdScope",        "name" : "'Execution'" },
+        { "kind" : "GroupOperation", "name" : "'Operation'" },
+        { "kind" : "IdRef",          "name" : "'X'" }
+      ],
+      "capabilities" : [ "GroupUniformArithmeticKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpGroupBitwiseOrKHR",
+      "class"  : "Group",
+      "opcode" : 6404,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdScope",        "name" : "'Execution'" },
+        { "kind" : "GroupOperation", "name" : "'Operation'" },
+        { "kind" : "IdRef",          "name" : "'X'" }
+      ],
+      "capabilities" : [ "GroupUniformArithmeticKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpGroupBitwiseXorKHR",
+      "class"  : "Group",
+      "opcode" : 6405,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdScope",        "name" : "'Execution'" },
+        { "kind" : "GroupOperation", "name" : "'Operation'" },
+        { "kind" : "IdRef",          "name" : "'X'" }
+      ],
+      "capabilities" : [ "GroupUniformArithmeticKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpGroupLogicalAndKHR",
+      "class"  : "Group",
+      "opcode" : 6406,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdScope",        "name" : "'Execution'" },
+        { "kind" : "GroupOperation", "name" : "'Operation'" },
+        { "kind" : "IdRef",          "name" : "'X'" }
+      ],
+      "capabilities" : [ "GroupUniformArithmeticKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpGroupLogicalOrKHR",
+      "class"  : "Group",
+      "opcode" : 6407,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdScope",        "name" : "'Execution'" },
+        { "kind" : "GroupOperation", "name" : "'Operation'" },
+        { "kind" : "IdRef",          "name" : "'X'" }
+      ],
+      "capabilities" : [ "GroupUniformArithmeticKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpGroupLogicalXorKHR",
+      "class"  : "Group",
+      "opcode" : 6408,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdScope",        "name" : "'Execution'" },
+        { "kind" : "GroupOperation", "name" : "'Operation'" },
+        { "kind" : "IdRef",          "name" : "'X'" }
+      ],
+      "capabilities" : [ "GroupUniformArithmeticKHR" ],
+      "version" : "None"
     }
   ],
   "operand_kinds" : [
@@ -8559,6 +8871,11 @@
           "version" : "1.4"
         },
         {
+          "enumerant" : "Nontemporal",
+          "value" : "0x4000",
+          "version" : "1.6"
+        },
+        {
           "enumerant" : "Offsets",
           "value" : "0x10000",
           "parameters" : [
@@ -8985,6 +9302,26 @@
           "capabilities" : [ "VulkanMemoryModel" ],
           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
           "version" : "1.5"
+        },
+        {
+          "enumerant" : "AliasScopeINTELMask",
+          "value" : "0x10000",
+          "parameters" : [
+            { "kind" : "IdRef" }
+          ],
+          "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+          "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "NoAliasINTELMask",
+          "parameters" : [
+            { "kind" : "IdRef" }
+          ],
+          "value" : "0x20000",
+          "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+          "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+          "version" : "None"
         }
       ]
     },
@@ -9072,6 +9409,12 @@
           "value" : "0x0200",
           "capabilities" : [ "RayTraversalPrimitiveCullingKHR" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "ForceOpacityMicromap2StateEXT",
+          "value" : "0x0400",
+          "capabilities" : [ "RayTracingOpacityMicromapEXT" ],
+          "version" : "None"
         }
       ]
     },
@@ -9136,6 +9479,10 @@
         {
           "enumerant" : "CPP_for_OpenCL",
           "value" : 6
+        },
+        {
+          "enumerant" : "SYCL",
+          "value" : 7
         }
       ]
     },
@@ -9261,6 +9608,18 @@
           "value" : 5318,
           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "TaskEXT",
+          "value" : 5364,
+          "capabilities" : [ "MeshShadingEXT" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MeshEXT",
+          "value" : 5365,
+          "capabilities" : [ "MeshShadingEXT" ],
+          "version" : "None"
         }
       ]
     },
@@ -9476,7 +9835,7 @@
         {
           "enumerant" : "OutputVertices",
           "value" : 26,
-          "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
+          "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV", "MeshShadingEXT" ],
           "parameters" : [
             { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
           ]
@@ -9484,7 +9843,7 @@
         {
           "enumerant" : "OutputPoints",
           "value" : 27,
-          "capabilities" : [ "Geometry", "MeshShadingNV" ]
+          "capabilities" : [ "Geometry", "MeshShadingNV", "MeshShadingEXT" ]
         },
         {
           "enumerant" : "OutputLineStrip",
@@ -9634,6 +9993,13 @@
           "version" : "1.4"
         },
         {
+          "enumerant": "EarlyAndLateFragmentTestsAMD",
+          "value": 5017,
+          "capabilities": [ "Shader" ],
+          "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests" ],
+          "version": "None"
+        },
+        {
           "enumerant" : "StencilRefReplacingEXT",
           "value" : 5027,
           "capabilities" : [ "StencilExportEXT" ],
@@ -9641,20 +10007,79 @@
           "version" : "None"
         },
         {
+          "enumerant": "StencilRefUnchangedFrontAMD",
+          "value": 5079,
+          "capabilities": [ "StencilExportEXT" ],
+          "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ],
+          "version": "None"
+        },
+        {
+          "enumerant": "StencilRefGreaterFrontAMD",
+          "value": 5080,
+          "capabilities": [ "StencilExportEXT" ],
+          "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ],
+          "version": "None"
+        },
+        {
+          "enumerant": "StencilRefLessFrontAMD",
+          "value": 5081,
+          "capabilities": [ "StencilExportEXT" ],
+          "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ],
+          "version": "None"
+        },
+        {
+          "enumerant": "StencilRefUnchangedBackAMD",
+          "value": 5082,
+          "capabilities": [ "StencilExportEXT" ],
+          "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ],
+          "version": "None"
+        },
+        {
+          "enumerant": "StencilRefGreaterBackAMD",
+          "value": 5083,
+          "capabilities": [ "StencilExportEXT" ],
+          "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ],
+          "version": "None"
+        },
+        {
+          "enumerant": "StencilRefLessBackAMD",
+          "value": 5084,
+          "capabilities": [ "StencilExportEXT" ],
+          "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ],
+          "version": "None"
+        },
+        {
           "enumerant" : "OutputLinesNV",
           "value" : 5269,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
+          "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
+          "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "OutputLinesEXT",
+          "value" : 5269,
+          "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
+          "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
           "version" : "None"
         },
         {
           "enumerant" : "OutputPrimitivesNV",
           "value" : 5270,
-          "capabilities" : [ "MeshShadingNV" ],
+          "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
           "parameters" : [
             { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
           ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
+          "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "OutputPrimitivesEXT",
+          "value" : 5270,
+          "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
+          ],
+          "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
           "version" : "None"
         },
         {
@@ -9674,8 +10099,15 @@
         {
           "enumerant" : "OutputTrianglesNV",
           "value" : 5298,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
+          "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
+          "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "OutputTrianglesEXT",
+          "value" : 5298,
+          "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
+          "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
           "version" : "None"
         },
         {
@@ -9812,6 +10244,15 @@
           ],
           "capabilities" : [ "FPGAKernelAttributesINTEL" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "NamedBarrierCountINTEL",
+          "value" : 6417,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'Barrier Count'" }
+          ],
+          "capabilities" : [ "VectorComputeINTEL" ],
+          "version" : "None"
         }
       ]
     },
@@ -9982,6 +10423,13 @@
           "version" : "1.5"
         },
         {
+          "enumerant" : "TaskPayloadWorkgroupEXT",
+          "value" : 5402,
+          "extensions" : [ "SPV_EXT_mesh_shader" ],
+          "capabilities" : [ "MeshShadingEXT" ],
+          "version" : "1.4"
+        },
+        {
           "enumerant" : "CodeSectionINTEL",
           "value" : 5605,
           "extensions" : [ "SPV_INTEL_function_pointers" ],
@@ -10877,12 +11325,12 @@
         {
           "enumerant" : "Uniform",
           "value" : 26,
-          "capabilities" : [ "Shader" ]
+          "capabilities" : [ "Shader", "UniformDecoration" ]
         },
         {
           "enumerant" : "UniformId",
           "value" : 27,
-          "capabilities" : [ "Shader" ],
+          "capabilities" : [ "Shader", "UniformDecoration" ],
           "parameters" : [
             { "kind" : "IdScope",           "name" : "'Execution'" }
           ],
@@ -11096,8 +11544,15 @@
         {
           "enumerant" : "PerPrimitiveNV",
           "value" : 5271,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
+          "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
+          "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "PerPrimitiveEXT",
+          "value" : 5271,
+          "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
+          "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
           "version" : "None"
         },
         {
@@ -11110,15 +11565,22 @@
         {
           "enumerant" : "PerTaskNV",
           "value" : 5273,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
+          "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
+          "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "PerVertexKHR",
+          "value" : 5285,
+          "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ],
+          "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ],
           "version" : "None"
         },
         {
           "enumerant" : "PerVertexNV",
           "value" : 5285,
-          "capabilities" : [ "FragmentBarycentricNV" ],
-          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
+          "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ],
+          "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ],
           "version" : "None"
         },
         {
@@ -11468,6 +11930,24 @@
           "version" : "None"
         },
         {
+          "enumerant" : "AliasScopeINTEL",
+          "value" : 5914,
+          "parameters" : [
+            { "kind" : "IdRef", "name" : "'Aliasing Scopes List'" }
+          ],
+          "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "NoAliasINTEL",
+          "value" : 5915,
+          "parameters" : [
+            { "kind" : "IdRef", "name" : "'Aliasing Scopes List'" }
+          ],
+          "capabilities" : [ "MemoryAccessAliasingINTEL" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "BufferLocationINTEL",
           "value" : 5921,
           "parameters" : [
@@ -11506,6 +11986,12 @@
           "value" : 6087,
           "capabilities" : [ "VectorComputeINTEL" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "MediaBlockIOINTEL",
+          "value" : 6140,
+          "capabilities" : [ "VectorComputeINTEL" ],
+          "version" : "None"
         }
       ]
     },
@@ -11546,7 +12032,7 @@
         {
           "enumerant" : "PrimitiveId",
           "value" : 7,
-          "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV" ]
+          "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV", "MeshShadingEXT" ]
         },
         {
           "enumerant" : "InvocationId",
@@ -11556,12 +12042,12 @@
         {
           "enumerant" : "Layer",
           "value" : 9,
-          "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT", "MeshShadingNV" ]
+          "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ]
         },
         {
           "enumerant" : "ViewportIndex",
           "value" : 10,
-          "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT", "MeshShadingNV" ]
+          "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ]
         },
         {
           "enumerant" : "TessLevelOuter",
@@ -11713,6 +12199,31 @@
           "capabilities" : [ "Shader" ]
         },
         {
+          "enumerant" : "CoreIDARM",
+          "value" : 4160,
+          "capabilities" : [ "CoreBuiltinsARM" ]
+        },
+        {
+          "enumerant" : "CoreCountARM",
+          "value" : 4161,
+          "capabilities" : [ "CoreBuiltinsARM" ]
+        },
+        {
+          "enumerant" : "CoreMaxIDARM",
+          "value" : 4162,
+          "capabilities" : [ "CoreBuiltinsARM" ]
+        },
+        {
+          "enumerant" : "WarpIDARM",
+          "value" : 4163,
+          "capabilities" : [ "CoreBuiltinsARM" ]
+        },
+        {
+          "enumerant" : "WarpMaxIDARM",
+          "value" : 4164,
+          "capabilities" : [ "CoreBuiltinsARM" ]
+        },
+        {
           "enumerant" : "SubgroupEqMask",
           "value" : 4416,
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
@@ -11794,8 +12305,8 @@
         {
           "enumerant" : "DrawIndex",
           "value" : 4426,
-          "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
-          "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
+          "capabilities" : [ "DrawParameters", "MeshShadingNV", "MeshShadingEXT" ],
+          "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
           "version" : "1.3"
         },
         {
@@ -11974,17 +12485,31 @@
           "version" : "None"
         },
         {
+          "enumerant" : "BaryCoordKHR",
+          "value" : 5286,
+          "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ],
+          "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "BaryCoordNV",
           "value" : 5286,
-          "capabilities" : [ "FragmentBarycentricNV" ],
-          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
+          "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ],
+          "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "BaryCoordNoPerspKHR",
+          "value" : 5287,
+          "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ],
+          "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ],
           "version" : "None"
         },
         {
           "enumerant" : "BaryCoordNoPerspNV",
           "value" : 5287,
-          "capabilities" : [ "FragmentBarycentricNV" ],
-          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
+          "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ],
+          "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ],
           "version" : "None"
         },
         {
@@ -12016,6 +12541,34 @@
           "version" : "None"
         },
         {
+          "enumerant" : "PrimitivePointIndicesEXT",
+          "value" : 5294,
+          "capabilities" : [ "MeshShadingEXT" ],
+          "extensions" : [ "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "PrimitiveLineIndicesEXT",
+          "value" : 5295,
+          "capabilities" : [ "MeshShadingEXT" ],
+          "extensions" : [ "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "PrimitiveTriangleIndicesEXT",
+          "value" : 5296,
+          "capabilities" : [ "MeshShadingEXT" ],
+          "extensions" : [ "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "CullPrimitiveEXT",
+          "value" : 5299,
+          "capabilities" : [ "MeshShadingEXT" ],
+          "extensions" : [ "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "LaunchIdNV",
           "value" : 5319,
           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
@@ -12245,6 +12798,13 @@
           "capabilities" : [ "ShaderSMBuiltinsNV" ],
           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "CullMaskKHR",
+          "value"  : 6021,
+          "capabilities" : [ "RayCullMaskKHR" ],
+          "extensions" : [ "SPV_KHR_ray_cull_mask" ],
+          "version" : "None"
         }
       ]
     },
@@ -12710,6 +13270,16 @@
           "version" : "1.5"
         },
         {
+          "enumerant" : "UniformDecoration",
+          "value" : 71,
+          "version" : "1.6"
+        },
+        {
+          "enumerant" : "CoreBuiltinsARM",
+          "value" : 4165,
+          "extensions" : [ "SPV_ARM_core_builtins" ]
+        },
+        {
           "enumerant" : "FragmentShadingRateKHR",
           "value" : 4422,
           "capabilities" : [ "Shader" ],
@@ -13035,9 +13605,22 @@
           "version" : "None"
         },
         {
+          "enumerant" : "MeshShadingEXT",
+          "value" : 5283,
+          "capabilities" : [ "Shader" ],
+          "extensions" : [ "SPV_EXT_mesh_shader" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "FragmentBarycentricKHR",
+          "value" : 5284,
+          "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "FragmentBarycentricNV",
           "value" : 5284,
-          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
+          "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ],
           "version" : "None"
         },
         {
@@ -13321,10 +13904,23 @@
           "version" : "None"
         },
         {
+          "enumerant" : "DemoteToHelperInvocation",
+          "value" : 5379,
+          "capabilities" : [ "Shader" ],
+          "version" : "1.6"
+        },
+        {
           "enumerant" : "DemoteToHelperInvocationEXT",
           "value" : 5379,
           "capabilities" : [ "Shader" ],
           "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
+          "version" : "1.6"
+        },
+        {
+          "enumerant" : "RayTracingOpacityMicromapEXT",
+          "value" : 5381,
+          "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
+          "extensions" : [ "SPV_EXT_opacity_micromap" ],
           "version" : "None"
         },
         {
@@ -13529,6 +14125,12 @@
           "version" : "None"
         },
         {
+          "enumerant" : "MemoryAccessAliasingINTEL",
+          "value" : 5910,
+          "extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "FPGABufferLocationINTEL",
           "value" : 5920,
           "extensions" : [ "SPV_INTEL_fpga_buffer_location" ],
@@ -13565,28 +14167,55 @@
           "version" : "None"
         },
         {
+          "enumerant" : "DotProductInputAll",
+          "value" : 6016,
+          "version" : "1.6"
+        },
+        {
           "enumerant" : "DotProductInputAllKHR",
           "value" : 6016,
           "extensions" : [ "SPV_KHR_integer_dot_product" ],
-          "version" : "None"
+          "version" : "1.6"
+        },
+        {
+          "enumerant" : "DotProductInput4x8Bit",
+          "value" : 6017,
+          "capabilities" : [ "Int8" ],
+          "version" : "1.6"
         },
         {
           "enumerant" : "DotProductInput4x8BitKHR",
           "value" : 6017,
           "capabilities" : [ "Int8" ],
           "extensions" : [ "SPV_KHR_integer_dot_product" ],
-          "version" : "None"
+          "version" : "1.6"
+        },
+        {
+          "enumerant" : "DotProductInput4x8BitPacked",
+          "value" : 6018,
+          "version" : "1.6"
         },
         {
           "enumerant" : "DotProductInput4x8BitPackedKHR",
           "value" : 6018,
           "extensions" : [ "SPV_KHR_integer_dot_product" ],
-          "version" : "None"
+          "version" : "1.6"
+        },
+        {
+          "enumerant" : "DotProduct",
+          "value" : 6019,
+          "version" : "1.6"
         },
         {
           "enumerant" : "DotProductKHR",
           "value" : 6019,
           "extensions" : [ "SPV_KHR_integer_dot_product" ],
+          "version" : "1.6"
+        },
+        {
+          "enumerant" : "RayCullMaskKHR",
+          "value" : 6020,
+          "extensions" : [ "SPV_KHR_ray_cull_mask" ],
           "version" : "None"
         },
         {
@@ -13596,16 +14225,21 @@
           "version" : "None"
         },
         {
+          "enumerant" : "GroupNonUniformRotateKHR",
+          "value" : 6026,
+          "capabilities" : [ "GroupNonUniform" ],
+          "extensions" : [ "SPV_KHR_subgroup_rotate" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "AtomicFloat32AddEXT",
           "value" : 6033,
-          "capabilities" : [ "Shader" ],
           "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
           "version" : "None"
         },
         {
           "enumerant" : "AtomicFloat64AddEXT",
           "value" : 6034,
-          "capabilities" : [ "Shader" ],
           "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
           "version" : "None"
         },
@@ -13624,7 +14258,6 @@
         {
           "enumerant" : "AtomicFloat16AddEXT",
           "value" : 6095,
-          "capabilities" : [ "Shader" ],
           "extensions" : [ "SPV_EXT_shader_atomic_float16_add" ],
           "version" : "None"
         },
@@ -13633,6 +14266,18 @@
           "value" : 6114,
           "extensions" : [ "SPV_INTEL_debug_module" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "SplitBarrierINTEL",
+          "value" : 6141,
+          "extensions" : [ "SPV_INTEL_split_barrier" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "GroupUniformArithmeticKHR",
+          "value" : 6400,
+          "extensions" : [ "SPV_KHR_uniform_group_instructions"],
+          "version" : "None"
         }
       ]
     },
@@ -13701,10 +14346,15 @@
       "kind" : "PackedVectorFormat",
       "enumerants" : [
         {
+          "enumerant" : "PackedVectorFormat4x8Bit",
+          "value" : 0,
+          "version" : "1.6"
+        },
+        {
           "enumerant" : "PackedVectorFormat4x8BitKHR",
           "value" : 0,
           "extensions" : [ "SPV_KHR_integer_dot_product" ],
-          "version" : "None"
+          "version" : "1.6"
         }
       ]
     },
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index fd007ee..0cf3d34 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -26,7 +26,7 @@
 // the Binary Section of the SPIR-V specification.
 
 // Enumeration tokens for SPIR-V, in various styles:
-//   C, C++, C++11, JSON, Lua, Python, C#, D
+//   C, C++, C++11, JSON, Lua, Python, C#, D, Beef
 // 
 // - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
 // - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
@@ -36,6 +36,8 @@
 // - C# will use enum classes in the Specification class located in the "Spv" namespace,
 //     e.g.: Spv.Specification.SourceLanguage.GLSL
 // - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+// - Beef will use enum classes in the Specification class located in the "Spv" namespace,
+//     e.g.: Spv.Specification.SourceLanguage.GLSL
 // 
 // Some tokens act like mask values, which can be OR'd together,
 // while others are mutually exclusive.  The mask-like ones have
@@ -48,8 +50,8 @@
     public static class Specification
     {
         public const uint MagicNumber = 0x07230203;
-        public const uint Version = 0x00010500;
-        public const uint Revision = 4;
+        public const uint Version = 0x00010600;
+        public const uint Revision = 1;
         public const uint OpCodeMask = 0xffff;
         public const uint WordCountShift = 16;
 
@@ -62,6 +64,7 @@
             OpenCL_CPP = 4,
             HLSL = 5,
             CPP_for_OpenCL = 6,
+            SYCL = 7,
         }
 
         public enum ExecutionModel
@@ -87,6 +90,8 @@
             MissNV = 5317,
             CallableKHR = 5318,
             CallableNV = 5318,
+            TaskEXT = 5364,
+            MeshEXT = 5365,
         }
 
         public enum AddressingModel
@@ -154,11 +159,21 @@
             SignedZeroInfNanPreserve = 4461,
             RoundingModeRTE = 4462,
             RoundingModeRTZ = 4463,
+            EarlyAndLateFragmentTestsAMD = 5017,
             StencilRefReplacingEXT = 5027,
+            StencilRefUnchangedFrontAMD = 5079,
+            StencilRefGreaterFrontAMD = 5080,
+            StencilRefLessFrontAMD = 5081,
+            StencilRefUnchangedBackAMD = 5082,
+            StencilRefGreaterBackAMD = 5083,
+            StencilRefLessBackAMD = 5084,
+            OutputLinesEXT = 5269,
             OutputLinesNV = 5269,
+            OutputPrimitivesEXT = 5270,
             OutputPrimitivesNV = 5270,
             DerivativeGroupQuadsNV = 5289,
             DerivativeGroupLinearNV = 5290,
+            OutputTrianglesEXT = 5298,
             OutputTrianglesNV = 5298,
             PixelInterlockOrderedEXT = 5366,
             PixelInterlockUnorderedEXT = 5367,
@@ -176,6 +191,7 @@
             NoGlobalOffsetINTEL = 5895,
             NumSIMDWorkitemsINTEL = 5896,
             SchedulerTargetFmaxMhzINTEL = 5903,
+            NamedBarrierCountINTEL = 6417,
         }
 
         public enum StorageClass
@@ -207,6 +223,7 @@
             ShaderRecordBufferNV = 5343,
             PhysicalStorageBuffer = 5349,
             PhysicalStorageBufferEXT = 5349,
+            TaskPayloadWorkgroupEXT = 5402,
             CodeSectionINTEL = 5605,
             DeviceOnlyINTEL = 5936,
             HostOnlyINTEL = 5937,
@@ -349,6 +366,7 @@
             VolatileTexelKHR = 11,
             SignExtend = 12,
             ZeroExtend = 13,
+            Nontemporal = 14,
             Offsets = 16,
         }
 
@@ -373,6 +391,7 @@
             VolatileTexelKHR = 0x00000800,
             SignExtend = 0x00001000,
             ZeroExtend = 0x00002000,
+            Nontemporal = 0x00004000,
             Offsets = 0x00010000,
         }
 
@@ -489,9 +508,11 @@
             PassthroughNV = 5250,
             ViewportRelativeNV = 5252,
             SecondaryViewportRelativeNV = 5256,
+            PerPrimitiveEXT = 5271,
             PerPrimitiveNV = 5271,
             PerViewNV = 5272,
             PerTaskNV = 5273,
+            PerVertexKHR = 5285,
             PerVertexNV = 5285,
             NonUniform = 5300,
             NonUniformEXT = 5300,
@@ -537,11 +558,14 @@
             PrefetchINTEL = 5902,
             StallEnableINTEL = 5905,
             FuseLoopsInFunctionINTEL = 5907,
+            AliasScopeINTEL = 5914,
+            NoAliasINTEL = 5915,
             BufferLocationINTEL = 5921,
             IOPipeStorageINTEL = 5944,
             FunctionFloatingPointModeINTEL = 6080,
             SingleElementVectorINTEL = 6085,
             VectorComputeCallableFunctionINTEL = 6087,
+            MediaBlockIOINTEL = 6140,
         }
 
         public enum BuiltIn
@@ -587,6 +611,11 @@
             SubgroupLocalInvocationId = 41,
             VertexIndex = 42,
             InstanceIndex = 43,
+            CoreIDARM = 4160,
+            CoreCountARM = 4161,
+            CoreMaxIDARM = 4162,
+            WarpIDARM = 4163,
+            WarpMaxIDARM = 4164,
             SubgroupEqMask = 4416,
             SubgroupEqMaskKHR = 4416,
             SubgroupGeMask = 4417,
@@ -626,12 +655,18 @@
             LayerPerViewNV = 5279,
             MeshViewCountNV = 5280,
             MeshViewIndicesNV = 5281,
+            BaryCoordKHR = 5286,
             BaryCoordNV = 5286,
+            BaryCoordNoPerspKHR = 5287,
             BaryCoordNoPerspNV = 5287,
             FragSizeEXT = 5292,
             FragmentSizeNV = 5292,
             FragInvocationCountEXT = 5293,
             InvocationsPerPixelNV = 5293,
+            PrimitivePointIndicesEXT = 5294,
+            PrimitiveLineIndicesEXT = 5295,
+            PrimitiveTriangleIndicesEXT = 5296,
+            CullPrimitiveEXT = 5299,
             LaunchIdKHR = 5319,
             LaunchIdNV = 5319,
             LaunchSizeKHR = 5320,
@@ -665,6 +700,7 @@
             SMCountNV = 5375,
             WarpIDNV = 5376,
             SMIDNV = 5377,
+            CullMaskKHR = 6021,
         }
 
         public enum SelectionControlShift
@@ -796,6 +832,8 @@
             MakePointerVisibleKHR = 4,
             NonPrivatePointer = 5,
             NonPrivatePointerKHR = 5,
+            AliasScopeINTELMask = 16,
+            NoAliasINTELMask = 17,
         }
 
         public enum MemoryAccessMask
@@ -810,6 +848,8 @@
             MakePointerVisibleKHR = 0x00000010,
             NonPrivatePointer = 0x00000020,
             NonPrivatePointerKHR = 0x00000020,
+            AliasScopeINTELMask = 0x00010000,
+            NoAliasINTELMask = 0x00020000,
         }
 
         public enum Scope
@@ -924,6 +964,8 @@
             GroupNonUniformQuad = 68,
             ShaderLayer = 69,
             ShaderViewportIndex = 70,
+            UniformDecoration = 71,
+            CoreBuiltinsARM = 4165,
             FragmentShadingRateKHR = 4422,
             SubgroupBallotKHR = 4423,
             DrawParameters = 4427,
@@ -972,6 +1014,8 @@
             FragmentFullyCoveredEXT = 5265,
             MeshShadingNV = 5266,
             ImageFootprintNV = 5282,
+            MeshShadingEXT = 5283,
+            FragmentBarycentricKHR = 5284,
             FragmentBarycentricNV = 5284,
             ComputeDerivativeGroupQuadsNV = 5288,
             FragmentDensityEXT = 5291,
@@ -1016,7 +1060,9 @@
             FragmentShaderShadingRateInterlockEXT = 5372,
             ShaderSMBuiltinsNV = 5373,
             FragmentShaderPixelInterlockEXT = 5378,
+            DemoteToHelperInvocation = 5379,
             DemoteToHelperInvocationEXT = 5379,
+            RayTracingOpacityMicromapEXT = 5381,
             BindlessTextureNV = 5390,
             SubgroupShuffleINTEL = 5568,
             SubgroupBufferBlockIOINTEL = 5569,
@@ -1050,23 +1096,32 @@
             FPGAMemoryAccessesINTEL = 5898,
             FPGAClusterAttributesINTEL = 5904,
             LoopFuseINTEL = 5906,
+            MemoryAccessAliasingINTEL = 5910,
             FPGABufferLocationINTEL = 5920,
             ArbitraryPrecisionFixedPointINTEL = 5922,
             USMStorageClassesINTEL = 5935,
             IOPipesINTEL = 5943,
             BlockingPipesINTEL = 5945,
             FPGARegINTEL = 5948,
+            DotProductInputAll = 6016,
             DotProductInputAllKHR = 6016,
+            DotProductInput4x8Bit = 6017,
             DotProductInput4x8BitKHR = 6017,
+            DotProductInput4x8BitPacked = 6018,
             DotProductInput4x8BitPackedKHR = 6018,
+            DotProduct = 6019,
             DotProductKHR = 6019,
+            RayCullMaskKHR = 6020,
             BitInstructions = 6025,
+            GroupNonUniformRotateKHR = 6026,
             AtomicFloat32AddEXT = 6033,
             AtomicFloat64AddEXT = 6034,
             LongConstantCompositeINTEL = 6089,
             OptNoneINTEL = 6094,
             AtomicFloat16AddEXT = 6095,
             DebugInfoModuleINTEL = 6114,
+            SplitBarrierINTEL = 6141,
+            GroupUniformArithmeticKHR = 6400,
         }
 
         public enum RayFlagsShift
@@ -1081,6 +1136,7 @@
             CullNoOpaqueKHR = 7,
             SkipTrianglesKHR = 8,
             SkipAABBsKHR = 9,
+            ForceOpacityMicromap2StateEXT = 10,
         }
 
         public enum RayFlagsMask
@@ -1096,6 +1152,7 @@
             CullNoOpaqueKHR = 0x00000080,
             SkipTrianglesKHR = 0x00000100,
             SkipAABBsKHR = 0x00000200,
+            ForceOpacityMicromap2StateEXT = 0x00000400,
         }
 
         public enum RayQueryIntersection
@@ -1168,6 +1225,7 @@
 
         public enum PackedVectorFormat
         {
+            PackedVectorFormat4x8Bit = 0,
             PackedVectorFormat4x8BitKHR = 0,
         }
 
@@ -1523,17 +1581,24 @@
             OpSubgroupAllKHR = 4428,
             OpSubgroupAnyKHR = 4429,
             OpSubgroupAllEqualKHR = 4430,
+            OpGroupNonUniformRotateKHR = 4431,
             OpSubgroupReadInvocationKHR = 4432,
             OpTraceRayKHR = 4445,
             OpExecuteCallableKHR = 4446,
             OpConvertUToAccelerationStructureKHR = 4447,
             OpIgnoreIntersectionKHR = 4448,
             OpTerminateRayKHR = 4449,
+            OpSDot = 4450,
             OpSDotKHR = 4450,
+            OpUDot = 4451,
             OpUDotKHR = 4451,
+            OpSUDot = 4452,
             OpSUDotKHR = 4452,
+            OpSDotAccSat = 4453,
             OpSDotAccSatKHR = 4453,
+            OpUDotAccSat = 4454,
             OpUDotAccSatKHR = 4454,
+            OpSUDotAccSat = 4455,
             OpSUDotAccSatKHR = 4455,
             OpTypeRayQueryKHR = 4472,
             OpRayQueryInitializeKHR = 4473,
@@ -1554,6 +1619,8 @@
             OpFragmentFetchAMD = 5012,
             OpReadClockKHR = 5056,
             OpImageSampleFootprintNV = 5283,
+            OpEmitMeshTasksEXT = 5294,
+            OpSetMeshOutputsEXT = 5295,
             OpGroupNonUniformPartitionNV = 5296,
             OpWritePackedPrimitiveIndices4x8NV = 5299,
             OpReportIntersectionKHR = 5334,
@@ -1573,6 +1640,7 @@
             OpCooperativeMatrixLengthNV = 5362,
             OpBeginInvocationInterlockEXT = 5364,
             OpEndInvocationInterlockEXT = 5365,
+            OpDemoteToHelperInvocation = 5380,
             OpDemoteToHelperInvocationEXT = 5380,
             OpIsHelperInvocationEXT = 5381,
             OpConvertUToImageNV = 5391,
@@ -1782,6 +1850,9 @@
             OpArbitraryFloatPowRINTEL = 5881,
             OpArbitraryFloatPowNINTEL = 5882,
             OpLoopControlINTEL = 5887,
+            OpAliasDomainDeclINTEL = 5911,
+            OpAliasScopeDeclINTEL = 5912,
+            OpAliasScopeListDeclINTEL = 5913,
             OpFixedSqrtINTEL = 5923,
             OpFixedRecipINTEL = 5924,
             OpFixedRsqrtINTEL = 5925,
@@ -1820,6 +1891,16 @@
             OpTypeStructContinuedINTEL = 6090,
             OpConstantCompositeContinuedINTEL = 6091,
             OpSpecConstantCompositeContinuedINTEL = 6092,
+            OpControlBarrierArriveINTEL = 6142,
+            OpControlBarrierWaitINTEL = 6143,
+            OpGroupIMulKHR = 6401,
+            OpGroupFMulKHR = 6402,
+            OpGroupBitwiseAndKHR = 6403,
+            OpGroupBitwiseOrKHR = 6404,
+            OpGroupBitwiseXorKHR = 6405,
+            OpGroupLogicalAndKHR = 6406,
+            OpGroupLogicalOrKHR = 6407,
+            OpGroupLogicalXorKHR = 6408,
         }
     }
 }
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 32e5b73..af4f06b 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -31,7 +31,7 @@
 
 /*
 ** Enumeration tokens for SPIR-V, in various styles:
-**   C, C++, C++11, JSON, Lua, Python, C#, D
+**   C, C++, C++11, JSON, Lua, Python, C#, D, Beef
 ** 
 ** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
 ** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
@@ -41,6 +41,8 @@
 ** - C# will use enum classes in the Specification class located in the "Spv" namespace,
 **     e.g.: Spv.Specification.SourceLanguage.GLSL
 ** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+** - Beef will use enum classes in the Specification class located in the "Spv" namespace,
+**     e.g.: Spv.Specification.SourceLanguage.GLSL
 ** 
 ** Some tokens act like mask values, which can be OR'd together,
 ** while others are mutually exclusive.  The mask-like ones have
@@ -53,12 +55,12 @@
 
 typedef unsigned int SpvId;
 
-#define SPV_VERSION 0x10500
-#define SPV_REVISION 4
+#define SPV_VERSION 0x10600
+#define SPV_REVISION 1
 
 static const unsigned int SpvMagicNumber = 0x07230203;
-static const unsigned int SpvVersion = 0x00010500;
-static const unsigned int SpvRevision = 4;
+static const unsigned int SpvVersion = 0x00010600;
+static const unsigned int SpvRevision = 1;
 static const unsigned int SpvOpCodeMask = 0xffff;
 static const unsigned int SpvWordCountShift = 16;
 
@@ -70,6 +72,7 @@
     SpvSourceLanguageOpenCL_CPP = 4,
     SpvSourceLanguageHLSL = 5,
     SpvSourceLanguageCPP_for_OpenCL = 6,
+    SpvSourceLanguageSYCL = 7,
     SpvSourceLanguageMax = 0x7fffffff,
 } SpvSourceLanguage;
 
@@ -95,6 +98,8 @@
     SpvExecutionModelMissNV = 5317,
     SpvExecutionModelCallableKHR = 5318,
     SpvExecutionModelCallableNV = 5318,
+    SpvExecutionModelTaskEXT = 5364,
+    SpvExecutionModelMeshEXT = 5365,
     SpvExecutionModelMax = 0x7fffffff,
 } SpvExecutionModel;
 
@@ -162,11 +167,21 @@
     SpvExecutionModeSignedZeroInfNanPreserve = 4461,
     SpvExecutionModeRoundingModeRTE = 4462,
     SpvExecutionModeRoundingModeRTZ = 4463,
+    SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
     SpvExecutionModeStencilRefReplacingEXT = 5027,
+    SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
+    SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
+    SpvExecutionModeStencilRefLessFrontAMD = 5081,
+    SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
+    SpvExecutionModeStencilRefGreaterBackAMD = 5083,
+    SpvExecutionModeStencilRefLessBackAMD = 5084,
+    SpvExecutionModeOutputLinesEXT = 5269,
     SpvExecutionModeOutputLinesNV = 5269,
+    SpvExecutionModeOutputPrimitivesEXT = 5270,
     SpvExecutionModeOutputPrimitivesNV = 5270,
     SpvExecutionModeDerivativeGroupQuadsNV = 5289,
     SpvExecutionModeDerivativeGroupLinearNV = 5290,
+    SpvExecutionModeOutputTrianglesEXT = 5298,
     SpvExecutionModeOutputTrianglesNV = 5298,
     SpvExecutionModePixelInterlockOrderedEXT = 5366,
     SpvExecutionModePixelInterlockUnorderedEXT = 5367,
@@ -184,6 +199,7 @@
     SpvExecutionModeNoGlobalOffsetINTEL = 5895,
     SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
     SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
+    SpvExecutionModeNamedBarrierCountINTEL = 6417,
     SpvExecutionModeMax = 0x7fffffff,
 } SpvExecutionMode;
 
@@ -215,6 +231,7 @@
     SpvStorageClassShaderRecordBufferNV = 5343,
     SpvStorageClassPhysicalStorageBuffer = 5349,
     SpvStorageClassPhysicalStorageBufferEXT = 5349,
+    SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
     SpvStorageClassCodeSectionINTEL = 5605,
     SpvStorageClassDeviceOnlyINTEL = 5936,
     SpvStorageClassHostOnlyINTEL = 5937,
@@ -357,6 +374,7 @@
     SpvImageOperandsVolatileTexelKHRShift = 11,
     SpvImageOperandsSignExtendShift = 12,
     SpvImageOperandsZeroExtendShift = 13,
+    SpvImageOperandsNontemporalShift = 14,
     SpvImageOperandsOffsetsShift = 16,
     SpvImageOperandsMax = 0x7fffffff,
 } SpvImageOperandsShift;
@@ -381,6 +399,7 @@
     SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
     SpvImageOperandsSignExtendMask = 0x00001000,
     SpvImageOperandsZeroExtendMask = 0x00002000,
+    SpvImageOperandsNontemporalMask = 0x00004000,
     SpvImageOperandsOffsetsMask = 0x00010000,
 } SpvImageOperandsMask;
 
@@ -495,9 +514,11 @@
     SpvDecorationPassthroughNV = 5250,
     SpvDecorationViewportRelativeNV = 5252,
     SpvDecorationSecondaryViewportRelativeNV = 5256,
+    SpvDecorationPerPrimitiveEXT = 5271,
     SpvDecorationPerPrimitiveNV = 5271,
     SpvDecorationPerViewNV = 5272,
     SpvDecorationPerTaskNV = 5273,
+    SpvDecorationPerVertexKHR = 5285,
     SpvDecorationPerVertexNV = 5285,
     SpvDecorationNonUniform = 5300,
     SpvDecorationNonUniformEXT = 5300,
@@ -543,11 +564,14 @@
     SpvDecorationPrefetchINTEL = 5902,
     SpvDecorationStallEnableINTEL = 5905,
     SpvDecorationFuseLoopsInFunctionINTEL = 5907,
+    SpvDecorationAliasScopeINTEL = 5914,
+    SpvDecorationNoAliasINTEL = 5915,
     SpvDecorationBufferLocationINTEL = 5921,
     SpvDecorationIOPipeStorageINTEL = 5944,
     SpvDecorationFunctionFloatingPointModeINTEL = 6080,
     SpvDecorationSingleElementVectorINTEL = 6085,
     SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
+    SpvDecorationMediaBlockIOINTEL = 6140,
     SpvDecorationMax = 0x7fffffff,
 } SpvDecoration;
 
@@ -593,6 +617,11 @@
     SpvBuiltInSubgroupLocalInvocationId = 41,
     SpvBuiltInVertexIndex = 42,
     SpvBuiltInInstanceIndex = 43,
+    SpvBuiltInCoreIDARM = 4160,
+    SpvBuiltInCoreCountARM = 4161,
+    SpvBuiltInCoreMaxIDARM = 4162,
+    SpvBuiltInWarpIDARM = 4163,
+    SpvBuiltInWarpMaxIDARM = 4164,
     SpvBuiltInSubgroupEqMask = 4416,
     SpvBuiltInSubgroupEqMaskKHR = 4416,
     SpvBuiltInSubgroupGeMask = 4417,
@@ -632,12 +661,18 @@
     SpvBuiltInLayerPerViewNV = 5279,
     SpvBuiltInMeshViewCountNV = 5280,
     SpvBuiltInMeshViewIndicesNV = 5281,
+    SpvBuiltInBaryCoordKHR = 5286,
     SpvBuiltInBaryCoordNV = 5286,
+    SpvBuiltInBaryCoordNoPerspKHR = 5287,
     SpvBuiltInBaryCoordNoPerspNV = 5287,
     SpvBuiltInFragSizeEXT = 5292,
     SpvBuiltInFragmentSizeNV = 5292,
     SpvBuiltInFragInvocationCountEXT = 5293,
     SpvBuiltInInvocationsPerPixelNV = 5293,
+    SpvBuiltInPrimitivePointIndicesEXT = 5294,
+    SpvBuiltInPrimitiveLineIndicesEXT = 5295,
+    SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
+    SpvBuiltInCullPrimitiveEXT = 5299,
     SpvBuiltInLaunchIdKHR = 5319,
     SpvBuiltInLaunchIdNV = 5319,
     SpvBuiltInLaunchSizeKHR = 5320,
@@ -671,6 +706,7 @@
     SpvBuiltInSMCountNV = 5375,
     SpvBuiltInWarpIDNV = 5376,
     SpvBuiltInSMIDNV = 5377,
+    SpvBuiltInCullMaskKHR = 6021,
     SpvBuiltInMax = 0x7fffffff,
 } SpvBuiltIn;
 
@@ -798,6 +834,8 @@
     SpvMemoryAccessMakePointerVisibleKHRShift = 4,
     SpvMemoryAccessNonPrivatePointerShift = 5,
     SpvMemoryAccessNonPrivatePointerKHRShift = 5,
+    SpvMemoryAccessAliasScopeINTELMaskShift = 16,
+    SpvMemoryAccessNoAliasINTELMaskShift = 17,
     SpvMemoryAccessMax = 0x7fffffff,
 } SpvMemoryAccessShift;
 
@@ -812,6 +850,8 @@
     SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
     SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
     SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
+    SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
+    SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
 } SpvMemoryAccessMask;
 
 typedef enum SpvScope_ {
@@ -924,6 +964,8 @@
     SpvCapabilityGroupNonUniformQuad = 68,
     SpvCapabilityShaderLayer = 69,
     SpvCapabilityShaderViewportIndex = 70,
+    SpvCapabilityUniformDecoration = 71,
+    SpvCapabilityCoreBuiltinsARM = 4165,
     SpvCapabilityFragmentShadingRateKHR = 4422,
     SpvCapabilitySubgroupBallotKHR = 4423,
     SpvCapabilityDrawParameters = 4427,
@@ -972,6 +1014,8 @@
     SpvCapabilityFragmentFullyCoveredEXT = 5265,
     SpvCapabilityMeshShadingNV = 5266,
     SpvCapabilityImageFootprintNV = 5282,
+    SpvCapabilityMeshShadingEXT = 5283,
+    SpvCapabilityFragmentBarycentricKHR = 5284,
     SpvCapabilityFragmentBarycentricNV = 5284,
     SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
     SpvCapabilityFragmentDensityEXT = 5291,
@@ -1016,7 +1060,9 @@
     SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
     SpvCapabilityShaderSMBuiltinsNV = 5373,
     SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
+    SpvCapabilityDemoteToHelperInvocation = 5379,
     SpvCapabilityDemoteToHelperInvocationEXT = 5379,
+    SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
     SpvCapabilityBindlessTextureNV = 5390,
     SpvCapabilitySubgroupShuffleINTEL = 5568,
     SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
@@ -1050,23 +1096,32 @@
     SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
     SpvCapabilityFPGAClusterAttributesINTEL = 5904,
     SpvCapabilityLoopFuseINTEL = 5906,
+    SpvCapabilityMemoryAccessAliasingINTEL = 5910,
     SpvCapabilityFPGABufferLocationINTEL = 5920,
     SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
     SpvCapabilityUSMStorageClassesINTEL = 5935,
     SpvCapabilityIOPipesINTEL = 5943,
     SpvCapabilityBlockingPipesINTEL = 5945,
     SpvCapabilityFPGARegINTEL = 5948,
+    SpvCapabilityDotProductInputAll = 6016,
     SpvCapabilityDotProductInputAllKHR = 6016,
+    SpvCapabilityDotProductInput4x8Bit = 6017,
     SpvCapabilityDotProductInput4x8BitKHR = 6017,
+    SpvCapabilityDotProductInput4x8BitPacked = 6018,
     SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
+    SpvCapabilityDotProduct = 6019,
     SpvCapabilityDotProductKHR = 6019,
+    SpvCapabilityRayCullMaskKHR = 6020,
     SpvCapabilityBitInstructions = 6025,
+    SpvCapabilityGroupNonUniformRotateKHR = 6026,
     SpvCapabilityAtomicFloat32AddEXT = 6033,
     SpvCapabilityAtomicFloat64AddEXT = 6034,
     SpvCapabilityLongConstantCompositeINTEL = 6089,
     SpvCapabilityOptNoneINTEL = 6094,
     SpvCapabilityAtomicFloat16AddEXT = 6095,
     SpvCapabilityDebugInfoModuleINTEL = 6114,
+    SpvCapabilitySplitBarrierINTEL = 6141,
+    SpvCapabilityGroupUniformArithmeticKHR = 6400,
     SpvCapabilityMax = 0x7fffffff,
 } SpvCapability;
 
@@ -1081,6 +1136,7 @@
     SpvRayFlagsCullNoOpaqueKHRShift = 7,
     SpvRayFlagsSkipTrianglesKHRShift = 8,
     SpvRayFlagsSkipAABBsKHRShift = 9,
+    SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,
     SpvRayFlagsMax = 0x7fffffff,
 } SpvRayFlagsShift;
 
@@ -1096,6 +1152,7 @@
     SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
     SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
     SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
+    SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
 } SpvRayFlagsMask;
 
 typedef enum SpvRayQueryIntersection_ {
@@ -1166,6 +1223,7 @@
 } SpvOverflowModes;
 
 typedef enum SpvPackedVectorFormat_ {
+    SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
     SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
     SpvPackedVectorFormatMax = 0x7fffffff,
 } SpvPackedVectorFormat;
@@ -1521,17 +1579,24 @@
     SpvOpSubgroupAllKHR = 4428,
     SpvOpSubgroupAnyKHR = 4429,
     SpvOpSubgroupAllEqualKHR = 4430,
+    SpvOpGroupNonUniformRotateKHR = 4431,
     SpvOpSubgroupReadInvocationKHR = 4432,
     SpvOpTraceRayKHR = 4445,
     SpvOpExecuteCallableKHR = 4446,
     SpvOpConvertUToAccelerationStructureKHR = 4447,
     SpvOpIgnoreIntersectionKHR = 4448,
     SpvOpTerminateRayKHR = 4449,
+    SpvOpSDot = 4450,
     SpvOpSDotKHR = 4450,
+    SpvOpUDot = 4451,
     SpvOpUDotKHR = 4451,
+    SpvOpSUDot = 4452,
     SpvOpSUDotKHR = 4452,
+    SpvOpSDotAccSat = 4453,
     SpvOpSDotAccSatKHR = 4453,
+    SpvOpUDotAccSat = 4454,
     SpvOpUDotAccSatKHR = 4454,
+    SpvOpSUDotAccSat = 4455,
     SpvOpSUDotAccSatKHR = 4455,
     SpvOpTypeRayQueryKHR = 4472,
     SpvOpRayQueryInitializeKHR = 4473,
@@ -1552,6 +1617,8 @@
     SpvOpFragmentFetchAMD = 5012,
     SpvOpReadClockKHR = 5056,
     SpvOpImageSampleFootprintNV = 5283,
+    SpvOpEmitMeshTasksEXT = 5294,
+    SpvOpSetMeshOutputsEXT = 5295,
     SpvOpGroupNonUniformPartitionNV = 5296,
     SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
     SpvOpReportIntersectionKHR = 5334,
@@ -1571,6 +1638,7 @@
     SpvOpCooperativeMatrixLengthNV = 5362,
     SpvOpBeginInvocationInterlockEXT = 5364,
     SpvOpEndInvocationInterlockEXT = 5365,
+    SpvOpDemoteToHelperInvocation = 5380,
     SpvOpDemoteToHelperInvocationEXT = 5380,
     SpvOpIsHelperInvocationEXT = 5381,
     SpvOpConvertUToImageNV = 5391,
@@ -1780,6 +1848,9 @@
     SpvOpArbitraryFloatPowRINTEL = 5881,
     SpvOpArbitraryFloatPowNINTEL = 5882,
     SpvOpLoopControlINTEL = 5887,
+    SpvOpAliasDomainDeclINTEL = 5911,
+    SpvOpAliasScopeDeclINTEL = 5912,
+    SpvOpAliasScopeListDeclINTEL = 5913,
     SpvOpFixedSqrtINTEL = 5923,
     SpvOpFixedRecipINTEL = 5924,
     SpvOpFixedRsqrtINTEL = 5925,
@@ -1818,10 +1889,23 @@
     SpvOpTypeStructContinuedINTEL = 6090,
     SpvOpConstantCompositeContinuedINTEL = 6091,
     SpvOpSpecConstantCompositeContinuedINTEL = 6092,
+    SpvOpControlBarrierArriveINTEL = 6142,
+    SpvOpControlBarrierWaitINTEL = 6143,
+    SpvOpGroupIMulKHR = 6401,
+    SpvOpGroupFMulKHR = 6402,
+    SpvOpGroupBitwiseAndKHR = 6403,
+    SpvOpGroupBitwiseOrKHR = 6404,
+    SpvOpGroupBitwiseXorKHR = 6405,
+    SpvOpGroupLogicalAndKHR = 6406,
+    SpvOpGroupLogicalOrKHR = 6407,
+    SpvOpGroupLogicalXorKHR = 6408,
     SpvOpMax = 0x7fffffff,
 } SpvOp;
 
 #ifdef SPV_ENABLE_UTILITY_CODE
+#ifndef __cplusplus
+#include <stdbool.h>
+#endif
 inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
     *hasResult = *hasResultType = false;
     switch (opcode) {
@@ -2176,18 +2260,19 @@
     case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
     case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
     case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
     case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
     case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
     case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
     case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
     case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
     case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
-    case SpvOpSDotKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUDotKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSUDotKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
+    case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
+    case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
+    case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
+    case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
+    case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
     case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
     case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
     case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
@@ -2207,6 +2292,8 @@
     case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
     case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
     case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
+    case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
     case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
     case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
     case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
@@ -2224,7 +2311,7 @@
     case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
     case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
     case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
-    case SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
+    case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
     case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
     case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
     case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
@@ -2431,6 +2518,9 @@
     case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+    case SpvOpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
+    case SpvOpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
+    case SpvOpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
     case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2469,6 +2559,16 @@
     case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
     case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
     case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+    case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
+    case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
+    case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
     }
 }
 #endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index d66576d..b7ec5d7 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -26,7 +26,7 @@
 // the Binary Section of the SPIR-V specification.
 
 // Enumeration tokens for SPIR-V, in various styles:
-//   C, C++, C++11, JSON, Lua, Python, C#, D
+//   C, C++, C++11, JSON, Lua, Python, C#, D, Beef
 // 
 // - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
 // - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
@@ -36,6 +36,8 @@
 // - C# will use enum classes in the Specification class located in the "Spv" namespace,
 //     e.g.: Spv.Specification.SourceLanguage.GLSL
 // - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+// - Beef will use enum classes in the Specification class located in the "Spv" namespace,
+//     e.g.: Spv.Specification.SourceLanguage.GLSL
 // 
 // Some tokens act like mask values, which can be OR'd together,
 // while others are mutually exclusive.  The mask-like ones have
@@ -49,12 +51,12 @@
 
 typedef unsigned int Id;
 
-#define SPV_VERSION 0x10500
-#define SPV_REVISION 4
+#define SPV_VERSION 0x10600
+#define SPV_REVISION 1
 
 static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010500;
-static const unsigned int Revision = 4;
+static const unsigned int Version = 0x00010600;
+static const unsigned int Revision = 1;
 static const unsigned int OpCodeMask = 0xffff;
 static const unsigned int WordCountShift = 16;
 
@@ -66,6 +68,7 @@
     SourceLanguageOpenCL_CPP = 4,
     SourceLanguageHLSL = 5,
     SourceLanguageCPP_for_OpenCL = 6,
+    SourceLanguageSYCL = 7,
     SourceLanguageMax = 0x7fffffff,
 };
 
@@ -91,6 +94,8 @@
     ExecutionModelMissNV = 5317,
     ExecutionModelCallableKHR = 5318,
     ExecutionModelCallableNV = 5318,
+    ExecutionModelTaskEXT = 5364,
+    ExecutionModelMeshEXT = 5365,
     ExecutionModelMax = 0x7fffffff,
 };
 
@@ -158,11 +163,21 @@
     ExecutionModeSignedZeroInfNanPreserve = 4461,
     ExecutionModeRoundingModeRTE = 4462,
     ExecutionModeRoundingModeRTZ = 4463,
+    ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
     ExecutionModeStencilRefReplacingEXT = 5027,
+    ExecutionModeStencilRefUnchangedFrontAMD = 5079,
+    ExecutionModeStencilRefGreaterFrontAMD = 5080,
+    ExecutionModeStencilRefLessFrontAMD = 5081,
+    ExecutionModeStencilRefUnchangedBackAMD = 5082,
+    ExecutionModeStencilRefGreaterBackAMD = 5083,
+    ExecutionModeStencilRefLessBackAMD = 5084,
+    ExecutionModeOutputLinesEXT = 5269,
     ExecutionModeOutputLinesNV = 5269,
+    ExecutionModeOutputPrimitivesEXT = 5270,
     ExecutionModeOutputPrimitivesNV = 5270,
     ExecutionModeDerivativeGroupQuadsNV = 5289,
     ExecutionModeDerivativeGroupLinearNV = 5290,
+    ExecutionModeOutputTrianglesEXT = 5298,
     ExecutionModeOutputTrianglesNV = 5298,
     ExecutionModePixelInterlockOrderedEXT = 5366,
     ExecutionModePixelInterlockUnorderedEXT = 5367,
@@ -180,6 +195,7 @@
     ExecutionModeNoGlobalOffsetINTEL = 5895,
     ExecutionModeNumSIMDWorkitemsINTEL = 5896,
     ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
+    ExecutionModeNamedBarrierCountINTEL = 6417,
     ExecutionModeMax = 0x7fffffff,
 };
 
@@ -211,6 +227,7 @@
     StorageClassShaderRecordBufferNV = 5343,
     StorageClassPhysicalStorageBuffer = 5349,
     StorageClassPhysicalStorageBufferEXT = 5349,
+    StorageClassTaskPayloadWorkgroupEXT = 5402,
     StorageClassCodeSectionINTEL = 5605,
     StorageClassDeviceOnlyINTEL = 5936,
     StorageClassHostOnlyINTEL = 5937,
@@ -353,6 +370,7 @@
     ImageOperandsVolatileTexelKHRShift = 11,
     ImageOperandsSignExtendShift = 12,
     ImageOperandsZeroExtendShift = 13,
+    ImageOperandsNontemporalShift = 14,
     ImageOperandsOffsetsShift = 16,
     ImageOperandsMax = 0x7fffffff,
 };
@@ -377,6 +395,7 @@
     ImageOperandsVolatileTexelKHRMask = 0x00000800,
     ImageOperandsSignExtendMask = 0x00001000,
     ImageOperandsZeroExtendMask = 0x00002000,
+    ImageOperandsNontemporalMask = 0x00004000,
     ImageOperandsOffsetsMask = 0x00010000,
 };
 
@@ -491,9 +510,11 @@
     DecorationPassthroughNV = 5250,
     DecorationViewportRelativeNV = 5252,
     DecorationSecondaryViewportRelativeNV = 5256,
+    DecorationPerPrimitiveEXT = 5271,
     DecorationPerPrimitiveNV = 5271,
     DecorationPerViewNV = 5272,
     DecorationPerTaskNV = 5273,
+    DecorationPerVertexKHR = 5285,
     DecorationPerVertexNV = 5285,
     DecorationNonUniform = 5300,
     DecorationNonUniformEXT = 5300,
@@ -539,11 +560,14 @@
     DecorationPrefetchINTEL = 5902,
     DecorationStallEnableINTEL = 5905,
     DecorationFuseLoopsInFunctionINTEL = 5907,
+    DecorationAliasScopeINTEL = 5914,
+    DecorationNoAliasINTEL = 5915,
     DecorationBufferLocationINTEL = 5921,
     DecorationIOPipeStorageINTEL = 5944,
     DecorationFunctionFloatingPointModeINTEL = 6080,
     DecorationSingleElementVectorINTEL = 6085,
     DecorationVectorComputeCallableFunctionINTEL = 6087,
+    DecorationMediaBlockIOINTEL = 6140,
     DecorationMax = 0x7fffffff,
 };
 
@@ -589,6 +613,11 @@
     BuiltInSubgroupLocalInvocationId = 41,
     BuiltInVertexIndex = 42,
     BuiltInInstanceIndex = 43,
+    BuiltInCoreIDARM = 4160,
+    BuiltInCoreCountARM = 4161,
+    BuiltInCoreMaxIDARM = 4162,
+    BuiltInWarpIDARM = 4163,
+    BuiltInWarpMaxIDARM = 4164,
     BuiltInSubgroupEqMask = 4416,
     BuiltInSubgroupEqMaskKHR = 4416,
     BuiltInSubgroupGeMask = 4417,
@@ -628,12 +657,18 @@
     BuiltInLayerPerViewNV = 5279,
     BuiltInMeshViewCountNV = 5280,
     BuiltInMeshViewIndicesNV = 5281,
+    BuiltInBaryCoordKHR = 5286,
     BuiltInBaryCoordNV = 5286,
+    BuiltInBaryCoordNoPerspKHR = 5287,
     BuiltInBaryCoordNoPerspNV = 5287,
     BuiltInFragSizeEXT = 5292,
     BuiltInFragmentSizeNV = 5292,
     BuiltInFragInvocationCountEXT = 5293,
     BuiltInInvocationsPerPixelNV = 5293,
+    BuiltInPrimitivePointIndicesEXT = 5294,
+    BuiltInPrimitiveLineIndicesEXT = 5295,
+    BuiltInPrimitiveTriangleIndicesEXT = 5296,
+    BuiltInCullPrimitiveEXT = 5299,
     BuiltInLaunchIdKHR = 5319,
     BuiltInLaunchIdNV = 5319,
     BuiltInLaunchSizeKHR = 5320,
@@ -667,6 +702,7 @@
     BuiltInSMCountNV = 5375,
     BuiltInWarpIDNV = 5376,
     BuiltInSMIDNV = 5377,
+    BuiltInCullMaskKHR = 6021,
     BuiltInMax = 0x7fffffff,
 };
 
@@ -794,6 +830,8 @@
     MemoryAccessMakePointerVisibleKHRShift = 4,
     MemoryAccessNonPrivatePointerShift = 5,
     MemoryAccessNonPrivatePointerKHRShift = 5,
+    MemoryAccessAliasScopeINTELMaskShift = 16,
+    MemoryAccessNoAliasINTELMaskShift = 17,
     MemoryAccessMax = 0x7fffffff,
 };
 
@@ -808,6 +846,8 @@
     MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
     MemoryAccessNonPrivatePointerMask = 0x00000020,
     MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
+    MemoryAccessAliasScopeINTELMaskMask = 0x00010000,
+    MemoryAccessNoAliasINTELMaskMask = 0x00020000,
 };
 
 enum Scope {
@@ -920,6 +960,8 @@
     CapabilityGroupNonUniformQuad = 68,
     CapabilityShaderLayer = 69,
     CapabilityShaderViewportIndex = 70,
+    CapabilityUniformDecoration = 71,
+    CapabilityCoreBuiltinsARM = 4165,
     CapabilityFragmentShadingRateKHR = 4422,
     CapabilitySubgroupBallotKHR = 4423,
     CapabilityDrawParameters = 4427,
@@ -968,6 +1010,8 @@
     CapabilityFragmentFullyCoveredEXT = 5265,
     CapabilityMeshShadingNV = 5266,
     CapabilityImageFootprintNV = 5282,
+    CapabilityMeshShadingEXT = 5283,
+    CapabilityFragmentBarycentricKHR = 5284,
     CapabilityFragmentBarycentricNV = 5284,
     CapabilityComputeDerivativeGroupQuadsNV = 5288,
     CapabilityFragmentDensityEXT = 5291,
@@ -1012,7 +1056,9 @@
     CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
     CapabilityShaderSMBuiltinsNV = 5373,
     CapabilityFragmentShaderPixelInterlockEXT = 5378,
+    CapabilityDemoteToHelperInvocation = 5379,
     CapabilityDemoteToHelperInvocationEXT = 5379,
+    CapabilityRayTracingOpacityMicromapEXT = 5381,
     CapabilityBindlessTextureNV = 5390,
     CapabilitySubgroupShuffleINTEL = 5568,
     CapabilitySubgroupBufferBlockIOINTEL = 5569,
@@ -1046,23 +1092,32 @@
     CapabilityFPGAMemoryAccessesINTEL = 5898,
     CapabilityFPGAClusterAttributesINTEL = 5904,
     CapabilityLoopFuseINTEL = 5906,
+    CapabilityMemoryAccessAliasingINTEL = 5910,
     CapabilityFPGABufferLocationINTEL = 5920,
     CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
     CapabilityUSMStorageClassesINTEL = 5935,
     CapabilityIOPipesINTEL = 5943,
     CapabilityBlockingPipesINTEL = 5945,
     CapabilityFPGARegINTEL = 5948,
+    CapabilityDotProductInputAll = 6016,
     CapabilityDotProductInputAllKHR = 6016,
+    CapabilityDotProductInput4x8Bit = 6017,
     CapabilityDotProductInput4x8BitKHR = 6017,
+    CapabilityDotProductInput4x8BitPacked = 6018,
     CapabilityDotProductInput4x8BitPackedKHR = 6018,
+    CapabilityDotProduct = 6019,
     CapabilityDotProductKHR = 6019,
+    CapabilityRayCullMaskKHR = 6020,
     CapabilityBitInstructions = 6025,
+    CapabilityGroupNonUniformRotateKHR = 6026,
     CapabilityAtomicFloat32AddEXT = 6033,
     CapabilityAtomicFloat64AddEXT = 6034,
     CapabilityLongConstantCompositeINTEL = 6089,
     CapabilityOptNoneINTEL = 6094,
     CapabilityAtomicFloat16AddEXT = 6095,
     CapabilityDebugInfoModuleINTEL = 6114,
+    CapabilitySplitBarrierINTEL = 6141,
+    CapabilityGroupUniformArithmeticKHR = 6400,
     CapabilityMax = 0x7fffffff,
 };
 
@@ -1077,6 +1132,7 @@
     RayFlagsCullNoOpaqueKHRShift = 7,
     RayFlagsSkipTrianglesKHRShift = 8,
     RayFlagsSkipAABBsKHRShift = 9,
+    RayFlagsForceOpacityMicromap2StateEXTShift = 10,
     RayFlagsMax = 0x7fffffff,
 };
 
@@ -1092,6 +1148,7 @@
     RayFlagsCullNoOpaqueKHRMask = 0x00000080,
     RayFlagsSkipTrianglesKHRMask = 0x00000100,
     RayFlagsSkipAABBsKHRMask = 0x00000200,
+    RayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
 };
 
 enum RayQueryIntersection {
@@ -1162,6 +1219,7 @@
 };
 
 enum PackedVectorFormat {
+    PackedVectorFormatPackedVectorFormat4x8Bit = 0,
     PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
     PackedVectorFormatMax = 0x7fffffff,
 };
@@ -1517,17 +1575,24 @@
     OpSubgroupAllKHR = 4428,
     OpSubgroupAnyKHR = 4429,
     OpSubgroupAllEqualKHR = 4430,
+    OpGroupNonUniformRotateKHR = 4431,
     OpSubgroupReadInvocationKHR = 4432,
     OpTraceRayKHR = 4445,
     OpExecuteCallableKHR = 4446,
     OpConvertUToAccelerationStructureKHR = 4447,
     OpIgnoreIntersectionKHR = 4448,
     OpTerminateRayKHR = 4449,
+    OpSDot = 4450,
     OpSDotKHR = 4450,
+    OpUDot = 4451,
     OpUDotKHR = 4451,
+    OpSUDot = 4452,
     OpSUDotKHR = 4452,
+    OpSDotAccSat = 4453,
     OpSDotAccSatKHR = 4453,
+    OpUDotAccSat = 4454,
     OpUDotAccSatKHR = 4454,
+    OpSUDotAccSat = 4455,
     OpSUDotAccSatKHR = 4455,
     OpTypeRayQueryKHR = 4472,
     OpRayQueryInitializeKHR = 4473,
@@ -1548,6 +1613,8 @@
     OpFragmentFetchAMD = 5012,
     OpReadClockKHR = 5056,
     OpImageSampleFootprintNV = 5283,
+    OpEmitMeshTasksEXT = 5294,
+    OpSetMeshOutputsEXT = 5295,
     OpGroupNonUniformPartitionNV = 5296,
     OpWritePackedPrimitiveIndices4x8NV = 5299,
     OpReportIntersectionKHR = 5334,
@@ -1567,6 +1634,7 @@
     OpCooperativeMatrixLengthNV = 5362,
     OpBeginInvocationInterlockEXT = 5364,
     OpEndInvocationInterlockEXT = 5365,
+    OpDemoteToHelperInvocation = 5380,
     OpDemoteToHelperInvocationEXT = 5380,
     OpIsHelperInvocationEXT = 5381,
     OpConvertUToImageNV = 5391,
@@ -1776,6 +1844,9 @@
     OpArbitraryFloatPowRINTEL = 5881,
     OpArbitraryFloatPowNINTEL = 5882,
     OpLoopControlINTEL = 5887,
+    OpAliasDomainDeclINTEL = 5911,
+    OpAliasScopeDeclINTEL = 5912,
+    OpAliasScopeListDeclINTEL = 5913,
     OpFixedSqrtINTEL = 5923,
     OpFixedRecipINTEL = 5924,
     OpFixedRsqrtINTEL = 5925,
@@ -1814,10 +1885,23 @@
     OpTypeStructContinuedINTEL = 6090,
     OpConstantCompositeContinuedINTEL = 6091,
     OpSpecConstantCompositeContinuedINTEL = 6092,
+    OpControlBarrierArriveINTEL = 6142,
+    OpControlBarrierWaitINTEL = 6143,
+    OpGroupIMulKHR = 6401,
+    OpGroupFMulKHR = 6402,
+    OpGroupBitwiseAndKHR = 6403,
+    OpGroupBitwiseOrKHR = 6404,
+    OpGroupBitwiseXorKHR = 6405,
+    OpGroupLogicalAndKHR = 6406,
+    OpGroupLogicalOrKHR = 6407,
+    OpGroupLogicalXorKHR = 6408,
     OpMax = 0x7fffffff,
 };
 
 #ifdef SPV_ENABLE_UTILITY_CODE
+#ifndef __cplusplus
+#include <stdbool.h>
+#endif
 inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     *hasResult = *hasResultType = false;
     switch (opcode) {
@@ -2172,18 +2256,19 @@
     case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
     case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
     case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
+    case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
     case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
     case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
     case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
     case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
     case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
     case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
-    case OpSDotKHR: *hasResult = true; *hasResultType = true; break;
-    case OpUDotKHR: *hasResult = true; *hasResultType = true; break;
-    case OpSUDotKHR: *hasResult = true; *hasResultType = true; break;
-    case OpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
-    case OpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
-    case OpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
+    case OpSDot: *hasResult = true; *hasResultType = true; break;
+    case OpUDot: *hasResult = true; *hasResultType = true; break;
+    case OpSUDot: *hasResult = true; *hasResultType = true; break;
+    case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
+    case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
+    case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
     case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
     case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
     case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
@@ -2203,6 +2288,8 @@
     case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
     case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
     case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
+    case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
+    case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
     case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
     case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
     case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
@@ -2220,7 +2307,7 @@
     case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
     case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
     case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
-    case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
+    case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
     case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
     case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
     case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
@@ -2427,6 +2514,9 @@
     case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
     case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
     case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+    case OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
+    case OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
+    case OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
     case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
     case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
     case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2465,6 +2555,16 @@
     case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
     case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
     case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+    case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
+    case OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
+    case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
+    case OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
+    case OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
+    case OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
+    case OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
+    case OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
+    case OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
+    case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
     }
 }
 #endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 677daf7..f0f5871 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -26,7 +26,7 @@
 // the Binary Section of the SPIR-V specification.
 
 // Enumeration tokens for SPIR-V, in various styles:
-//   C, C++, C++11, JSON, Lua, Python, C#, D
+//   C, C++, C++11, JSON, Lua, Python, C#, D, Beef
 // 
 // - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
 // - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
@@ -36,6 +36,8 @@
 // - C# will use enum classes in the Specification class located in the "Spv" namespace,
 //     e.g.: Spv.Specification.SourceLanguage.GLSL
 // - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+// - Beef will use enum classes in the Specification class located in the "Spv" namespace,
+//     e.g.: Spv.Specification.SourceLanguage.GLSL
 // 
 // Some tokens act like mask values, which can be OR'd together,
 // while others are mutually exclusive.  The mask-like ones have
@@ -49,12 +51,12 @@
 
 typedef unsigned int Id;
 
-#define SPV_VERSION 0x10500
-#define SPV_REVISION 4
+#define SPV_VERSION 0x10600
+#define SPV_REVISION 1
 
 static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010500;
-static const unsigned int Revision = 4;
+static const unsigned int Version = 0x00010600;
+static const unsigned int Revision = 1;
 static const unsigned int OpCodeMask = 0xffff;
 static const unsigned int WordCountShift = 16;
 
@@ -66,6 +68,7 @@
     OpenCL_CPP = 4,
     HLSL = 5,
     CPP_for_OpenCL = 6,
+    SYCL = 7,
     Max = 0x7fffffff,
 };
 
@@ -91,6 +94,8 @@
     MissNV = 5317,
     CallableKHR = 5318,
     CallableNV = 5318,
+    TaskEXT = 5364,
+    MeshEXT = 5365,
     Max = 0x7fffffff,
 };
 
@@ -158,11 +163,21 @@
     SignedZeroInfNanPreserve = 4461,
     RoundingModeRTE = 4462,
     RoundingModeRTZ = 4463,
+    EarlyAndLateFragmentTestsAMD = 5017,
     StencilRefReplacingEXT = 5027,
+    StencilRefUnchangedFrontAMD = 5079,
+    StencilRefGreaterFrontAMD = 5080,
+    StencilRefLessFrontAMD = 5081,
+    StencilRefUnchangedBackAMD = 5082,
+    StencilRefGreaterBackAMD = 5083,
+    StencilRefLessBackAMD = 5084,
+    OutputLinesEXT = 5269,
     OutputLinesNV = 5269,
+    OutputPrimitivesEXT = 5270,
     OutputPrimitivesNV = 5270,
     DerivativeGroupQuadsNV = 5289,
     DerivativeGroupLinearNV = 5290,
+    OutputTrianglesEXT = 5298,
     OutputTrianglesNV = 5298,
     PixelInterlockOrderedEXT = 5366,
     PixelInterlockUnorderedEXT = 5367,
@@ -180,6 +195,7 @@
     NoGlobalOffsetINTEL = 5895,
     NumSIMDWorkitemsINTEL = 5896,
     SchedulerTargetFmaxMhzINTEL = 5903,
+    NamedBarrierCountINTEL = 6417,
     Max = 0x7fffffff,
 };
 
@@ -211,6 +227,7 @@
     ShaderRecordBufferNV = 5343,
     PhysicalStorageBuffer = 5349,
     PhysicalStorageBufferEXT = 5349,
+    TaskPayloadWorkgroupEXT = 5402,
     CodeSectionINTEL = 5605,
     DeviceOnlyINTEL = 5936,
     HostOnlyINTEL = 5937,
@@ -353,6 +370,7 @@
     VolatileTexelKHR = 11,
     SignExtend = 12,
     ZeroExtend = 13,
+    Nontemporal = 14,
     Offsets = 16,
     Max = 0x7fffffff,
 };
@@ -377,6 +395,7 @@
     VolatileTexelKHR = 0x00000800,
     SignExtend = 0x00001000,
     ZeroExtend = 0x00002000,
+    Nontemporal = 0x00004000,
     Offsets = 0x00010000,
 };
 
@@ -491,9 +510,11 @@
     PassthroughNV = 5250,
     ViewportRelativeNV = 5252,
     SecondaryViewportRelativeNV = 5256,
+    PerPrimitiveEXT = 5271,
     PerPrimitiveNV = 5271,
     PerViewNV = 5272,
     PerTaskNV = 5273,
+    PerVertexKHR = 5285,
     PerVertexNV = 5285,
     NonUniform = 5300,
     NonUniformEXT = 5300,
@@ -539,11 +560,14 @@
     PrefetchINTEL = 5902,
     StallEnableINTEL = 5905,
     FuseLoopsInFunctionINTEL = 5907,
+    AliasScopeINTEL = 5914,
+    NoAliasINTEL = 5915,
     BufferLocationINTEL = 5921,
     IOPipeStorageINTEL = 5944,
     FunctionFloatingPointModeINTEL = 6080,
     SingleElementVectorINTEL = 6085,
     VectorComputeCallableFunctionINTEL = 6087,
+    MediaBlockIOINTEL = 6140,
     Max = 0x7fffffff,
 };
 
@@ -589,6 +613,11 @@
     SubgroupLocalInvocationId = 41,
     VertexIndex = 42,
     InstanceIndex = 43,
+    CoreIDARM = 4160,
+    CoreCountARM = 4161,
+    CoreMaxIDARM = 4162,
+    WarpIDARM = 4163,
+    WarpMaxIDARM = 4164,
     SubgroupEqMask = 4416,
     SubgroupEqMaskKHR = 4416,
     SubgroupGeMask = 4417,
@@ -628,12 +657,18 @@
     LayerPerViewNV = 5279,
     MeshViewCountNV = 5280,
     MeshViewIndicesNV = 5281,
+    BaryCoordKHR = 5286,
     BaryCoordNV = 5286,
+    BaryCoordNoPerspKHR = 5287,
     BaryCoordNoPerspNV = 5287,
     FragSizeEXT = 5292,
     FragmentSizeNV = 5292,
     FragInvocationCountEXT = 5293,
     InvocationsPerPixelNV = 5293,
+    PrimitivePointIndicesEXT = 5294,
+    PrimitiveLineIndicesEXT = 5295,
+    PrimitiveTriangleIndicesEXT = 5296,
+    CullPrimitiveEXT = 5299,
     LaunchIdKHR = 5319,
     LaunchIdNV = 5319,
     LaunchSizeKHR = 5320,
@@ -667,6 +702,7 @@
     SMCountNV = 5375,
     WarpIDNV = 5376,
     SMIDNV = 5377,
+    CullMaskKHR = 6021,
     Max = 0x7fffffff,
 };
 
@@ -794,6 +830,8 @@
     MakePointerVisibleKHR = 4,
     NonPrivatePointer = 5,
     NonPrivatePointerKHR = 5,
+    AliasScopeINTELMask = 16,
+    NoAliasINTELMask = 17,
     Max = 0x7fffffff,
 };
 
@@ -808,6 +846,8 @@
     MakePointerVisibleKHR = 0x00000010,
     NonPrivatePointer = 0x00000020,
     NonPrivatePointerKHR = 0x00000020,
+    AliasScopeINTELMask = 0x00010000,
+    NoAliasINTELMask = 0x00020000,
 };
 
 enum class Scope : unsigned {
@@ -920,6 +960,8 @@
     GroupNonUniformQuad = 68,
     ShaderLayer = 69,
     ShaderViewportIndex = 70,
+    UniformDecoration = 71,
+    CoreBuiltinsARM = 4165,
     FragmentShadingRateKHR = 4422,
     SubgroupBallotKHR = 4423,
     DrawParameters = 4427,
@@ -968,6 +1010,8 @@
     FragmentFullyCoveredEXT = 5265,
     MeshShadingNV = 5266,
     ImageFootprintNV = 5282,
+    MeshShadingEXT = 5283,
+    FragmentBarycentricKHR = 5284,
     FragmentBarycentricNV = 5284,
     ComputeDerivativeGroupQuadsNV = 5288,
     FragmentDensityEXT = 5291,
@@ -1012,7 +1056,9 @@
     FragmentShaderShadingRateInterlockEXT = 5372,
     ShaderSMBuiltinsNV = 5373,
     FragmentShaderPixelInterlockEXT = 5378,
+    DemoteToHelperInvocation = 5379,
     DemoteToHelperInvocationEXT = 5379,
+    RayTracingOpacityMicromapEXT = 5381,
     BindlessTextureNV = 5390,
     SubgroupShuffleINTEL = 5568,
     SubgroupBufferBlockIOINTEL = 5569,
@@ -1046,23 +1092,32 @@
     FPGAMemoryAccessesINTEL = 5898,
     FPGAClusterAttributesINTEL = 5904,
     LoopFuseINTEL = 5906,
+    MemoryAccessAliasingINTEL = 5910,
     FPGABufferLocationINTEL = 5920,
     ArbitraryPrecisionFixedPointINTEL = 5922,
     USMStorageClassesINTEL = 5935,
     IOPipesINTEL = 5943,
     BlockingPipesINTEL = 5945,
     FPGARegINTEL = 5948,
+    DotProductInputAll = 6016,
     DotProductInputAllKHR = 6016,
+    DotProductInput4x8Bit = 6017,
     DotProductInput4x8BitKHR = 6017,
+    DotProductInput4x8BitPacked = 6018,
     DotProductInput4x8BitPackedKHR = 6018,
+    DotProduct = 6019,
     DotProductKHR = 6019,
+    RayCullMaskKHR = 6020,
     BitInstructions = 6025,
+    GroupNonUniformRotateKHR = 6026,
     AtomicFloat32AddEXT = 6033,
     AtomicFloat64AddEXT = 6034,
     LongConstantCompositeINTEL = 6089,
     OptNoneINTEL = 6094,
     AtomicFloat16AddEXT = 6095,
     DebugInfoModuleINTEL = 6114,
+    SplitBarrierINTEL = 6141,
+    GroupUniformArithmeticKHR = 6400,
     Max = 0x7fffffff,
 };
 
@@ -1077,6 +1132,7 @@
     CullNoOpaqueKHR = 7,
     SkipTrianglesKHR = 8,
     SkipAABBsKHR = 9,
+    ForceOpacityMicromap2StateEXT = 10,
     Max = 0x7fffffff,
 };
 
@@ -1092,6 +1148,7 @@
     CullNoOpaqueKHR = 0x00000080,
     SkipTrianglesKHR = 0x00000100,
     SkipAABBsKHR = 0x00000200,
+    ForceOpacityMicromap2StateEXT = 0x00000400,
 };
 
 enum class RayQueryIntersection : unsigned {
@@ -1162,6 +1219,7 @@
 };
 
 enum class PackedVectorFormat : unsigned {
+    PackedVectorFormat4x8Bit = 0,
     PackedVectorFormat4x8BitKHR = 0,
     Max = 0x7fffffff,
 };
@@ -1517,17 +1575,24 @@
     OpSubgroupAllKHR = 4428,
     OpSubgroupAnyKHR = 4429,
     OpSubgroupAllEqualKHR = 4430,
+    OpGroupNonUniformRotateKHR = 4431,
     OpSubgroupReadInvocationKHR = 4432,
     OpTraceRayKHR = 4445,
     OpExecuteCallableKHR = 4446,
     OpConvertUToAccelerationStructureKHR = 4447,
     OpIgnoreIntersectionKHR = 4448,
     OpTerminateRayKHR = 4449,
+    OpSDot = 4450,
     OpSDotKHR = 4450,
+    OpUDot = 4451,
     OpUDotKHR = 4451,
+    OpSUDot = 4452,
     OpSUDotKHR = 4452,
+    OpSDotAccSat = 4453,
     OpSDotAccSatKHR = 4453,
+    OpUDotAccSat = 4454,
     OpUDotAccSatKHR = 4454,
+    OpSUDotAccSat = 4455,
     OpSUDotAccSatKHR = 4455,
     OpTypeRayQueryKHR = 4472,
     OpRayQueryInitializeKHR = 4473,
@@ -1548,6 +1613,8 @@
     OpFragmentFetchAMD = 5012,
     OpReadClockKHR = 5056,
     OpImageSampleFootprintNV = 5283,
+    OpEmitMeshTasksEXT = 5294,
+    OpSetMeshOutputsEXT = 5295,
     OpGroupNonUniformPartitionNV = 5296,
     OpWritePackedPrimitiveIndices4x8NV = 5299,
     OpReportIntersectionKHR = 5334,
@@ -1567,6 +1634,7 @@
     OpCooperativeMatrixLengthNV = 5362,
     OpBeginInvocationInterlockEXT = 5364,
     OpEndInvocationInterlockEXT = 5365,
+    OpDemoteToHelperInvocation = 5380,
     OpDemoteToHelperInvocationEXT = 5380,
     OpIsHelperInvocationEXT = 5381,
     OpConvertUToImageNV = 5391,
@@ -1776,6 +1844,9 @@
     OpArbitraryFloatPowRINTEL = 5881,
     OpArbitraryFloatPowNINTEL = 5882,
     OpLoopControlINTEL = 5887,
+    OpAliasDomainDeclINTEL = 5911,
+    OpAliasScopeDeclINTEL = 5912,
+    OpAliasScopeListDeclINTEL = 5913,
     OpFixedSqrtINTEL = 5923,
     OpFixedRecipINTEL = 5924,
     OpFixedRsqrtINTEL = 5925,
@@ -1814,10 +1885,23 @@
     OpTypeStructContinuedINTEL = 6090,
     OpConstantCompositeContinuedINTEL = 6091,
     OpSpecConstantCompositeContinuedINTEL = 6092,
+    OpControlBarrierArriveINTEL = 6142,
+    OpControlBarrierWaitINTEL = 6143,
+    OpGroupIMulKHR = 6401,
+    OpGroupFMulKHR = 6402,
+    OpGroupBitwiseAndKHR = 6403,
+    OpGroupBitwiseOrKHR = 6404,
+    OpGroupBitwiseXorKHR = 6405,
+    OpGroupLogicalAndKHR = 6406,
+    OpGroupLogicalOrKHR = 6407,
+    OpGroupLogicalXorKHR = 6408,
     Max = 0x7fffffff,
 };
 
 #ifdef SPV_ENABLE_UTILITY_CODE
+#ifndef __cplusplus
+#include <stdbool.h>
+#endif
 inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     *hasResult = *hasResultType = false;
     switch (opcode) {
@@ -2172,18 +2256,19 @@
     case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
     case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
     case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
     case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
     case Op::OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
     case Op::OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
     case Op::OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
     case Op::OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
     case Op::OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
-    case Op::OpSDotKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUDotKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSUDotKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpSDot: *hasResult = true; *hasResultType = true; break;
+    case Op::OpUDot: *hasResult = true; *hasResultType = true; break;
+    case Op::OpSUDot: *hasResult = true; *hasResultType = true; break;
+    case Op::OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
+    case Op::OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
+    case Op::OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
     case Op::OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
     case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
     case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
@@ -2203,6 +2288,8 @@
     case Op::OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
     case Op::OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
     case Op::OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
+    case Op::OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
     case Op::OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
     case Op::OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
     case Op::OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
@@ -2220,7 +2307,7 @@
     case Op::OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
     case Op::OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
     case Op::OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
-    case Op::OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
+    case Op::OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
     case Op::OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
     case Op::OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
     case Op::OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
@@ -2427,6 +2514,9 @@
     case Op::OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+    case Op::OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
+    case Op::OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
+    case Op::OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
     case Op::OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2465,6 +2555,16 @@
     case Op::OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
     case Op::OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
     case Op::OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+    case Op::OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
+    case Op::OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
+    case Op::OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
     }
 }
 #endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index e925ab9..466f0b0 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -36,7 +36,7 @@
                 ],
                 [
                     "Enumeration tokens for SPIR-V, in various styles:",
-                    "  C, C++, C++11, JSON, Lua, Python, C#, D",
+                    "  C, C++, C++11, JSON, Lua, Python, C#, D, Beef",
                     "",
                     "- C will have tokens with a \"Spv\" prefix, e.g.: SpvSourceLanguageGLSL",
                     "- C++ will have tokens in the \"spv\" name space, e.g.: spv::SourceLanguageGLSL",
@@ -46,6 +46,8 @@
                     "- C# will use enum classes in the Specification class located in the \"Spv\" namespace,",
                     "    e.g.: Spv.Specification.SourceLanguage.GLSL",
                     "- D will have tokens under the \"spv\" module, e.g: spv.SourceLanguage.GLSL",
+                    "- Beef will use enum classes in the Specification class located in the \"Spv\" namespace,",
+                    "    e.g.: Spv.Specification.SourceLanguage.GLSL",
                     "",
                     "Some tokens act like mask values, which can be OR'd together,",
                     "while others are mutually exclusive.  The mask-like ones have",
@@ -54,8 +56,8 @@
                 ]
             ],
             "MagicNumber": 119734787,
-            "Version": 66816,
-            "Revision": 4,
+            "Version": 67072,
+            "Revision": 1,
             "OpCodeMask": 65535,
             "WordCountShift": 16
         },
@@ -72,7 +74,8 @@
                     "OpenCL_C": 3,
                     "OpenCL_CPP": 4,
                     "HLSL": 5,
-                    "CPP_for_OpenCL": 6
+                    "CPP_for_OpenCL": 6,
+                    "SYCL": 7
                 }
             },
             {
@@ -100,7 +103,9 @@
                     "MissKHR": 5317,
                     "MissNV": 5317,
                     "CallableKHR": 5318,
-                    "CallableNV": 5318
+                    "CallableNV": 5318,
+                    "TaskEXT": 5364,
+                    "MeshEXT": 5365
                 }
             },
             {
@@ -177,11 +182,21 @@
                     "SignedZeroInfNanPreserve": 4461,
                     "RoundingModeRTE": 4462,
                     "RoundingModeRTZ": 4463,
+                    "EarlyAndLateFragmentTestsAMD": 5017,
                     "StencilRefReplacingEXT": 5027,
+                    "StencilRefUnchangedFrontAMD": 5079,
+                    "StencilRefGreaterFrontAMD": 5080,
+                    "StencilRefLessFrontAMD": 5081,
+                    "StencilRefUnchangedBackAMD": 5082,
+                    "StencilRefGreaterBackAMD": 5083,
+                    "StencilRefLessBackAMD": 5084,
+                    "OutputLinesEXT": 5269,
                     "OutputLinesNV": 5269,
+                    "OutputPrimitivesEXT": 5270,
                     "OutputPrimitivesNV": 5270,
                     "DerivativeGroupQuadsNV": 5289,
                     "DerivativeGroupLinearNV": 5290,
+                    "OutputTrianglesEXT": 5298,
                     "OutputTrianglesNV": 5298,
                     "PixelInterlockOrderedEXT": 5366,
                     "PixelInterlockUnorderedEXT": 5367,
@@ -198,7 +213,8 @@
                     "MaxWorkDimINTEL": 5894,
                     "NoGlobalOffsetINTEL": 5895,
                     "NumSIMDWorkitemsINTEL": 5896,
-                    "SchedulerTargetFmaxMhzINTEL": 5903
+                    "SchedulerTargetFmaxMhzINTEL": 5903,
+                    "NamedBarrierCountINTEL": 6417
                 }
             },
             {
@@ -233,6 +249,7 @@
                     "ShaderRecordBufferNV": 5343,
                     "PhysicalStorageBuffer": 5349,
                     "PhysicalStorageBufferEXT": 5349,
+                    "TaskPayloadWorkgroupEXT": 5402,
                     "CodeSectionINTEL": 5605,
                     "DeviceOnlyINTEL": 5936,
                     "HostOnlyINTEL": 5937
@@ -396,6 +413,7 @@
                     "VolatileTexelKHR": 11,
                     "SignExtend": 12,
                     "ZeroExtend": 13,
+                    "Nontemporal": 14,
                     "Offsets": 16
                 }
             },
@@ -518,9 +536,11 @@
                     "PassthroughNV": 5250,
                     "ViewportRelativeNV": 5252,
                     "SecondaryViewportRelativeNV": 5256,
+                    "PerPrimitiveEXT": 5271,
                     "PerPrimitiveNV": 5271,
                     "PerViewNV": 5272,
                     "PerTaskNV": 5273,
+                    "PerVertexKHR": 5285,
                     "PerVertexNV": 5285,
                     "NonUniform": 5300,
                     "NonUniformEXT": 5300,
@@ -566,11 +586,14 @@
                     "PrefetchINTEL": 5902,
                     "StallEnableINTEL": 5905,
                     "FuseLoopsInFunctionINTEL": 5907,
+                    "AliasScopeINTEL": 5914,
+                    "NoAliasINTEL": 5915,
                     "BufferLocationINTEL": 5921,
                     "IOPipeStorageINTEL": 5944,
                     "FunctionFloatingPointModeINTEL": 6080,
                     "SingleElementVectorINTEL": 6085,
-                    "VectorComputeCallableFunctionINTEL": 6087
+                    "VectorComputeCallableFunctionINTEL": 6087,
+                    "MediaBlockIOINTEL": 6140
                 }
             },
             {
@@ -619,6 +642,11 @@
                     "SubgroupLocalInvocationId": 41,
                     "VertexIndex": 42,
                     "InstanceIndex": 43,
+                    "CoreIDARM": 4160,
+                    "CoreCountARM": 4161,
+                    "CoreMaxIDARM": 4162,
+                    "WarpIDARM": 4163,
+                    "WarpMaxIDARM": 4164,
                     "SubgroupEqMask": 4416,
                     "SubgroupEqMaskKHR": 4416,
                     "SubgroupGeMask": 4417,
@@ -658,12 +686,18 @@
                     "LayerPerViewNV": 5279,
                     "MeshViewCountNV": 5280,
                     "MeshViewIndicesNV": 5281,
+                    "BaryCoordKHR": 5286,
                     "BaryCoordNV": 5286,
+                    "BaryCoordNoPerspKHR": 5287,
                     "BaryCoordNoPerspNV": 5287,
                     "FragSizeEXT": 5292,
                     "FragmentSizeNV": 5292,
                     "FragInvocationCountEXT": 5293,
                     "InvocationsPerPixelNV": 5293,
+                    "PrimitivePointIndicesEXT": 5294,
+                    "PrimitiveLineIndicesEXT": 5295,
+                    "PrimitiveTriangleIndicesEXT": 5296,
+                    "CullPrimitiveEXT": 5299,
                     "LaunchIdKHR": 5319,
                     "LaunchIdNV": 5319,
                     "LaunchSizeKHR": 5320,
@@ -696,7 +730,8 @@
                     "WarpsPerSMNV": 5374,
                     "SMCountNV": 5375,
                     "WarpIDNV": 5376,
-                    "SMIDNV": 5377
+                    "SMIDNV": 5377,
+                    "CullMaskKHR": 6021
                 }
             },
             {
@@ -781,7 +816,9 @@
                     "MakePointerVisible": 4,
                     "MakePointerVisibleKHR": 4,
                     "NonPrivatePointer": 5,
-                    "NonPrivatePointerKHR": 5
+                    "NonPrivatePointerKHR": 5,
+                    "AliasScopeINTELMask": 16,
+                    "NoAliasINTELMask": 17
                 }
             },
             {
@@ -905,6 +942,8 @@
                     "GroupNonUniformQuad": 68,
                     "ShaderLayer": 69,
                     "ShaderViewportIndex": 70,
+                    "UniformDecoration": 71,
+                    "CoreBuiltinsARM": 4165,
                     "FragmentShadingRateKHR": 4422,
                     "SubgroupBallotKHR": 4423,
                     "DrawParameters": 4427,
@@ -953,6 +992,8 @@
                     "FragmentFullyCoveredEXT": 5265,
                     "MeshShadingNV": 5266,
                     "ImageFootprintNV": 5282,
+                    "MeshShadingEXT": 5283,
+                    "FragmentBarycentricKHR": 5284,
                     "FragmentBarycentricNV": 5284,
                     "ComputeDerivativeGroupQuadsNV": 5288,
                     "FragmentDensityEXT": 5291,
@@ -997,7 +1038,9 @@
                     "FragmentShaderShadingRateInterlockEXT": 5372,
                     "ShaderSMBuiltinsNV": 5373,
                     "FragmentShaderPixelInterlockEXT": 5378,
+                    "DemoteToHelperInvocation": 5379,
                     "DemoteToHelperInvocationEXT": 5379,
+                    "RayTracingOpacityMicromapEXT": 5381,
                     "BindlessTextureNV": 5390,
                     "SubgroupShuffleINTEL": 5568,
                     "SubgroupBufferBlockIOINTEL": 5569,
@@ -1031,23 +1074,32 @@
                     "FPGAMemoryAccessesINTEL": 5898,
                     "FPGAClusterAttributesINTEL": 5904,
                     "LoopFuseINTEL": 5906,
+                    "MemoryAccessAliasingINTEL": 5910,
                     "FPGABufferLocationINTEL": 5920,
                     "ArbitraryPrecisionFixedPointINTEL": 5922,
                     "USMStorageClassesINTEL": 5935,
                     "IOPipesINTEL": 5943,
                     "BlockingPipesINTEL": 5945,
                     "FPGARegINTEL": 5948,
+                    "DotProductInputAll": 6016,
                     "DotProductInputAllKHR": 6016,
+                    "DotProductInput4x8Bit": 6017,
                     "DotProductInput4x8BitKHR": 6017,
+                    "DotProductInput4x8BitPacked": 6018,
                     "DotProductInput4x8BitPackedKHR": 6018,
+                    "DotProduct": 6019,
                     "DotProductKHR": 6019,
+                    "RayCullMaskKHR": 6020,
                     "BitInstructions": 6025,
+                    "GroupNonUniformRotateKHR": 6026,
                     "AtomicFloat32AddEXT": 6033,
                     "AtomicFloat64AddEXT": 6034,
                     "LongConstantCompositeINTEL": 6089,
                     "OptNoneINTEL": 6094,
                     "AtomicFloat16AddEXT": 6095,
-                    "DebugInfoModuleINTEL": 6114
+                    "DebugInfoModuleINTEL": 6114,
+                    "SplitBarrierINTEL": 6141,
+                    "GroupUniformArithmeticKHR": 6400
                 }
             },
             {
@@ -1064,7 +1116,8 @@
                     "CullOpaqueKHR": 6,
                     "CullNoOpaqueKHR": 7,
                     "SkipTrianglesKHR": 8,
-                    "SkipAABBsKHR": 9
+                    "SkipAABBsKHR": 9,
+                    "ForceOpacityMicromap2StateEXT": 10
                 }
             },
             {
@@ -1155,6 +1208,7 @@
                 "Type": "Value",
                 "Values":
                 {
+                    "PackedVectorFormat4x8Bit": 0,
                     "PackedVectorFormat4x8BitKHR": 0
                 }
             },
@@ -1513,17 +1567,24 @@
                     "OpSubgroupAllKHR": 4428,
                     "OpSubgroupAnyKHR": 4429,
                     "OpSubgroupAllEqualKHR": 4430,
+                    "OpGroupNonUniformRotateKHR": 4431,
                     "OpSubgroupReadInvocationKHR": 4432,
                     "OpTraceRayKHR": 4445,
                     "OpExecuteCallableKHR": 4446,
                     "OpConvertUToAccelerationStructureKHR": 4447,
                     "OpIgnoreIntersectionKHR": 4448,
                     "OpTerminateRayKHR": 4449,
+                    "OpSDot": 4450,
                     "OpSDotKHR": 4450,
+                    "OpUDot": 4451,
                     "OpUDotKHR": 4451,
+                    "OpSUDot": 4452,
                     "OpSUDotKHR": 4452,
+                    "OpSDotAccSat": 4453,
                     "OpSDotAccSatKHR": 4453,
+                    "OpUDotAccSat": 4454,
                     "OpUDotAccSatKHR": 4454,
+                    "OpSUDotAccSat": 4455,
                     "OpSUDotAccSatKHR": 4455,
                     "OpTypeRayQueryKHR": 4472,
                     "OpRayQueryInitializeKHR": 4473,
@@ -1544,6 +1605,8 @@
                     "OpFragmentFetchAMD": 5012,
                     "OpReadClockKHR": 5056,
                     "OpImageSampleFootprintNV": 5283,
+                    "OpEmitMeshTasksEXT": 5294,
+                    "OpSetMeshOutputsEXT": 5295,
                     "OpGroupNonUniformPartitionNV": 5296,
                     "OpWritePackedPrimitiveIndices4x8NV": 5299,
                     "OpReportIntersectionKHR": 5334,
@@ -1563,6 +1626,7 @@
                     "OpCooperativeMatrixLengthNV": 5362,
                     "OpBeginInvocationInterlockEXT": 5364,
                     "OpEndInvocationInterlockEXT": 5365,
+                    "OpDemoteToHelperInvocation": 5380,
                     "OpDemoteToHelperInvocationEXT": 5380,
                     "OpIsHelperInvocationEXT": 5381,
                     "OpConvertUToImageNV": 5391,
@@ -1772,6 +1836,9 @@
                     "OpArbitraryFloatPowRINTEL": 5881,
                     "OpArbitraryFloatPowNINTEL": 5882,
                     "OpLoopControlINTEL": 5887,
+                    "OpAliasDomainDeclINTEL": 5911,
+                    "OpAliasScopeDeclINTEL": 5912,
+                    "OpAliasScopeListDeclINTEL": 5913,
                     "OpFixedSqrtINTEL": 5923,
                     "OpFixedRecipINTEL": 5924,
                     "OpFixedRsqrtINTEL": 5925,
@@ -1809,7 +1876,17 @@
                     "OpTypeBufferSurfaceINTEL": 6086,
                     "OpTypeStructContinuedINTEL": 6090,
                     "OpConstantCompositeContinuedINTEL": 6091,
-                    "OpSpecConstantCompositeContinuedINTEL": 6092
+                    "OpSpecConstantCompositeContinuedINTEL": 6092,
+                    "OpControlBarrierArriveINTEL": 6142,
+                    "OpControlBarrierWaitINTEL": 6143,
+                    "OpGroupIMulKHR": 6401,
+                    "OpGroupFMulKHR": 6402,
+                    "OpGroupBitwiseAndKHR": 6403,
+                    "OpGroupBitwiseOrKHR": 6404,
+                    "OpGroupBitwiseXorKHR": 6405,
+                    "OpGroupLogicalAndKHR": 6406,
+                    "OpGroupLogicalOrKHR": 6407,
+                    "OpGroupLogicalXorKHR": 6408
                 }
             }
         ]
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 0806dd7..b763c84 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -26,7 +26,7 @@
 -- the Binary Section of the SPIR-V specification.
 
 -- Enumeration tokens for SPIR-V, in various styles:
---   C, C++, C++11, JSON, Lua, Python, C#, D
+--   C, C++, C++11, JSON, Lua, Python, C#, D, Beef
 -- 
 -- - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
 -- - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
@@ -36,6 +36,8 @@
 -- - C# will use enum classes in the Specification class located in the "Spv" namespace,
 --     e.g.: Spv.Specification.SourceLanguage.GLSL
 -- - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+-- - Beef will use enum classes in the Specification class located in the "Spv" namespace,
+--     e.g.: Spv.Specification.SourceLanguage.GLSL
 -- 
 -- Some tokens act like mask values, which can be OR'd together,
 -- while others are mutually exclusive.  The mask-like ones have
@@ -44,8 +46,8 @@
 
 spv = {
     MagicNumber = 0x07230203,
-    Version = 0x00010500,
-    Revision = 4,
+    Version = 0x00010600,
+    Revision = 1,
     OpCodeMask = 0xffff,
     WordCountShift = 16,
 
@@ -57,6 +59,7 @@
         OpenCL_CPP = 4,
         HLSL = 5,
         CPP_for_OpenCL = 6,
+        SYCL = 7,
     },
 
     ExecutionModel = {
@@ -81,6 +84,8 @@
         MissNV = 5317,
         CallableKHR = 5318,
         CallableNV = 5318,
+        TaskEXT = 5364,
+        MeshEXT = 5365,
     },
 
     AddressingModel = {
@@ -145,11 +150,21 @@
         SignedZeroInfNanPreserve = 4461,
         RoundingModeRTE = 4462,
         RoundingModeRTZ = 4463,
+        EarlyAndLateFragmentTestsAMD = 5017,
         StencilRefReplacingEXT = 5027,
+        StencilRefUnchangedFrontAMD = 5079,
+        StencilRefGreaterFrontAMD = 5080,
+        StencilRefLessFrontAMD = 5081,
+        StencilRefUnchangedBackAMD = 5082,
+        StencilRefGreaterBackAMD = 5083,
+        StencilRefLessBackAMD = 5084,
+        OutputLinesEXT = 5269,
         OutputLinesNV = 5269,
+        OutputPrimitivesEXT = 5270,
         OutputPrimitivesNV = 5270,
         DerivativeGroupQuadsNV = 5289,
         DerivativeGroupLinearNV = 5290,
+        OutputTrianglesEXT = 5298,
         OutputTrianglesNV = 5298,
         PixelInterlockOrderedEXT = 5366,
         PixelInterlockUnorderedEXT = 5367,
@@ -167,6 +182,7 @@
         NoGlobalOffsetINTEL = 5895,
         NumSIMDWorkitemsINTEL = 5896,
         SchedulerTargetFmaxMhzINTEL = 5903,
+        NamedBarrierCountINTEL = 6417,
     },
 
     StorageClass = {
@@ -197,6 +213,7 @@
         ShaderRecordBufferNV = 5343,
         PhysicalStorageBuffer = 5349,
         PhysicalStorageBufferEXT = 5349,
+        TaskPayloadWorkgroupEXT = 5402,
         CodeSectionINTEL = 5605,
         DeviceOnlyINTEL = 5936,
         HostOnlyINTEL = 5937,
@@ -332,6 +349,7 @@
         VolatileTexelKHR = 11,
         SignExtend = 12,
         ZeroExtend = 13,
+        Nontemporal = 14,
         Offsets = 16,
     },
 
@@ -355,6 +373,7 @@
         VolatileTexelKHR = 0x00000800,
         SignExtend = 0x00001000,
         ZeroExtend = 0x00002000,
+        Nontemporal = 0x00004000,
         Offsets = 0x00010000,
     },
 
@@ -464,9 +483,11 @@
         PassthroughNV = 5250,
         ViewportRelativeNV = 5252,
         SecondaryViewportRelativeNV = 5256,
+        PerPrimitiveEXT = 5271,
         PerPrimitiveNV = 5271,
         PerViewNV = 5272,
         PerTaskNV = 5273,
+        PerVertexKHR = 5285,
         PerVertexNV = 5285,
         NonUniform = 5300,
         NonUniformEXT = 5300,
@@ -512,11 +533,14 @@
         PrefetchINTEL = 5902,
         StallEnableINTEL = 5905,
         FuseLoopsInFunctionINTEL = 5907,
+        AliasScopeINTEL = 5914,
+        NoAliasINTEL = 5915,
         BufferLocationINTEL = 5921,
         IOPipeStorageINTEL = 5944,
         FunctionFloatingPointModeINTEL = 6080,
         SingleElementVectorINTEL = 6085,
         VectorComputeCallableFunctionINTEL = 6087,
+        MediaBlockIOINTEL = 6140,
     },
 
     BuiltIn = {
@@ -561,6 +585,11 @@
         SubgroupLocalInvocationId = 41,
         VertexIndex = 42,
         InstanceIndex = 43,
+        CoreIDARM = 4160,
+        CoreCountARM = 4161,
+        CoreMaxIDARM = 4162,
+        WarpIDARM = 4163,
+        WarpMaxIDARM = 4164,
         SubgroupEqMask = 4416,
         SubgroupEqMaskKHR = 4416,
         SubgroupGeMask = 4417,
@@ -600,12 +629,18 @@
         LayerPerViewNV = 5279,
         MeshViewCountNV = 5280,
         MeshViewIndicesNV = 5281,
+        BaryCoordKHR = 5286,
         BaryCoordNV = 5286,
+        BaryCoordNoPerspKHR = 5287,
         BaryCoordNoPerspNV = 5287,
         FragSizeEXT = 5292,
         FragmentSizeNV = 5292,
         FragInvocationCountEXT = 5293,
         InvocationsPerPixelNV = 5293,
+        PrimitivePointIndicesEXT = 5294,
+        PrimitiveLineIndicesEXT = 5295,
+        PrimitiveTriangleIndicesEXT = 5296,
+        CullPrimitiveEXT = 5299,
         LaunchIdKHR = 5319,
         LaunchIdNV = 5319,
         LaunchSizeKHR = 5320,
@@ -639,6 +674,7 @@
         SMCountNV = 5375,
         WarpIDNV = 5376,
         SMIDNV = 5377,
+        CullMaskKHR = 6021,
     },
 
     SelectionControlShift = {
@@ -761,6 +797,8 @@
         MakePointerVisibleKHR = 4,
         NonPrivatePointer = 5,
         NonPrivatePointerKHR = 5,
+        AliasScopeINTELMask = 16,
+        NoAliasINTELMask = 17,
     },
 
     MemoryAccessMask = {
@@ -774,6 +812,8 @@
         MakePointerVisibleKHR = 0x00000010,
         NonPrivatePointer = 0x00000020,
         NonPrivatePointerKHR = 0x00000020,
+        AliasScopeINTELMask = 0x00010000,
+        NoAliasINTELMask = 0x00020000,
     },
 
     Scope = {
@@ -882,6 +922,8 @@
         GroupNonUniformQuad = 68,
         ShaderLayer = 69,
         ShaderViewportIndex = 70,
+        UniformDecoration = 71,
+        CoreBuiltinsARM = 4165,
         FragmentShadingRateKHR = 4422,
         SubgroupBallotKHR = 4423,
         DrawParameters = 4427,
@@ -930,6 +972,8 @@
         FragmentFullyCoveredEXT = 5265,
         MeshShadingNV = 5266,
         ImageFootprintNV = 5282,
+        MeshShadingEXT = 5283,
+        FragmentBarycentricKHR = 5284,
         FragmentBarycentricNV = 5284,
         ComputeDerivativeGroupQuadsNV = 5288,
         FragmentDensityEXT = 5291,
@@ -974,7 +1018,9 @@
         FragmentShaderShadingRateInterlockEXT = 5372,
         ShaderSMBuiltinsNV = 5373,
         FragmentShaderPixelInterlockEXT = 5378,
+        DemoteToHelperInvocation = 5379,
         DemoteToHelperInvocationEXT = 5379,
+        RayTracingOpacityMicromapEXT = 5381,
         BindlessTextureNV = 5390,
         SubgroupShuffleINTEL = 5568,
         SubgroupBufferBlockIOINTEL = 5569,
@@ -1008,23 +1054,32 @@
         FPGAMemoryAccessesINTEL = 5898,
         FPGAClusterAttributesINTEL = 5904,
         LoopFuseINTEL = 5906,
+        MemoryAccessAliasingINTEL = 5910,
         FPGABufferLocationINTEL = 5920,
         ArbitraryPrecisionFixedPointINTEL = 5922,
         USMStorageClassesINTEL = 5935,
         IOPipesINTEL = 5943,
         BlockingPipesINTEL = 5945,
         FPGARegINTEL = 5948,
+        DotProductInputAll = 6016,
         DotProductInputAllKHR = 6016,
+        DotProductInput4x8Bit = 6017,
         DotProductInput4x8BitKHR = 6017,
+        DotProductInput4x8BitPacked = 6018,
         DotProductInput4x8BitPackedKHR = 6018,
+        DotProduct = 6019,
         DotProductKHR = 6019,
+        RayCullMaskKHR = 6020,
         BitInstructions = 6025,
+        GroupNonUniformRotateKHR = 6026,
         AtomicFloat32AddEXT = 6033,
         AtomicFloat64AddEXT = 6034,
         LongConstantCompositeINTEL = 6089,
         OptNoneINTEL = 6094,
         AtomicFloat16AddEXT = 6095,
         DebugInfoModuleINTEL = 6114,
+        SplitBarrierINTEL = 6141,
+        GroupUniformArithmeticKHR = 6400,
     },
 
     RayFlagsShift = {
@@ -1038,6 +1093,7 @@
         CullNoOpaqueKHR = 7,
         SkipTrianglesKHR = 8,
         SkipAABBsKHR = 9,
+        ForceOpacityMicromap2StateEXT = 10,
     },
 
     RayFlagsMask = {
@@ -1052,6 +1108,7 @@
         CullNoOpaqueKHR = 0x00000080,
         SkipTrianglesKHR = 0x00000100,
         SkipAABBsKHR = 0x00000200,
+        ForceOpacityMicromap2StateEXT = 0x00000400,
     },
 
     RayQueryIntersection = {
@@ -1114,6 +1171,7 @@
     },
 
     PackedVectorFormat = {
+        PackedVectorFormat4x8Bit = 0,
         PackedVectorFormat4x8BitKHR = 0,
     },
 
@@ -1468,17 +1526,24 @@
         OpSubgroupAllKHR = 4428,
         OpSubgroupAnyKHR = 4429,
         OpSubgroupAllEqualKHR = 4430,
+        OpGroupNonUniformRotateKHR = 4431,
         OpSubgroupReadInvocationKHR = 4432,
         OpTraceRayKHR = 4445,
         OpExecuteCallableKHR = 4446,
         OpConvertUToAccelerationStructureKHR = 4447,
         OpIgnoreIntersectionKHR = 4448,
         OpTerminateRayKHR = 4449,
+        OpSDot = 4450,
         OpSDotKHR = 4450,
+        OpUDot = 4451,
         OpUDotKHR = 4451,
+        OpSUDot = 4452,
         OpSUDotKHR = 4452,
+        OpSDotAccSat = 4453,
         OpSDotAccSatKHR = 4453,
+        OpUDotAccSat = 4454,
         OpUDotAccSatKHR = 4454,
+        OpSUDotAccSat = 4455,
         OpSUDotAccSatKHR = 4455,
         OpTypeRayQueryKHR = 4472,
         OpRayQueryInitializeKHR = 4473,
@@ -1499,6 +1564,8 @@
         OpFragmentFetchAMD = 5012,
         OpReadClockKHR = 5056,
         OpImageSampleFootprintNV = 5283,
+        OpEmitMeshTasksEXT = 5294,
+        OpSetMeshOutputsEXT = 5295,
         OpGroupNonUniformPartitionNV = 5296,
         OpWritePackedPrimitiveIndices4x8NV = 5299,
         OpReportIntersectionKHR = 5334,
@@ -1518,6 +1585,7 @@
         OpCooperativeMatrixLengthNV = 5362,
         OpBeginInvocationInterlockEXT = 5364,
         OpEndInvocationInterlockEXT = 5365,
+        OpDemoteToHelperInvocation = 5380,
         OpDemoteToHelperInvocationEXT = 5380,
         OpIsHelperInvocationEXT = 5381,
         OpConvertUToImageNV = 5391,
@@ -1727,6 +1795,9 @@
         OpArbitraryFloatPowRINTEL = 5881,
         OpArbitraryFloatPowNINTEL = 5882,
         OpLoopControlINTEL = 5887,
+        OpAliasDomainDeclINTEL = 5911,
+        OpAliasScopeDeclINTEL = 5912,
+        OpAliasScopeListDeclINTEL = 5913,
         OpFixedSqrtINTEL = 5923,
         OpFixedRecipINTEL = 5924,
         OpFixedRsqrtINTEL = 5925,
@@ -1765,6 +1836,16 @@
         OpTypeStructContinuedINTEL = 6090,
         OpConstantCompositeContinuedINTEL = 6091,
         OpSpecConstantCompositeContinuedINTEL = 6092,
+        OpControlBarrierArriveINTEL = 6142,
+        OpControlBarrierWaitINTEL = 6143,
+        OpGroupIMulKHR = 6401,
+        OpGroupFMulKHR = 6402,
+        OpGroupBitwiseAndKHR = 6403,
+        OpGroupBitwiseOrKHR = 6404,
+        OpGroupBitwiseXorKHR = 6405,
+        OpGroupLogicalAndKHR = 6406,
+        OpGroupLogicalOrKHR = 6407,
+        OpGroupLogicalXorKHR = 6408,
     },
 
 }
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index ad41708..12e3401 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -26,7 +26,7 @@
 # the Binary Section of the SPIR-V specification.
 
 # Enumeration tokens for SPIR-V, in various styles:
-#   C, C++, C++11, JSON, Lua, Python, C#, D
+#   C, C++, C++11, JSON, Lua, Python, C#, D, Beef
 # 
 # - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
 # - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
@@ -36,6 +36,8 @@
 # - C# will use enum classes in the Specification class located in the "Spv" namespace,
 #     e.g.: Spv.Specification.SourceLanguage.GLSL
 # - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+# - Beef will use enum classes in the Specification class located in the "Spv" namespace,
+#     e.g.: Spv.Specification.SourceLanguage.GLSL
 # 
 # Some tokens act like mask values, which can be OR'd together,
 # while others are mutually exclusive.  The mask-like ones have
@@ -44,8 +46,8 @@
 
 spv = {
     'MagicNumber' : 0x07230203,
-    'Version' : 0x00010500,
-    'Revision' : 4,
+    'Version' : 0x00010600,
+    'Revision' : 1,
     'OpCodeMask' : 0xffff,
     'WordCountShift' : 16,
 
@@ -57,6 +59,7 @@
         'OpenCL_CPP' : 4,
         'HLSL' : 5,
         'CPP_for_OpenCL' : 6,
+        'SYCL' : 7,
     },
 
     'ExecutionModel' : {
@@ -81,6 +84,8 @@
         'MissNV' : 5317,
         'CallableKHR' : 5318,
         'CallableNV' : 5318,
+        'TaskEXT' : 5364,
+        'MeshEXT' : 5365,
     },
 
     'AddressingModel' : {
@@ -145,11 +150,21 @@
         'SignedZeroInfNanPreserve' : 4461,
         'RoundingModeRTE' : 4462,
         'RoundingModeRTZ' : 4463,
+        'EarlyAndLateFragmentTestsAMD' : 5017,
         'StencilRefReplacingEXT' : 5027,
+        'StencilRefUnchangedFrontAMD' : 5079,
+        'StencilRefGreaterFrontAMD' : 5080,
+        'StencilRefLessFrontAMD' : 5081,
+        'StencilRefUnchangedBackAMD' : 5082,
+        'StencilRefGreaterBackAMD' : 5083,
+        'StencilRefLessBackAMD' : 5084,
+        'OutputLinesEXT' : 5269,
         'OutputLinesNV' : 5269,
+        'OutputPrimitivesEXT' : 5270,
         'OutputPrimitivesNV' : 5270,
         'DerivativeGroupQuadsNV' : 5289,
         'DerivativeGroupLinearNV' : 5290,
+        'OutputTrianglesEXT' : 5298,
         'OutputTrianglesNV' : 5298,
         'PixelInterlockOrderedEXT' : 5366,
         'PixelInterlockUnorderedEXT' : 5367,
@@ -167,6 +182,7 @@
         'NoGlobalOffsetINTEL' : 5895,
         'NumSIMDWorkitemsINTEL' : 5896,
         'SchedulerTargetFmaxMhzINTEL' : 5903,
+        'NamedBarrierCountINTEL' : 6417,
     },
 
     'StorageClass' : {
@@ -197,6 +213,7 @@
         'ShaderRecordBufferNV' : 5343,
         'PhysicalStorageBuffer' : 5349,
         'PhysicalStorageBufferEXT' : 5349,
+        'TaskPayloadWorkgroupEXT' : 5402,
         'CodeSectionINTEL' : 5605,
         'DeviceOnlyINTEL' : 5936,
         'HostOnlyINTEL' : 5937,
@@ -332,6 +349,7 @@
         'VolatileTexelKHR' : 11,
         'SignExtend' : 12,
         'ZeroExtend' : 13,
+        'Nontemporal' : 14,
         'Offsets' : 16,
     },
 
@@ -355,6 +373,7 @@
         'VolatileTexelKHR' : 0x00000800,
         'SignExtend' : 0x00001000,
         'ZeroExtend' : 0x00002000,
+        'Nontemporal' : 0x00004000,
         'Offsets' : 0x00010000,
     },
 
@@ -464,9 +483,11 @@
         'PassthroughNV' : 5250,
         'ViewportRelativeNV' : 5252,
         'SecondaryViewportRelativeNV' : 5256,
+        'PerPrimitiveEXT' : 5271,
         'PerPrimitiveNV' : 5271,
         'PerViewNV' : 5272,
         'PerTaskNV' : 5273,
+        'PerVertexKHR' : 5285,
         'PerVertexNV' : 5285,
         'NonUniform' : 5300,
         'NonUniformEXT' : 5300,
@@ -512,11 +533,14 @@
         'PrefetchINTEL' : 5902,
         'StallEnableINTEL' : 5905,
         'FuseLoopsInFunctionINTEL' : 5907,
+        'AliasScopeINTEL' : 5914,
+        'NoAliasINTEL' : 5915,
         'BufferLocationINTEL' : 5921,
         'IOPipeStorageINTEL' : 5944,
         'FunctionFloatingPointModeINTEL' : 6080,
         'SingleElementVectorINTEL' : 6085,
         'VectorComputeCallableFunctionINTEL' : 6087,
+        'MediaBlockIOINTEL' : 6140,
     },
 
     'BuiltIn' : {
@@ -561,6 +585,11 @@
         'SubgroupLocalInvocationId' : 41,
         'VertexIndex' : 42,
         'InstanceIndex' : 43,
+        'CoreIDARM' : 4160,
+        'CoreCountARM' : 4161,
+        'CoreMaxIDARM' : 4162,
+        'WarpIDARM' : 4163,
+        'WarpMaxIDARM' : 4164,
         'SubgroupEqMask' : 4416,
         'SubgroupEqMaskKHR' : 4416,
         'SubgroupGeMask' : 4417,
@@ -600,12 +629,18 @@
         'LayerPerViewNV' : 5279,
         'MeshViewCountNV' : 5280,
         'MeshViewIndicesNV' : 5281,
+        'BaryCoordKHR' : 5286,
         'BaryCoordNV' : 5286,
+        'BaryCoordNoPerspKHR' : 5287,
         'BaryCoordNoPerspNV' : 5287,
         'FragSizeEXT' : 5292,
         'FragmentSizeNV' : 5292,
         'FragInvocationCountEXT' : 5293,
         'InvocationsPerPixelNV' : 5293,
+        'PrimitivePointIndicesEXT' : 5294,
+        'PrimitiveLineIndicesEXT' : 5295,
+        'PrimitiveTriangleIndicesEXT' : 5296,
+        'CullPrimitiveEXT' : 5299,
         'LaunchIdKHR' : 5319,
         'LaunchIdNV' : 5319,
         'LaunchSizeKHR' : 5320,
@@ -639,6 +674,7 @@
         'SMCountNV' : 5375,
         'WarpIDNV' : 5376,
         'SMIDNV' : 5377,
+        'CullMaskKHR' : 6021,
     },
 
     'SelectionControlShift' : {
@@ -761,6 +797,8 @@
         'MakePointerVisibleKHR' : 4,
         'NonPrivatePointer' : 5,
         'NonPrivatePointerKHR' : 5,
+        'AliasScopeINTELMask' : 16,
+        'NoAliasINTELMask' : 17,
     },
 
     'MemoryAccessMask' : {
@@ -774,6 +812,8 @@
         'MakePointerVisibleKHR' : 0x00000010,
         'NonPrivatePointer' : 0x00000020,
         'NonPrivatePointerKHR' : 0x00000020,
+        'AliasScopeINTELMask' : 0x00010000,
+        'NoAliasINTELMask' : 0x00020000,
     },
 
     'Scope' : {
@@ -882,6 +922,8 @@
         'GroupNonUniformQuad' : 68,
         'ShaderLayer' : 69,
         'ShaderViewportIndex' : 70,
+        'UniformDecoration' : 71,
+        'CoreBuiltinsARM' : 4165,
         'FragmentShadingRateKHR' : 4422,
         'SubgroupBallotKHR' : 4423,
         'DrawParameters' : 4427,
@@ -930,6 +972,8 @@
         'FragmentFullyCoveredEXT' : 5265,
         'MeshShadingNV' : 5266,
         'ImageFootprintNV' : 5282,
+        'MeshShadingEXT' : 5283,
+        'FragmentBarycentricKHR' : 5284,
         'FragmentBarycentricNV' : 5284,
         'ComputeDerivativeGroupQuadsNV' : 5288,
         'FragmentDensityEXT' : 5291,
@@ -974,7 +1018,9 @@
         'FragmentShaderShadingRateInterlockEXT' : 5372,
         'ShaderSMBuiltinsNV' : 5373,
         'FragmentShaderPixelInterlockEXT' : 5378,
+        'DemoteToHelperInvocation' : 5379,
         'DemoteToHelperInvocationEXT' : 5379,
+        'RayTracingOpacityMicromapEXT' : 5381,
         'BindlessTextureNV' : 5390,
         'SubgroupShuffleINTEL' : 5568,
         'SubgroupBufferBlockIOINTEL' : 5569,
@@ -1008,23 +1054,32 @@
         'FPGAMemoryAccessesINTEL' : 5898,
         'FPGAClusterAttributesINTEL' : 5904,
         'LoopFuseINTEL' : 5906,
+        'MemoryAccessAliasingINTEL' : 5910,
         'FPGABufferLocationINTEL' : 5920,
         'ArbitraryPrecisionFixedPointINTEL' : 5922,
         'USMStorageClassesINTEL' : 5935,
         'IOPipesINTEL' : 5943,
         'BlockingPipesINTEL' : 5945,
         'FPGARegINTEL' : 5948,
+        'DotProductInputAll' : 6016,
         'DotProductInputAllKHR' : 6016,
+        'DotProductInput4x8Bit' : 6017,
         'DotProductInput4x8BitKHR' : 6017,
+        'DotProductInput4x8BitPacked' : 6018,
         'DotProductInput4x8BitPackedKHR' : 6018,
+        'DotProduct' : 6019,
         'DotProductKHR' : 6019,
+        'RayCullMaskKHR' : 6020,
         'BitInstructions' : 6025,
+        'GroupNonUniformRotateKHR' : 6026,
         'AtomicFloat32AddEXT' : 6033,
         'AtomicFloat64AddEXT' : 6034,
         'LongConstantCompositeINTEL' : 6089,
         'OptNoneINTEL' : 6094,
         'AtomicFloat16AddEXT' : 6095,
         'DebugInfoModuleINTEL' : 6114,
+        'SplitBarrierINTEL' : 6141,
+        'GroupUniformArithmeticKHR' : 6400,
     },
 
     'RayFlagsShift' : {
@@ -1038,6 +1093,7 @@
         'CullNoOpaqueKHR' : 7,
         'SkipTrianglesKHR' : 8,
         'SkipAABBsKHR' : 9,
+        'ForceOpacityMicromap2StateEXT' : 10,
     },
 
     'RayFlagsMask' : {
@@ -1052,6 +1108,7 @@
         'CullNoOpaqueKHR' : 0x00000080,
         'SkipTrianglesKHR' : 0x00000100,
         'SkipAABBsKHR' : 0x00000200,
+        'ForceOpacityMicromap2StateEXT' : 0x00000400,
     },
 
     'RayQueryIntersection' : {
@@ -1114,6 +1171,7 @@
     },
 
     'PackedVectorFormat' : {
+        'PackedVectorFormat4x8Bit' : 0,
         'PackedVectorFormat4x8BitKHR' : 0,
     },
 
@@ -1468,17 +1526,24 @@
         'OpSubgroupAllKHR' : 4428,
         'OpSubgroupAnyKHR' : 4429,
         'OpSubgroupAllEqualKHR' : 4430,
+        'OpGroupNonUniformRotateKHR' : 4431,
         'OpSubgroupReadInvocationKHR' : 4432,
         'OpTraceRayKHR' : 4445,
         'OpExecuteCallableKHR' : 4446,
         'OpConvertUToAccelerationStructureKHR' : 4447,
         'OpIgnoreIntersectionKHR' : 4448,
         'OpTerminateRayKHR' : 4449,
+        'OpSDot' : 4450,
         'OpSDotKHR' : 4450,
+        'OpUDot' : 4451,
         'OpUDotKHR' : 4451,
+        'OpSUDot' : 4452,
         'OpSUDotKHR' : 4452,
+        'OpSDotAccSat' : 4453,
         'OpSDotAccSatKHR' : 4453,
+        'OpUDotAccSat' : 4454,
         'OpUDotAccSatKHR' : 4454,
+        'OpSUDotAccSat' : 4455,
         'OpSUDotAccSatKHR' : 4455,
         'OpTypeRayQueryKHR' : 4472,
         'OpRayQueryInitializeKHR' : 4473,
@@ -1499,6 +1564,8 @@
         'OpFragmentFetchAMD' : 5012,
         'OpReadClockKHR' : 5056,
         'OpImageSampleFootprintNV' : 5283,
+        'OpEmitMeshTasksEXT' : 5294,
+        'OpSetMeshOutputsEXT' : 5295,
         'OpGroupNonUniformPartitionNV' : 5296,
         'OpWritePackedPrimitiveIndices4x8NV' : 5299,
         'OpReportIntersectionKHR' : 5334,
@@ -1518,6 +1585,7 @@
         'OpCooperativeMatrixLengthNV' : 5362,
         'OpBeginInvocationInterlockEXT' : 5364,
         'OpEndInvocationInterlockEXT' : 5365,
+        'OpDemoteToHelperInvocation' : 5380,
         'OpDemoteToHelperInvocationEXT' : 5380,
         'OpIsHelperInvocationEXT' : 5381,
         'OpConvertUToImageNV' : 5391,
@@ -1727,6 +1795,9 @@
         'OpArbitraryFloatPowRINTEL' : 5881,
         'OpArbitraryFloatPowNINTEL' : 5882,
         'OpLoopControlINTEL' : 5887,
+        'OpAliasDomainDeclINTEL' : 5911,
+        'OpAliasScopeDeclINTEL' : 5912,
+        'OpAliasScopeListDeclINTEL' : 5913,
         'OpFixedSqrtINTEL' : 5923,
         'OpFixedRecipINTEL' : 5924,
         'OpFixedRsqrtINTEL' : 5925,
@@ -1765,6 +1836,16 @@
         'OpTypeStructContinuedINTEL' : 6090,
         'OpConstantCompositeContinuedINTEL' : 6091,
         'OpSpecConstantCompositeContinuedINTEL' : 6092,
+        'OpControlBarrierArriveINTEL' : 6142,
+        'OpControlBarrierWaitINTEL' : 6143,
+        'OpGroupIMulKHR' : 6401,
+        'OpGroupFMulKHR' : 6402,
+        'OpGroupBitwiseAndKHR' : 6403,
+        'OpGroupBitwiseOrKHR' : 6404,
+        'OpGroupBitwiseXorKHR' : 6405,
+        'OpGroupLogicalAndKHR' : 6406,
+        'OpGroupLogicalOrKHR' : 6407,
+        'OpGroupLogicalXorKHR' : 6408,
     },
 
 }
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index afff6f4..6462405 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -31,7 +31,7 @@
 
 /+
  + Enumeration tokens for SPIR-V, in various styles:
- +   C, C++, C++11, JSON, Lua, Python, C#, D
+ +   C, C++, C++11, JSON, Lua, Python, C#, D, Beef
  + 
  + - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
  + - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
@@ -41,6 +41,8 @@
  + - C# will use enum classes in the Specification class located in the "Spv" namespace,
  +     e.g.: Spv.Specification.SourceLanguage.GLSL
  + - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+ + - Beef will use enum classes in the Specification class located in the "Spv" namespace,
+ +     e.g.: Spv.Specification.SourceLanguage.GLSL
  + 
  + Some tokens act like mask values, which can be OR'd together,
  + while others are mutually exclusive.  The mask-like ones have
@@ -51,8 +53,8 @@
 module spv;
 
 enum uint MagicNumber = 0x07230203;
-enum uint Version = 0x00010500;
-enum uint Revision = 4;
+enum uint Version = 0x00010600;
+enum uint Revision = 1;
 enum uint OpCodeMask = 0xffff;
 enum uint WordCountShift = 16;
 
@@ -65,6 +67,7 @@
     OpenCL_CPP = 4,
     HLSL = 5,
     CPP_for_OpenCL = 6,
+    SYCL = 7,
 }
 
 enum ExecutionModel : uint
@@ -90,6 +93,8 @@
     MissNV = 5317,
     CallableKHR = 5318,
     CallableNV = 5318,
+    TaskEXT = 5364,
+    MeshEXT = 5365,
 }
 
 enum AddressingModel : uint
@@ -157,11 +162,21 @@
     SignedZeroInfNanPreserve = 4461,
     RoundingModeRTE = 4462,
     RoundingModeRTZ = 4463,
+    EarlyAndLateFragmentTestsAMD = 5017,
     StencilRefReplacingEXT = 5027,
+    StencilRefUnchangedFrontAMD = 5079,
+    StencilRefGreaterFrontAMD = 5080,
+    StencilRefLessFrontAMD = 5081,
+    StencilRefUnchangedBackAMD = 5082,
+    StencilRefGreaterBackAMD = 5083,
+    StencilRefLessBackAMD = 5084,
+    OutputLinesEXT = 5269,
     OutputLinesNV = 5269,
+    OutputPrimitivesEXT = 5270,
     OutputPrimitivesNV = 5270,
     DerivativeGroupQuadsNV = 5289,
     DerivativeGroupLinearNV = 5290,
+    OutputTrianglesEXT = 5298,
     OutputTrianglesNV = 5298,
     PixelInterlockOrderedEXT = 5366,
     PixelInterlockUnorderedEXT = 5367,
@@ -179,6 +194,7 @@
     NoGlobalOffsetINTEL = 5895,
     NumSIMDWorkitemsINTEL = 5896,
     SchedulerTargetFmaxMhzINTEL = 5903,
+    NamedBarrierCountINTEL = 6417,
 }
 
 enum StorageClass : uint
@@ -210,6 +226,7 @@
     ShaderRecordBufferNV = 5343,
     PhysicalStorageBuffer = 5349,
     PhysicalStorageBufferEXT = 5349,
+    TaskPayloadWorkgroupEXT = 5402,
     CodeSectionINTEL = 5605,
     DeviceOnlyINTEL = 5936,
     HostOnlyINTEL = 5937,
@@ -352,6 +369,7 @@
     VolatileTexelKHR = 11,
     SignExtend = 12,
     ZeroExtend = 13,
+    Nontemporal = 14,
     Offsets = 16,
 }
 
@@ -376,6 +394,7 @@
     VolatileTexelKHR = 0x00000800,
     SignExtend = 0x00001000,
     ZeroExtend = 0x00002000,
+    Nontemporal = 0x00004000,
     Offsets = 0x00010000,
 }
 
@@ -492,9 +511,11 @@
     PassthroughNV = 5250,
     ViewportRelativeNV = 5252,
     SecondaryViewportRelativeNV = 5256,
+    PerPrimitiveEXT = 5271,
     PerPrimitiveNV = 5271,
     PerViewNV = 5272,
     PerTaskNV = 5273,
+    PerVertexKHR = 5285,
     PerVertexNV = 5285,
     NonUniform = 5300,
     NonUniformEXT = 5300,
@@ -540,11 +561,14 @@
     PrefetchINTEL = 5902,
     StallEnableINTEL = 5905,
     FuseLoopsInFunctionINTEL = 5907,
+    AliasScopeINTEL = 5914,
+    NoAliasINTEL = 5915,
     BufferLocationINTEL = 5921,
     IOPipeStorageINTEL = 5944,
     FunctionFloatingPointModeINTEL = 6080,
     SingleElementVectorINTEL = 6085,
     VectorComputeCallableFunctionINTEL = 6087,
+    MediaBlockIOINTEL = 6140,
 }
 
 enum BuiltIn : uint
@@ -590,6 +614,11 @@
     SubgroupLocalInvocationId = 41,
     VertexIndex = 42,
     InstanceIndex = 43,
+    CoreIDARM = 4160,
+    CoreCountARM = 4161,
+    CoreMaxIDARM = 4162,
+    WarpIDARM = 4163,
+    WarpMaxIDARM = 4164,
     SubgroupEqMask = 4416,
     SubgroupEqMaskKHR = 4416,
     SubgroupGeMask = 4417,
@@ -629,12 +658,18 @@
     LayerPerViewNV = 5279,
     MeshViewCountNV = 5280,
     MeshViewIndicesNV = 5281,
+    BaryCoordKHR = 5286,
     BaryCoordNV = 5286,
+    BaryCoordNoPerspKHR = 5287,
     BaryCoordNoPerspNV = 5287,
     FragSizeEXT = 5292,
     FragmentSizeNV = 5292,
     FragInvocationCountEXT = 5293,
     InvocationsPerPixelNV = 5293,
+    PrimitivePointIndicesEXT = 5294,
+    PrimitiveLineIndicesEXT = 5295,
+    PrimitiveTriangleIndicesEXT = 5296,
+    CullPrimitiveEXT = 5299,
     LaunchIdKHR = 5319,
     LaunchIdNV = 5319,
     LaunchSizeKHR = 5320,
@@ -668,6 +703,7 @@
     SMCountNV = 5375,
     WarpIDNV = 5376,
     SMIDNV = 5377,
+    CullMaskKHR = 6021,
 }
 
 enum SelectionControlShift : uint
@@ -799,6 +835,8 @@
     MakePointerVisibleKHR = 4,
     NonPrivatePointer = 5,
     NonPrivatePointerKHR = 5,
+    AliasScopeINTELMask = 16,
+    NoAliasINTELMask = 17,
 }
 
 enum MemoryAccessMask : uint
@@ -813,6 +851,8 @@
     MakePointerVisibleKHR = 0x00000010,
     NonPrivatePointer = 0x00000020,
     NonPrivatePointerKHR = 0x00000020,
+    AliasScopeINTELMask = 0x00010000,
+    NoAliasINTELMask = 0x00020000,
 }
 
 enum Scope : uint
@@ -927,6 +967,8 @@
     GroupNonUniformQuad = 68,
     ShaderLayer = 69,
     ShaderViewportIndex = 70,
+    UniformDecoration = 71,
+    CoreBuiltinsARM = 4165,
     FragmentShadingRateKHR = 4422,
     SubgroupBallotKHR = 4423,
     DrawParameters = 4427,
@@ -975,6 +1017,8 @@
     FragmentFullyCoveredEXT = 5265,
     MeshShadingNV = 5266,
     ImageFootprintNV = 5282,
+    MeshShadingEXT = 5283,
+    FragmentBarycentricKHR = 5284,
     FragmentBarycentricNV = 5284,
     ComputeDerivativeGroupQuadsNV = 5288,
     FragmentDensityEXT = 5291,
@@ -1019,7 +1063,9 @@
     FragmentShaderShadingRateInterlockEXT = 5372,
     ShaderSMBuiltinsNV = 5373,
     FragmentShaderPixelInterlockEXT = 5378,
+    DemoteToHelperInvocation = 5379,
     DemoteToHelperInvocationEXT = 5379,
+    RayTracingOpacityMicromapEXT = 5381,
     BindlessTextureNV = 5390,
     SubgroupShuffleINTEL = 5568,
     SubgroupBufferBlockIOINTEL = 5569,
@@ -1053,23 +1099,32 @@
     FPGAMemoryAccessesINTEL = 5898,
     FPGAClusterAttributesINTEL = 5904,
     LoopFuseINTEL = 5906,
+    MemoryAccessAliasingINTEL = 5910,
     FPGABufferLocationINTEL = 5920,
     ArbitraryPrecisionFixedPointINTEL = 5922,
     USMStorageClassesINTEL = 5935,
     IOPipesINTEL = 5943,
     BlockingPipesINTEL = 5945,
     FPGARegINTEL = 5948,
+    DotProductInputAll = 6016,
     DotProductInputAllKHR = 6016,
+    DotProductInput4x8Bit = 6017,
     DotProductInput4x8BitKHR = 6017,
+    DotProductInput4x8BitPacked = 6018,
     DotProductInput4x8BitPackedKHR = 6018,
+    DotProduct = 6019,
     DotProductKHR = 6019,
+    RayCullMaskKHR = 6020,
     BitInstructions = 6025,
+    GroupNonUniformRotateKHR = 6026,
     AtomicFloat32AddEXT = 6033,
     AtomicFloat64AddEXT = 6034,
     LongConstantCompositeINTEL = 6089,
     OptNoneINTEL = 6094,
     AtomicFloat16AddEXT = 6095,
     DebugInfoModuleINTEL = 6114,
+    SplitBarrierINTEL = 6141,
+    GroupUniformArithmeticKHR = 6400,
 }
 
 enum RayFlagsShift : uint
@@ -1084,6 +1139,7 @@
     CullNoOpaqueKHR = 7,
     SkipTrianglesKHR = 8,
     SkipAABBsKHR = 9,
+    ForceOpacityMicromap2StateEXT = 10,
 }
 
 enum RayFlagsMask : uint
@@ -1099,6 +1155,7 @@
     CullNoOpaqueKHR = 0x00000080,
     SkipTrianglesKHR = 0x00000100,
     SkipAABBsKHR = 0x00000200,
+    ForceOpacityMicromap2StateEXT = 0x00000400,
 }
 
 enum RayQueryIntersection : uint
@@ -1171,6 +1228,7 @@
 
 enum PackedVectorFormat : uint
 {
+    PackedVectorFormat4x8Bit = 0,
     PackedVectorFormat4x8BitKHR = 0,
 }
 
@@ -1526,17 +1584,24 @@
     OpSubgroupAllKHR = 4428,
     OpSubgroupAnyKHR = 4429,
     OpSubgroupAllEqualKHR = 4430,
+    OpGroupNonUniformRotateKHR = 4431,
     OpSubgroupReadInvocationKHR = 4432,
     OpTraceRayKHR = 4445,
     OpExecuteCallableKHR = 4446,
     OpConvertUToAccelerationStructureKHR = 4447,
     OpIgnoreIntersectionKHR = 4448,
     OpTerminateRayKHR = 4449,
+    OpSDot = 4450,
     OpSDotKHR = 4450,
+    OpUDot = 4451,
     OpUDotKHR = 4451,
+    OpSUDot = 4452,
     OpSUDotKHR = 4452,
+    OpSDotAccSat = 4453,
     OpSDotAccSatKHR = 4453,
+    OpUDotAccSat = 4454,
     OpUDotAccSatKHR = 4454,
+    OpSUDotAccSat = 4455,
     OpSUDotAccSatKHR = 4455,
     OpTypeRayQueryKHR = 4472,
     OpRayQueryInitializeKHR = 4473,
@@ -1557,6 +1622,8 @@
     OpFragmentFetchAMD = 5012,
     OpReadClockKHR = 5056,
     OpImageSampleFootprintNV = 5283,
+    OpEmitMeshTasksEXT = 5294,
+    OpSetMeshOutputsEXT = 5295,
     OpGroupNonUniformPartitionNV = 5296,
     OpWritePackedPrimitiveIndices4x8NV = 5299,
     OpReportIntersectionKHR = 5334,
@@ -1576,6 +1643,7 @@
     OpCooperativeMatrixLengthNV = 5362,
     OpBeginInvocationInterlockEXT = 5364,
     OpEndInvocationInterlockEXT = 5365,
+    OpDemoteToHelperInvocation = 5380,
     OpDemoteToHelperInvocationEXT = 5380,
     OpIsHelperInvocationEXT = 5381,
     OpConvertUToImageNV = 5391,
@@ -1785,6 +1853,9 @@
     OpArbitraryFloatPowRINTEL = 5881,
     OpArbitraryFloatPowNINTEL = 5882,
     OpLoopControlINTEL = 5887,
+    OpAliasDomainDeclINTEL = 5911,
+    OpAliasScopeDeclINTEL = 5912,
+    OpAliasScopeListDeclINTEL = 5913,
     OpFixedSqrtINTEL = 5923,
     OpFixedRecipINTEL = 5924,
     OpFixedRsqrtINTEL = 5925,
@@ -1823,6 +1894,16 @@
     OpTypeStructContinuedINTEL = 6090,
     OpConstantCompositeContinuedINTEL = 6091,
     OpSpecConstantCompositeContinuedINTEL = 6092,
+    OpControlBarrierArriveINTEL = 6142,
+    OpControlBarrierWaitINTEL = 6143,
+    OpGroupIMulKHR = 6401,
+    OpGroupFMulKHR = 6402,
+    OpGroupBitwiseAndKHR = 6403,
+    OpGroupBitwiseOrKHR = 6404,
+    OpGroupBitwiseXorKHR = 6405,
+    OpGroupLogicalAndKHR = 6406,
+    OpGroupLogicalOrKHR = 6407,
+    OpGroupLogicalXorKHR = 6408,
 }
 
 
diff --git a/tools/buildHeaders/header.cpp b/tools/buildHeaders/header.cpp
index dc780ef..f9e06fb 100644
--- a/tools/buildHeaders/header.cpp
+++ b/tools/buildHeaders/header.cpp
@@ -69,9 +69,9 @@
         TPrinter();
 
         static const int         DocMagicNumber = 0x07230203;
-        static const int         DocVersion     = 0x00010500;
-        static const int         DocRevision    = 4;
-        #define DocRevisionString                "4"
+        static const int         DocVersion     = 0x00010600;
+        static const int         DocRevision    = 1;
+        #define DocRevisionString                "1"
         static const std::string DocCopyright;
         static const std::string DocComment1;
         static const std::string DocComment2;
@@ -199,7 +199,7 @@
 
     const std::string TPrinter::DocComment2 =
         "Enumeration tokens for SPIR-V, in various styles:\n"
-        "  C, C++, C++11, JSON, Lua, Python, C#, D\n"
+        "  C, C++, C++11, JSON, Lua, Python, C#, D, Beef\n"
         "\n"
         "- C will have tokens with a \"Spv\" prefix, e.g.: SpvSourceLanguageGLSL\n"
         "- C++ will have tokens in the \"spv\" name space, e.g.: spv::SourceLanguageGLSL\n"
@@ -209,6 +209,8 @@
         "- C# will use enum classes in the Specification class located in the \"Spv\" namespace,\n"
         "    e.g.: Spv.Specification.SourceLanguage.GLSL\n"
         "- D will have tokens under the \"spv\" module, e.g: spv.SourceLanguage.GLSL\n"
+        "- Beef will use enum classes in the Specification class located in the \"Spv\" namespace,\n"
+        "    e.g.: Spv.Specification.SourceLanguage.GLSL\n"
         "\n"
         "Some tokens act like mask values, which can be OR'd together,\n"
         "while others are mutually exclusive.  The mask-like ones have\n"
@@ -513,6 +515,9 @@
                 }
 
                 out << "#ifdef SPV_ENABLE_UTILITY_CODE" << std::endl;
+                out << "#ifndef __cplusplus" << std::endl;
+                out << "#include <stdbool.h>" << std::endl;
+                out << "#endif" << std::endl;
                 out << "inline void " << pre() << "HasResultAndType(" << pre() << opName << " opcode, bool *hasResult, bool *hasResultType) {" << std::endl;
                 out << "    *hasResult = *hasResultType = false;" << std::endl;
                 out << "    switch (opcode) {" << std::endl;
@@ -776,6 +781,43 @@
         }
     };
 
+    // Beef printer
+    class TPrinterBeef final : public TPrinter {
+    private:
+        std::string commentBOL() const override { return "// "; }
+
+        void printPrologue(std::ostream& out) const override {
+            out << "namespace Spv\n{\n";
+            out << indent() << "using System;\n\n";
+            out << indent() << "public static class Specification\n";
+            out << indent() << "{\n";
+        }
+
+        void printEpilogue(std::ostream& out) const override {
+            out << indent() << "}\n";
+            out << "}\n";
+        }
+
+        std::string enumBeg(const std::string& s, enumStyle_t style) const override {
+            return indent(2) + "[AllowDuplicates, CRepr] public enum " + s + styleStr(style) + "\n" + indent(2) + "{\n";
+        }
+
+        std::string enumEnd(const std::string& s, enumStyle_t style, bool isLast) const override {
+            return indent(2) + "}" + +(isLast ? "\n" : "\n\n");
+        }
+
+        std::string enumFmt(const std::string& s, const valpair_t& v,
+            enumStyle_t style, bool isLast) const override {
+            return indent(3) + prependIfDigit(s, v.second) + " = " + fmtStyleVal(v.first, style) + ",\n";
+        }
+
+        std::string fmtConstInt(unsigned val, const std::string& name,
+            const char* fmt, bool isLast) const override {
+            return indent(2) + std::string("public const uint32 ") + name +
+                " = " + fmtNum(fmt, val) + (isLast ? ";\n\n" : ";\n");
+        }
+    };
+
 } // namespace
 
 namespace spv {
@@ -792,6 +834,7 @@
         langInfo.push_back(std::make_pair(ELangPython,  "spirv.py"));
         langInfo.push_back(std::make_pair(ELangCSharp,  "spirv.cs"));
         langInfo.push_back(std::make_pair(ELangD,       "spv.d"));
+        langInfo.push_back(std::make_pair(ELangBeef,    "spirv.bf"));
 
         for (const auto& lang : langInfo) {
             std::ofstream out(lang.second, std::ios::out);
@@ -819,6 +862,7 @@
             case ELangPython:  p = TPrinterPtr(new TPrinterPython);  break;
             case ELangCSharp:  p = TPrinterPtr(new TPrinterCSharp);  break;
             case ELangD:       p = TPrinterPtr(new TPrinterD);       break;
+            case ELangBeef:    p = TPrinterPtr(new TPrinterBeef);    break;
             case ELangAll:     PrintAllHeaders();                    break;
             default:
                 std::cerr << "Unknown language." << std::endl;
diff --git a/tools/buildHeaders/header.h b/tools/buildHeaders/header.h
index 9c34b21..1dd6e67 100644
--- a/tools/buildHeaders/header.h
+++ b/tools/buildHeaders/header.h
@@ -43,6 +43,7 @@
         ELangPython,   // Python
         ELangCSharp,   // CSharp
         ELangD,        // D
+        ELangBeef,     // Beef
 
         ELangAll,      // print headers in all languages to files
     };
diff --git a/tools/buildHeaders/main.cpp b/tools/buildHeaders/main.cpp
index 7e5f7f8..9a59714 100644
--- a/tools/buildHeaders/main.cpp
+++ b/tools/buildHeaders/main.cpp
@@ -52,6 +52,7 @@
            "     Python - Python module (also accepts Py)\n"
            "     C#     - C# module (also accepts CSharp)\n"
            "     D      - D module\n"
+           "     Beef   - Beef module\n"
            "  -H print header in all supported languages to files in current directory\n"
            );
 }
@@ -96,6 +97,8 @@
                     Language = spv::ELangCSharp;
                 } else if (language == "d") {
                     Language = spv::ELangD;
+                } else if (language == "beef") {
+                    Language = spv::ELangBeef;
                 } else
                     return false;