Jelajahi Sumber

Updated spirv-headers.

Бранимир Караџић 2 tahun lalu
induk
melakukan
e1211c2909

+ 6 - 2
3rdparty/spirv-headers/include/spirv/spir-v.xml

@@ -82,12 +82,14 @@
         <id value="29"  vendor="Mikkosoft Productions" tool="MSP Shader Compiler" comment="Contact Mikko Rasa, [email protected]"/>
         <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, [email protected]"/>
-        <id value="32"  vendor="TornadoVM" tool="SPIRV Beehive Toolkit" comment="https://github.com/beehive-lab/spirv-beehive-toolkit"/>
+        <id value="32"  vendor="TornadoVM" tool="Beehive SPIRV Toolkit" comment="https://github.com/beehive-lab/beehive-spirv-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 [email protected], Repo https://github.com/rayanht/SPIRVSmith"/>
         <id value="35"  vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers [email protected], Repo https://github.com/Hugobros3/shady"/>
         <id value="36"  vendor="Taichi Graphics" tool="Taichi" comment="Contact Rendong Liang [email protected], Repo https://github.com/taichi-dev/taichi"/>
-        <unused start="37" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
+        <id value="37"  vendor="heroseh" tool="Hero C Compiler" comment="https://github.com/heroseh/hcc"/>
+        <id value="38"  vendor="Meta" tool="SparkSL" comment="Contact Dunfan Lu, [email protected], https://sparkar.facebook.com/ar-studio/learn/sparksl/sparksl-overview"/>
+        <unused start="39" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
     </ids>
 
     <!-- SECTION: SPIR-V Opcodes and Enumerants -->
@@ -143,6 +145,7 @@
     <ids type="opcode" start="6464" end="6527" vendor="N/A" comment="Blank range to keep alignment with non-opcodes"/>
     <ids type="opcode" start="6528" end="6591" vendor="Codeplay" comment="Contact [email protected]"/>
     <ids type="opcode" start="6592" end="6655" vendor="Saarland University" comment="Contact [email protected]"/>
+    <ids type="opcode" start="6656" end="6719" vendor="Meta" comment="Contact [email protected]"/>
     <!-- Opcode 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
@@ -175,6 +178,7 @@
     <ids type="enumerant" start="6464" end="6527" vendor="Mikkosoft Productions" comment="Contact Mikko Rasa, [email protected]"/>
     <ids type="enumerant" start="6528" end="6591" vendor="Codeplay" comment="Contact [email protected]"/>
     <ids type="enumerant" start="6592" end="6655" vendor="Saarland University" comment="Contact [email protected]"/>
+    <ids type="enumerant" start="6656" end="6719" vendor="Meta" comment="Contact [email protected]"/>
     <!-- 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

+ 175 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json

@@ -4493,6 +4493,77 @@
       "extensions" : [ "SPV_KHR_integer_dot_product" ],
       "version" : "1.6"
     },
