Implement headers definitions for SPV_EXT_mesh_shader.
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
index b559358..fb9ec89 100644
--- a/include/spirv/unified1/spirv.bf
+++ b/include/spirv/unified1/spirv.bf
@@ -91,6 +91,8 @@
             MissNV = 5317,
             CallableKHR = 5318,
             CallableNV = 5318,
+            TaskEXT = 5364,
+            MeshEXT = 5365,
         }
 
         [AllowDuplicates, CRepr] public enum AddressingModel
@@ -166,10 +168,13 @@
             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,
@@ -219,6 +224,7 @@
             ShaderRecordBufferNV = 5343,
             PhysicalStorageBuffer = 5349,
             PhysicalStorageBufferEXT = 5349,
+            TaskPayloadWorkgroupEXT = 5402,
             CodeSectionINTEL = 5605,
             DeviceOnlyINTEL = 5936,
             HostOnlyINTEL = 5937,
@@ -503,6 +509,7 @@
             PassthroughNV = 5250,
             ViewportRelativeNV = 5252,
             SecondaryViewportRelativeNV = 5256,
+            PerPrimitiveEXT = 5271,
             PerPrimitiveNV = 5271,
             PerViewNV = 5272,
             PerTaskNV = 5273,
@@ -652,6 +659,10 @@
             FragmentSizeNV = 5292,
             FragInvocationCountEXT = 5293,
             InvocationsPerPixelNV = 5293,
+            PrimitivePointIndicesEXT = 5294,
+            PrimitiveLineIndicesEXT = 5295,
+            PrimitiveTriangleIndicesEXT = 5296,
+            CullPrimitiveEXT = 5299,
             LaunchIdKHR = 5319,
             LaunchIdNV = 5319,
             LaunchSizeKHR = 5320,
@@ -998,6 +1009,7 @@
             FragmentFullyCoveredEXT = 5265,
             MeshShadingNV = 5266,
             ImageFootprintNV = 5282,
+            MeshShadingEXT = 5283,
             FragmentBarycentricKHR = 5284,
             FragmentBarycentricNV = 5284,
             ComputeDerivativeGroupQuadsNV = 5288,
@@ -1599,6 +1611,8 @@
             OpFragmentFetchAMD = 5012,
             OpReadClockKHR = 5056,
             OpImageSampleFootprintNV = 5283,
+            OpEmitMeshTasksEXT = 5294,
+            OpSetMeshOutputsEXT = 5295,
             OpGroupNonUniformPartitionNV = 5296,
             OpWritePackedPrimitiveIndices4x8NV = 5299,
             OpReportIntersectionKHR = 5334,
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index d124018..bd1289e 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -4772,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,
@@ -9578,6 +9602,18 @@
           "value" : 5318,
           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "TaskEXT",
+          "value" : 5364,
+          "capabilities" : [ "MeshShadingEXT" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MeshEXT",
+          "value" : 5365,
+          "capabilities" : [ "MeshShadingEXT" ],
+          "version" : "None"
         }
       ]
     },