+    {
+      "opname" : "OpTypeCooperativeMatrixKHR",
+      "class"  : "Type-Declaration",
+      "opcode" : 4456,
+      "operands" : [
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef",        "name" : "'Component Type'" },
+        { "kind" : "IdScope",      "name" : "'Scope'" },
+        { "kind" : "IdRef",        "name" : "'Rows'" },
+        { "kind" : "IdRef",        "name" : "'Columns'" },
+        { "kind" : "IdRef",        "name" : "'Use'" }
+      ],
+      "capabilities" : [ "CooperativeMatrixKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpCooperativeMatrixLoadKHR",
+      "class"  : "Memory",
+      "opcode" : 4457,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef",             "name" : "'Pointer'" },
+        { "kind" : "IdRef",             "name" : "'MemoryLayout'" },
+        { "kind" : "IdRef",             "name" : "'Stride'", "quantifier": "?" },
+        { "kind" : "MemoryAccess",      "name" : "'Memory Operand'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "CooperativeMatrixKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpCooperativeMatrixStoreKHR",
+      "class"  : "Memory",
+      "opcode" : 4458,
+      "operands" : [
+        { "kind" : "IdRef",             "name" : "'Pointer'" },
+        { "kind" : "IdRef",             "name" : "'Object'" },
+        { "kind" : "IdRef",             "name" : "'MemoryLayout'" },
+        { "kind" : "IdRef",             "name" : "'Stride'", "quantifier": "?" },
+        { "kind" : "MemoryAccess",      "name" : "'Memory Operand'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "CooperativeMatrixKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpCooperativeMatrixMulAddKHR",
+      "class"  : "Arithmetic",
+      "opcode" : 4459,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef",             "name" : "'A'" },
+        { "kind" : "IdRef",             "name" : "'B'" },
+        { "kind" : "IdRef",             "name" : "'C'" },
+        { "kind" : "CooperativeMatrixOperands", "name" : "'Cooperative Matrix Operands'", "quantifier" : "?" }
+      ],
+      "capabilities" : [ "CooperativeMatrixKHR" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpCooperativeMatrixLengthKHR",
+      "class"  : "Miscellaneous",
+      "opcode" : 4460,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef",        "name" : "'Type'" }
+      ],
+      "capabilities" : [ "CooperativeMatrixKHR" ],
+      "version" : "None"
+    },
     {
         "opname" : "OpTypeRayQueryKHR",
         "class" : "Reserved",
@@ -10084,6 +10155,10 @@
         {
           "enumerant" : "SYCL",
           "value" : 7
+        },
+        {
+          "enumerant" : "HERO_C",
+          "value" : 8
         }
       ]
     },
@@ -11606,6 +11681,16 @@
           "enumerant" : "UnormInt101010_2",
           "value" : 16,
           "capabilities" : [ "Kernel" ]
+        },
+        {
+          "enumerant" : "UnsignedIntRaw10EXT",
+          "value" : 19,
+          "capabilities" : [ "Kernel" ]
+        },
+        {
+          "enumerant" : "UnsignedIntRaw12EXT",
+          "value" : 20,
+          "capabilities" : [ "Kernel" ]
         }
       ]
     },
@@ -15104,6 +15189,12 @@
           "extensions" : [ "SPV_KHR_ray_cull_mask" ],
           "version" : "None"
         },
+        {
+          "enumerant" : "CooperativeMatrixKHR",
+          "value" : 6022,
+          "extensions" : [ "SPV_KHR_cooperative_matrix" ],
+          "version" : "None"
+        },
         {
           "enumerant" : "BitInstructions",
           "value" : 6025,
@@ -15269,6 +15360,90 @@
         }
       ]
     },