@@ -9793,7 +9829,7 @@
         {
           "enumerant" : "OutputVertices",
           "value" : 26,
-          "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
+          "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV", "MeshShadingEXT" ],
           "parameters" : [
             { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
           ]
@@ -9801,7 +9837,7 @@
         {
           "enumerant" : "OutputPoints",
           "value" : 27,
-          "capabilities" : [ "Geometry", "MeshShadingNV" ]
+          "capabilities" : [ "Geometry", "MeshShadingNV", "MeshShadingEXT" ]
         },
         {
           "enumerant" : "OutputLineStrip",
@@ -10009,18 +10045,35 @@
         {
           "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"
         },
         {
@@ -10040,8 +10093,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"
         },
         {
@@ -10357,6 +10417,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" ],
@@ -11471,8 +11538,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"
         },
         {
@@ -11485,8 +11559,8 @@
         {
           "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"
         },
         {
@@ -11952,7 +12026,7 @@
         {
           "enumerant" : "PrimitiveId",
           "value" : 7,
-          "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV" ]
+          "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV", "MeshShadingEXT" ]
         },
         {
           "enumerant" : "InvocationId",
@@ -11962,12 +12036,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",
@@ -12200,8 +12274,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"
         },
         {
@@ -12436,6 +12510,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" ],
@@ -13467,6 +13569,13 @@
           "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" ],
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index f254281..14d36ae 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -90,6 +90,8 @@
             MissNV = 5317,
             CallableKHR = 5318,
             CallableNV = 5318,
+            TaskEXT = 5364,
+            MeshEXT = 5365,
         }
 
         public enum AddressingModel
@@ -165,10 +167,13 @@
             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,
@@ -218,6 +223,7 @@
             ShaderRecordBufferNV = 5343,
             PhysicalStorageBuffer = 5349,
             PhysicalStorageBufferEXT = 5349,
+            TaskPayloadWorkgroupEXT = 5402,
             CodeSectionINTEL = 5605,
             DeviceOnlyINTEL = 5936,
             HostOnlyINTEL = 5937,
@@ -502,6 +508,7 @@
             PassthroughNV = 5250,
             ViewportRelativeNV = 5252,
             SecondaryViewportRelativeNV = 5256,
+            PerPrimitiveEXT = 5271,
             PerPrimitiveNV = 5271,
             PerViewNV = 5272,
             PerTaskNV = 5273,
@@ -651,6 +658,10 @@
             FragmentSizeNV = 5292,
             FragInvocationCountEXT = 5293,
             InvocationsPerPixelNV = 5293,
+            PrimitivePointIndicesEXT = 5294,
+            PrimitiveLineIndicesEXT = 5295,
+            PrimitiveTriangleIndicesEXT = 5296,
+            CullPrimitiveEXT = 5299,
             LaunchIdKHR = 5319,
             LaunchIdNV = 5319,
             LaunchSizeKHR = 5320,
@@ -997,6 +1008,7 @@
             FragmentFullyCoveredEXT = 5265,
             MeshShadingNV = 5266,
             ImageFootprintNV = 5282,
+            MeshShadingEXT = 5283,
             FragmentBarycentricKHR = 5284,
             FragmentBarycentricNV = 5284,
             ComputeDerivativeGroupQuadsNV = 5288,
@@ -1598,6 +1610,8 @@
             OpFragmentFetchAMD = 5012,
             OpReadClockKHR = 5056,
             OpImageSampleFootprintNV = 5283,
+            OpEmitMeshTasksEXT = 5294,
+            OpSetMeshOutputsEXT = 5295,
             OpGroupNonUniformPartitionNV = 5296,
             OpWritePackedPrimitiveIndices4x8NV = 5299,
             OpReportIntersectionKHR = 5334,
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 6f34240..5b6e8aa 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -98,6 +98,8 @@
     SpvExecutionModelMissNV = 5317,
     SpvExecutionModelCallableKHR = 5318,
     SpvExecutionModelCallableNV = 5318,
+    SpvExecutionModelTaskEXT = 5364,
+    SpvExecutionModelMeshEXT = 5365,
     SpvExecutionModelMax = 0x7fffffff,
 } SpvExecutionModel;
 
@@ -173,10 +175,13 @@
     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,
@@ -226,6 +231,7 @@
     SpvStorageClassShaderRecordBufferNV = 5343,
     SpvStorageClassPhysicalStorageBuffer = 5349,
     SpvStorageClassPhysicalStorageBufferEXT = 5349,
+    SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
     SpvStorageClassCodeSectionINTEL = 5605,
     SpvStorageClassDeviceOnlyINTEL = 5936,
     SpvStorageClassHostOnlyINTEL = 5937,
@@ -508,6 +514,7 @@
     SpvDecorationPassthroughNV = 5250,
     SpvDecorationViewportRelativeNV = 5252,
     SpvDecorationSecondaryViewportRelativeNV = 5256,
+    SpvDecorationPerPrimitiveEXT = 5271,
     SpvDecorationPerPrimitiveNV = 5271,
     SpvDecorationPerViewNV = 5272,
     SpvDecorationPerTaskNV = 5273,
@@ -657,6 +664,10 @@
     SpvBuiltInFragmentSizeNV = 5292,
     SpvBuiltInFragInvocationCountEXT = 5293,
     SpvBuiltInInvocationsPerPixelNV = 5293,
+    SpvBuiltInPrimitivePointIndicesEXT = 5294,
+    SpvBuiltInPrimitiveLineIndicesEXT = 5295,
+    SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
+    SpvBuiltInCullPrimitiveEXT = 5299,
     SpvBuiltInLaunchIdKHR = 5319,
     SpvBuiltInLaunchIdNV = 5319,
     SpvBuiltInLaunchSizeKHR = 5320,
@@ -997,6 +1008,7 @@
     SpvCapabilityFragmentFullyCoveredEXT = 5265,
     SpvCapabilityMeshShadingNV = 5266,
     SpvCapabilityImageFootprintNV = 5282,
+    SpvCapabilityMeshShadingEXT = 5283,
     SpvCapabilityFragmentBarycentricKHR = 5284,
     SpvCapabilityFragmentBarycentricNV = 5284,
     SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
@@ -1596,6 +1608,8 @@
     SpvOpFragmentFetchAMD = 5012,
     SpvOpReadClockKHR = 5056,
     SpvOpImageSampleFootprintNV = 5283,
+    SpvOpEmitMeshTasksEXT = 5294,
+    SpvOpSetMeshOutputsEXT = 5295,
     SpvOpGroupNonUniformPartitionNV = 5296,
     SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
     SpvOpReportIntersectionKHR = 5334,
@@ -2269,6 +2283,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;
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index e1f34ea..e25264a 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -94,6 +94,8 @@
     ExecutionModelMissNV = 5317,
     ExecutionModelCallableKHR = 5318,
     ExecutionModelCallableNV = 5318,
+    ExecutionModelTaskEXT = 5364,
+    ExecutionModelMeshEXT = 5365,
     ExecutionModelMax = 0x7fffffff,
 };
 
@@ -169,10 +171,13 @@
     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,
@@ -222,6 +227,7 @@
     StorageClassShaderRecordBufferNV = 5343,
     StorageClassPhysicalStorageBuffer = 5349,
     StorageClassPhysicalStorageBufferEXT = 5349,
+    StorageClassTaskPayloadWorkgroupEXT = 5402,
     StorageClassCodeSectionINTEL = 5605,
     StorageClassDeviceOnlyINTEL = 5936,
     StorageClassHostOnlyINTEL = 5937,
@@ -504,6 +510,7 @@
     DecorationPassthroughNV = 5250,
     DecorationViewportRelativeNV = 5252,
     DecorationSecondaryViewportRelativeNV = 5256,
+    DecorationPerPrimitiveEXT = 5271,
     DecorationPerPrimitiveNV = 5271,
     DecorationPerViewNV = 5272,
     DecorationPerTaskNV = 5273,
@@ -653,6 +660,10 @@
     BuiltInFragmentSizeNV = 5292,
     BuiltInFragInvocationCountEXT = 5293,
     BuiltInInvocationsPerPixelNV = 5293,
+    BuiltInPrimitivePointIndicesEXT = 5294,
+    BuiltInPrimitiveLineIndicesEXT = 5295,
+    BuiltInPrimitiveTriangleIndicesEXT = 5296,
+    BuiltInCullPrimitiveEXT = 5299,
     BuiltInLaunchIdKHR = 5319,
     BuiltInLaunchIdNV = 5319,
     BuiltInLaunchSizeKHR = 5320,
@@ -993,6 +1004,7 @@
     CapabilityFragmentFullyCoveredEXT = 5265,
     CapabilityMeshShadingNV = 5266,
     CapabilityImageFootprintNV = 5282,
+    CapabilityMeshShadingEXT = 5283,
     CapabilityFragmentBarycentricKHR = 5284,
     CapabilityFragmentBarycentricNV = 5284,
     CapabilityComputeDerivativeGroupQuadsNV = 5288,
@@ -1592,6 +1604,8 @@
     OpFragmentFetchAMD = 5012,
     OpReadClockKHR = 5056,
     OpImageSampleFootprintNV = 5283,
+    OpEmitMeshTasksEXT = 5294,
+    OpSetMeshOutputsEXT = 5295,
     OpGroupNonUniformPartitionNV = 5296,
     OpWritePackedPrimitiveIndices4x8NV = 5299,
     OpReportIntersectionKHR = 5334,