+    {
+      "category" : "BitEnum",
+      "kind" : "CooperativeMatrixOperands",
+      "enumerants" : [
+        {
+          "enumerant" : "None",
+          "value" : "0x0000",
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MatrixASignedComponents",
+          "value" : "0x0001",
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MatrixBSignedComponents",
+          "value" : "0x0002",
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MatrixCSignedComponents",
+          "value" : "0x0004",
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MatrixResultSignedComponents",
+          "value" : "0x0008",
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "SaturatingAccumulation",
+          "value" : "0x0010",
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        }
+      ]
+    },
+    {
+      "category" : "ValueEnum",
+      "kind" : "CooperativeMatrixLayout",
+      "enumerants" : [
+        {
+          "enumerant" : "RowMajorKHR",
+          "value" : 0,
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "ColumnMajorKHR",
+          "value" : 1,
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        }
+      ]
+    },
+    {
+      "category" : "ValueEnum",
+      "kind" : "CooperativeMatrixUse",
+      "enumerants" : [
+        {
+          "enumerant" : "MatrixAKHR",
+          "value" : 0,
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MatrixBKHR",
+          "value" : 1,
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MatrixAccumulatorKHR",
+          "value" : 2,
+          "capabilities" : [ "CooperativeMatrixKHR" ],
+          "version" : "None"
+        }
+      ]
+    },
     {
       "category" : "Id",
       "kind" : "IdResultType",

+ 45 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.h

@@ -73,6 +73,7 @@ typedef enum SpvSourceLanguage_ {
     SpvSourceLanguageHLSL = 5,
     SpvSourceLanguageCPP_for_OpenCL = 6,
     SpvSourceLanguageSYCL = 7,
+    SpvSourceLanguageHERO_C = 8,
     SpvSourceLanguageMax = 0x7fffffff,
 } SpvSourceLanguage;
 
@@ -360,6 +361,8 @@ typedef enum SpvImageChannelDataType_ {
     SpvImageChannelDataTypeFloat = 14,
     SpvImageChannelDataTypeUnormInt24 = 15,
     SpvImageChannelDataTypeUnormInt101010_2 = 16,
+    SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,
+    SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,
     SpvImageChannelDataTypeMax = 0x7fffffff,
 } SpvImageChannelDataType;
 
@@ -1156,6 +1159,7 @@ typedef enum SpvCapability_ {
     SpvCapabilityDotProduct = 6019,
     SpvCapabilityDotProductKHR = 6019,
     SpvCapabilityRayCullMaskKHR = 6020,
+    SpvCapabilityCooperativeMatrixKHR = 6022,
     SpvCapabilityBitInstructions = 6025,
     SpvCapabilityGroupNonUniformRotateKHR = 6026,
     SpvCapabilityAtomicFloat32AddEXT = 6033,
@@ -1276,6 +1280,37 @@ typedef enum SpvPackedVectorFormat_ {
     SpvPackedVectorFormatMax = 0x7fffffff,
 } SpvPackedVectorFormat;
 
+typedef enum SpvCooperativeMatrixOperandsShift_ {
+    SpvCooperativeMatrixOperandsMatrixASignedComponentsShift = 0,
+    SpvCooperativeMatrixOperandsMatrixBSignedComponentsShift = 1,
+    SpvCooperativeMatrixOperandsMatrixCSignedComponentsShift = 2,
+    SpvCooperativeMatrixOperandsMatrixResultSignedComponentsShift = 3,
+    SpvCooperativeMatrixOperandsSaturatingAccumulationShift = 4,
+    SpvCooperativeMatrixOperandsMax = 0x7fffffff,
+} SpvCooperativeMatrixOperandsShift;
+
+typedef enum SpvCooperativeMatrixOperandsMask_ {
+    SpvCooperativeMatrixOperandsMaskNone = 0,
+    SpvCooperativeMatrixOperandsMatrixASignedComponentsMask = 0x00000001,
+    SpvCooperativeMatrixOperandsMatrixBSignedComponentsMask = 0x00000002,
+    SpvCooperativeMatrixOperandsMatrixCSignedComponentsMask = 0x00000004,
+    SpvCooperativeMatrixOperandsMatrixResultSignedComponentsMask = 0x00000008,
+    SpvCooperativeMatrixOperandsSaturatingAccumulationMask = 0x00000010,
+} SpvCooperativeMatrixOperandsMask;
+
+typedef enum SpvCooperativeMatrixLayout_ {
+    SpvCooperativeMatrixLayoutRowMajorKHR = 0,
+    SpvCooperativeMatrixLayoutColumnMajorKHR = 1,
+    SpvCooperativeMatrixLayoutMax = 0x7fffffff,
+} SpvCooperativeMatrixLayout;
+
+typedef enum SpvCooperativeMatrixUse_ {
+    SpvCooperativeMatrixUseMatrixAKHR = 0,
+    SpvCooperativeMatrixUseMatrixBKHR = 1,
+    SpvCooperativeMatrixUseMatrixAccumulatorKHR = 2,
+    SpvCooperativeMatrixUseMax = 0x7fffffff,
+} SpvCooperativeMatrixUse;
+
 typedef enum SpvOp_ {
     SpvOpNop = 0,
     SpvOpUndef = 1,
@@ -1649,6 +1684,11 @@ typedef enum SpvOp_ {
     SpvOpUDotAccSatKHR = 4454,
     SpvOpSUDotAccSat = 4455,
     SpvOpSUDotAccSatKHR = 4455,
+    SpvOpTypeCooperativeMatrixKHR = 4456,
+    SpvOpCooperativeMatrixLoadKHR = 4457,
+    SpvOpCooperativeMatrixStoreKHR = 4458,
+    SpvOpCooperativeMatrixMulAddKHR = 4459,
+    SpvOpCooperativeMatrixLengthKHR = 4460,
     SpvOpTypeRayQueryKHR = 4472,
     SpvOpRayQueryInitializeKHR = 4473,
     SpvOpRayQueryTerminateKHR = 4474,
@@ -2367,6 +2407,11 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
     case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
     case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
     case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
+    case SpvOpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
+    case SpvOpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
+    case SpvOpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpCooperativeMatrixLengthKHR: *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;

+ 49 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11

@@ -69,6 +69,7 @@ enum class SourceLanguage : unsigned {
     HLSL = 5,
     CPP_for_OpenCL = 6,
     SYCL = 7,
+    HERO_C = 8,
     Max = 0x7fffffff,
 };
 
@@ -356,6 +357,8 @@ enum class ImageChannelDataType : unsigned {
     Float = 14,
     UnormInt24 = 15,
     UnormInt101010_2 = 16,
+    UnsignedIntRaw10EXT = 19,
+    UnsignedIntRaw12EXT = 20,
     Max = 0x7fffffff,
 };
 
@@ -1152,6 +1155,7 @@ enum class Capability : unsigned {
     DotProduct = 6019,
     DotProductKHR = 6019,
     RayCullMaskKHR = 6020,
+    CooperativeMatrixKHR = 6022,
     BitInstructions = 6025,
     GroupNonUniformRotateKHR = 6026,
     AtomicFloat32AddEXT = 6033,
@@ -1272,6 +1276,37 @@ enum class PackedVectorFormat : unsigned {
     Max = 0x7fffffff,
 };
 
+enum class CooperativeMatrixOperandsShift : unsigned {
+    MatrixASignedComponents = 0,
+    MatrixBSignedComponents = 1,
+    MatrixCSignedComponents = 2,
+    MatrixResultSignedComponents = 3,
+    SaturatingAccumulation = 4,
+    Max = 0x7fffffff,
+};
+
+enum class CooperativeMatrixOperandsMask : unsigned {
+    MaskNone = 0,
+    MatrixASignedComponents = 0x00000001,
+    MatrixBSignedComponents = 0x00000002,
+    MatrixCSignedComponents = 0x00000004,
+    MatrixResultSignedComponents = 0x00000008,
+    SaturatingAccumulation = 0x00000010,
+};
+
+enum class CooperativeMatrixLayout : unsigned {
+    RowMajorKHR = 0,
+    ColumnMajorKHR = 1,
+    Max = 0x7fffffff,
+};
+
+enum class CooperativeMatrixUse : unsigned {
+    MatrixAKHR = 0,
+    MatrixBKHR = 1,
+    MatrixAccumulatorKHR = 2,
+    Max = 0x7fffffff,
+};
+
 enum class Op : unsigned {
     OpNop = 0,
     OpUndef = 1,
@@ -1645,6 +1680,11 @@ enum class Op : unsigned {
     OpUDotAccSatKHR = 4454,
     OpSUDotAccSat = 4455,
     OpSUDotAccSatKHR = 4455,
+    OpTypeCooperativeMatrixKHR = 4456,
+    OpCooperativeMatrixLoadKHR = 4457,
+    OpCooperativeMatrixStoreKHR = 4458,
+    OpCooperativeMatrixMulAddKHR = 4459,
+    OpCooperativeMatrixLengthKHR = 4460,
     OpTypeRayQueryKHR = 4472,
     OpRayQueryInitializeKHR = 4473,
     OpRayQueryTerminateKHR = 4474,
@@ -2363,6 +2403,11 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     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::OpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
+    case Op::OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
+    case Op::OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpCooperativeMatrixLengthKHR: *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;
@@ -2745,6 +2790,10 @@ constexpr FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentS
 constexpr FragmentShadingRateMask operator&(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) & unsigned(b)); }
 constexpr FragmentShadingRateMask operator^(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) ^ unsigned(b)); }
 constexpr FragmentShadingRateMask operator~(FragmentShadingRateMask a) { return FragmentShadingRateMask(~unsigned(a)); }
+constexpr CooperativeMatrixOperandsMask operator|(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) | unsigned(b)); }
+constexpr CooperativeMatrixOperandsMask operator&(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) & unsigned(b)); }
+constexpr CooperativeMatrixOperandsMask operator^(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) ^ unsigned(b)); }
+constexpr CooperativeMatrixOperandsMask operator~(CooperativeMatrixOperandsMask a) { return CooperativeMatrixOperandsMask(~unsigned(a)); }
 
 }  // end namespace spv
 