@@ -2265,6 +2279,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;
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 8e6852a..555f57b 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -94,6 +94,8 @@
     MissNV = 5317,
     CallableKHR = 5318,
     CallableNV = 5318,
+    TaskEXT = 5364,
+    MeshEXT = 5365,
     Max = 0x7fffffff,
 };
 
@@ -169,10 +171,13 @@
     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,
@@ -222,6 +227,7 @@
     ShaderRecordBufferNV = 5343,
     PhysicalStorageBuffer = 5349,
     PhysicalStorageBufferEXT = 5349,
+    TaskPayloadWorkgroupEXT = 5402,
     CodeSectionINTEL = 5605,
     DeviceOnlyINTEL = 5936,
     HostOnlyINTEL = 5937,
@@ -504,6 +510,7 @@
     PassthroughNV = 5250,
     ViewportRelativeNV = 5252,
     SecondaryViewportRelativeNV = 5256,
+    PerPrimitiveEXT = 5271,
     PerPrimitiveNV = 5271,
     PerViewNV = 5272,
     PerTaskNV = 5273,
@@ -653,6 +660,10 @@
     FragmentSizeNV = 5292,
     FragInvocationCountEXT = 5293,
     InvocationsPerPixelNV = 5293,
+    PrimitivePointIndicesEXT = 5294,
+    PrimitiveLineIndicesEXT = 5295,
+    PrimitiveTriangleIndicesEXT = 5296,
+    CullPrimitiveEXT = 5299,
     LaunchIdKHR = 5319,
     LaunchIdNV = 5319,
     LaunchSizeKHR = 5320,
@@ -993,6 +1004,7 @@
     FragmentFullyCoveredEXT = 5265,
     MeshShadingNV = 5266,
     ImageFootprintNV = 5282,
+    MeshShadingEXT = 5283,
     FragmentBarycentricKHR = 5284,
     FragmentBarycentricNV = 5284,
     ComputeDerivativeGroupQuadsNV = 5288,
@@ -1592,6 +1604,8 @@
     OpFragmentFetchAMD = 5012,
     OpReadClockKHR = 5056,
     OpImageSampleFootprintNV = 5283,
+    OpEmitMeshTasksEXT = 5294,
+    OpSetMeshOutputsEXT = 5295,
     OpGroupNonUniformPartitionNV = 5296,
     OpWritePackedPrimitiveIndices4x8NV = 5299,
     OpReportIntersectionKHR = 5334,
@@ -2265,6 +2279,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;
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index 111b274..4ad3bcb 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -103,7 +103,9 @@
                     "MissKHR": 5317,
                     "MissNV": 5317,
                     "CallableKHR": 5318,
-                    "CallableNV": 5318
+                    "CallableNV": 5318,
+                    "TaskEXT": 5364,
+                    "MeshEXT": 5365
                 }
             },
             {
@@ -188,10 +190,13 @@
                     "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,
@@ -244,6 +249,7 @@
                     "ShaderRecordBufferNV": 5343,
                     "PhysicalStorageBuffer": 5349,
                     "PhysicalStorageBufferEXT": 5349,
+                    "TaskPayloadWorkgroupEXT": 5402,
                     "CodeSectionINTEL": 5605,
                     "DeviceOnlyINTEL": 5936,
                     "HostOnlyINTEL": 5937
@@ -530,6 +536,7 @@
                     "PassthroughNV": 5250,
                     "ViewportRelativeNV": 5252,
                     "SecondaryViewportRelativeNV": 5256,
+                    "PerPrimitiveEXT": 5271,
                     "PerPrimitiveNV": 5271,
                     "PerViewNV": 5272,
                     "PerTaskNV": 5273,
@@ -682,6 +689,10 @@
                     "FragmentSizeNV": 5292,
                     "FragInvocationCountEXT": 5293,
                     "InvocationsPerPixelNV": 5293,
+                    "PrimitivePointIndicesEXT": 5294,
+                    "PrimitiveLineIndicesEXT": 5295,
+                    "PrimitiveTriangleIndicesEXT": 5296,
+                    "CullPrimitiveEXT": 5299,
                     "LaunchIdKHR": 5319,
                     "LaunchIdNV": 5319,
                     "LaunchSizeKHR": 5320,
@@ -975,6 +986,7 @@
                     "FragmentFullyCoveredEXT": 5265,
                     "MeshShadingNV": 5266,
                     "ImageFootprintNV": 5282,
+                    "MeshShadingEXT": 5283,
                     "FragmentBarycentricKHR": 5284,
                     "FragmentBarycentricNV": 5284,
                     "ComputeDerivativeGroupQuadsNV": 5288,
@@ -1585,6 +1597,8 @@
                     "OpFragmentFetchAMD": 5012,
                     "OpReadClockKHR": 5056,
                     "OpImageSampleFootprintNV": 5283,
+                    "OpEmitMeshTasksEXT": 5294,
+                    "OpSetMeshOutputsEXT": 5295,
                     "OpGroupNonUniformPartitionNV": 5296,
                     "OpWritePackedPrimitiveIndices4x8NV": 5299,
                     "OpReportIntersectionKHR": 5334,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 975622d..a3d47e9 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -84,6 +84,8 @@
         MissNV = 5317,
         CallableKHR = 5318,
         CallableNV = 5318,
+        TaskEXT = 5364,
+        MeshEXT = 5365,
     },
 
     AddressingModel = {
@@ -156,10 +158,13 @@
         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,
@@ -208,6 +213,7 @@
         ShaderRecordBufferNV = 5343,
         PhysicalStorageBuffer = 5349,
         PhysicalStorageBufferEXT = 5349,
+        TaskPayloadWorkgroupEXT = 5402,
         CodeSectionINTEL = 5605,
         DeviceOnlyINTEL = 5936,
         HostOnlyINTEL = 5937,
@@ -477,6 +483,7 @@
         PassthroughNV = 5250,
         ViewportRelativeNV = 5252,
         SecondaryViewportRelativeNV = 5256,
+        PerPrimitiveEXT = 5271,
         PerPrimitiveNV = 5271,
         PerViewNV = 5272,
         PerTaskNV = 5273,
@@ -625,6 +632,10 @@
         FragmentSizeNV = 5292,
         FragInvocationCountEXT = 5293,
         InvocationsPerPixelNV = 5293,
+        PrimitivePointIndicesEXT = 5294,
+        PrimitiveLineIndicesEXT = 5295,
+        PrimitiveTriangleIndicesEXT = 5296,
+        CullPrimitiveEXT = 5299,
         LaunchIdKHR = 5319,
         LaunchIdNV = 5319,
         LaunchSizeKHR = 5320,
@@ -955,6 +966,7 @@
         FragmentFullyCoveredEXT = 5265,
         MeshShadingNV = 5266,
         ImageFootprintNV = 5282,
+        MeshShadingEXT = 5283,
         FragmentBarycentricKHR = 5284,
         FragmentBarycentricNV = 5284,
         ComputeDerivativeGroupQuadsNV = 5288,
@@ -1543,6 +1555,8 @@
         OpFragmentFetchAMD = 5012,
         OpReadClockKHR = 5056,
         OpImageSampleFootprintNV = 5283,
+        OpEmitMeshTasksEXT = 5294,
+        OpSetMeshOutputsEXT = 5295,
         OpGroupNonUniformPartitionNV = 5296,
         OpWritePackedPrimitiveIndices4x8NV = 5299,
         OpReportIntersectionKHR = 5334,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 56b34ce..5e8a0ef 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -84,6 +84,8 @@
         'MissNV' : 5317,
         'CallableKHR' : 5318,
         'CallableNV' : 5318,
+        'TaskEXT' : 5364,
+        'MeshEXT' : 5365,
     },
 
     'AddressingModel' : {
@@ -156,10 +158,13 @@
         '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,
@@ -208,6 +213,7 @@
         'ShaderRecordBufferNV' : 5343,
         'PhysicalStorageBuffer' : 5349,
         'PhysicalStorageBufferEXT' : 5349,
+        'TaskPayloadWorkgroupEXT' : 5402,
         'CodeSectionINTEL' : 5605,
         'DeviceOnlyINTEL' : 5936,
         'HostOnlyINTEL' : 5937,
@@ -477,6 +483,7 @@
         'PassthroughNV' : 5250,
         'ViewportRelativeNV' : 5252,
         'SecondaryViewportRelativeNV' : 5256,
+        'PerPrimitiveEXT' : 5271,
         'PerPrimitiveNV' : 5271,
         'PerViewNV' : 5272,
         'PerTaskNV' : 5273,
@@ -625,6 +632,10 @@
         'FragmentSizeNV' : 5292,
         'FragInvocationCountEXT' : 5293,
         'InvocationsPerPixelNV' : 5293,
+        'PrimitivePointIndicesEXT' : 5294,
+        'PrimitiveLineIndicesEXT' : 5295,
+        'PrimitiveTriangleIndicesEXT' : 5296,
+        'CullPrimitiveEXT' : 5299,
         'LaunchIdKHR' : 5319,
         'LaunchIdNV' : 5319,
         'LaunchSizeKHR' : 5320,
@@ -955,6 +966,7 @@
         'FragmentFullyCoveredEXT' : 5265,
         'MeshShadingNV' : 5266,
         'ImageFootprintNV' : 5282,
+        'MeshShadingEXT' : 5283,
         'FragmentBarycentricKHR' : 5284,
         'FragmentBarycentricNV' : 5284,
         'ComputeDerivativeGroupQuadsNV' : 5288,
@@ -1543,6 +1555,8 @@
         'OpFragmentFetchAMD' : 5012,
         'OpReadClockKHR' : 5056,
         'OpImageSampleFootprintNV' : 5283,
+        'OpEmitMeshTasksEXT' : 5294,
+        'OpSetMeshOutputsEXT' : 5295,
         'OpGroupNonUniformPartitionNV' : 5296,
         'OpWritePackedPrimitiveIndices4x8NV' : 5299,
         'OpReportIntersectionKHR' : 5334,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index 3b2db4e..0ef3768 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -93,6 +93,8 @@
     MissNV = 5317,
     CallableKHR = 5318,
     CallableNV = 5318,
+    TaskEXT = 5364,
+    MeshEXT = 5365,
 }
 
 enum AddressingModel : uint