+ 42 - 2
3rdparty/spirv-headers/include/spirv/unified1/spirv.json

@@ -75,7 +75,8 @@
                     "OpenCL_CPP": 4,
                     "HLSL": 5,
                     "CPP_for_OpenCL": 6,
-                    "SYCL": 7
+                    "SYCL": 7,
+                    "HERO_C": 8
                 }
             },
             {
@@ -395,7 +396,9 @@
                     "HalfFloat": 13,
                     "Float": 14,
                     "UnormInt24": 15,
-                    "UnormInt101010_2": 16
+                    "UnormInt101010_2": 16,
+                    "UnsignedIntRaw10EXT": 19,
+                    "UnsignedIntRaw12EXT": 20
                 }
             },
             {
@@ -1132,6 +1135,7 @@
                     "DotProduct": 6019,
                     "DotProductKHR": 6019,
                     "RayCullMaskKHR": 6020,
+                    "CooperativeMatrixKHR": 6022,
                     "BitInstructions": 6025,
                     "GroupNonUniformRotateKHR": 6026,
                     "AtomicFloat32AddEXT": 6033,
@@ -1258,6 +1262,37 @@
                     "PackedVectorFormat4x8BitKHR": 0
                 }
             },
+            {
+                "Name": "CooperativeMatrixOperands",
+                "Type": "Bit",
+                "Values":
+                {
+                    "MatrixASignedComponents": 0,
+                    "MatrixBSignedComponents": 1,
+                    "MatrixCSignedComponents": 2,
+                    "MatrixResultSignedComponents": 3,
+                    "SaturatingAccumulation": 4
+                }
+            },
+            {
+                "Name": "CooperativeMatrixLayout",
+                "Type": "Value",
+                "Values":
+                {
+                    "RowMajorKHR": 0,
+                    "ColumnMajorKHR": 1
+                }
+            },
+            {
+                "Name": "CooperativeMatrixUse",
+                "Type": "Value",
+                "Values":
+                {
+                    "MatrixAKHR": 0,
+                    "MatrixBKHR": 1,
+                    "MatrixAccumulatorKHR": 2
+                }
+            },
             {
                 "Name": "Op",
                 "Type": "Value",
@@ -1635,6 +1670,11 @@
                     "OpUDotAccSatKHR": 4454,
                     "OpSUDotAccSat": 4455,
                     "OpSUDotAccSatKHR": 4455,
+                    "OpTypeCooperativeMatrixKHR": 4456,
+                    "OpCooperativeMatrixLoadKHR": 4457,
+                    "OpCooperativeMatrixStoreKHR": 4458,
+                    "OpCooperativeMatrixMulAddKHR": 4459,
+                    "OpCooperativeMatrixLengthKHR": 4460,
                     "OpTypeRayQueryKHR": 4472,
                     "OpRayQueryInitializeKHR": 4473,
                     "OpRayQueryTerminateKHR": 4474,