@@ -168,10 +170,13 @@
     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,
@@ -221,6 +226,7 @@
     ShaderRecordBufferNV = 5343,
     PhysicalStorageBuffer = 5349,
     PhysicalStorageBufferEXT = 5349,
+    TaskPayloadWorkgroupEXT = 5402,
     CodeSectionINTEL = 5605,
     DeviceOnlyINTEL = 5936,
     HostOnlyINTEL = 5937,
@@ -505,6 +511,7 @@
     PassthroughNV = 5250,
     ViewportRelativeNV = 5252,
     SecondaryViewportRelativeNV = 5256,
+    PerPrimitiveEXT = 5271,
     PerPrimitiveNV = 5271,
     PerViewNV = 5272,
     PerTaskNV = 5273,
@@ -654,6 +661,10 @@
     FragmentSizeNV = 5292,
     FragInvocationCountEXT = 5293,
     InvocationsPerPixelNV = 5293,
+    PrimitivePointIndicesEXT = 5294,
+    PrimitiveLineIndicesEXT = 5295,
+    PrimitiveTriangleIndicesEXT = 5296,
+    CullPrimitiveEXT = 5299,
     LaunchIdKHR = 5319,
     LaunchIdNV = 5319,
     LaunchSizeKHR = 5320,
@@ -1000,6 +1011,7 @@
     FragmentFullyCoveredEXT = 5265,
     MeshShadingNV = 5266,
     ImageFootprintNV = 5282,
+    MeshShadingEXT = 5283,
     FragmentBarycentricKHR = 5284,
     FragmentBarycentricNV = 5284,
     ComputeDerivativeGroupQuadsNV = 5288,
@@ -1601,6 +1613,8 @@
     OpFragmentFetchAMD = 5012,
     OpReadClockKHR = 5056,
     OpImageSampleFootprintNV = 5283,
+    OpEmitMeshTasksEXT = 5294,
+    OpSetMeshOutputsEXT = 5295,
     OpGroupNonUniformPartitionNV = 5296,
     OpWritePackedPrimitiveIndices4x8NV = 5299,
     OpReportIntersectionKHR = 5334,