SPV_ARM_cooperative_matrix_layouts (#433)

Specification: https://github.com/KhronosGroup/SPIRV-Registry/pull/254


Change-Id: I9406eff3371f0c3061a867ea9e50428dfefba911

Signed-off-by: Kevin Petit <kevin.petit@arm.com>
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
index add429b..d14f43f 100644
--- a/include/spirv/unified1/spirv.bf
+++ b/include/spirv/unified1/spirv.bf
@@ -1050,6 +1050,7 @@
             TileImageColorReadAccessEXT = 4166,
             TileImageDepthReadAccessEXT = 4167,
             TileImageStencilReadAccessEXT = 4168,
+            CooperativeMatrixLayoutsARM = 4201,
             FragmentShadingRateKHR = 4422,
             SubgroupBallotKHR = 4423,
             DrawParameters = 4427,
@@ -1366,6 +1367,8 @@
         {
             RowMajorKHR = 0,
             ColumnMajorKHR = 1,
+            RowBlockedInterleavedARM = 4202,
+            ColumnBlockedInterleavedARM = 4203,
         }
 
         [AllowDuplicates, CRepr] public enum CooperativeMatrixUse
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 4f5ff47..980b5dc 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -15447,6 +15447,12 @@
           "version" : "None"
         },
         {
+          "enumerant" : "CooperativeMatrixLayoutsARM",
+          "value" : 4201,
+          "extensions" : [ "SPV_ARM_cooperative_matrix_layouts" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "FragmentShadingRateKHR",
           "value" : 4422,
           "capabilities" : [ "Shader" ],
@@ -16761,6 +16767,16 @@
           "enumerant" : "ColumnMajorKHR",
           "value" : 1,
           "version" : "None"
+        },
+        {
+          "enumerant" : "RowBlockedInterleavedARM",
+          "value" : 4202,
+          "version" : "None"
+        },
+        {
+          "enumerant" : "ColumnBlockedInterleavedARM",
+          "value" : 4203,
+          "version" : "None"
         }
       ]
     },
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index 84ee9be..aaba96f 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -1049,6 +1049,7 @@
             TileImageColorReadAccessEXT = 4166,
             TileImageDepthReadAccessEXT = 4167,
             TileImageStencilReadAccessEXT = 4168,
+            CooperativeMatrixLayoutsARM = 4201,
             FragmentShadingRateKHR = 4422,
             SubgroupBallotKHR = 4423,
             DrawParameters = 4427,
@@ -1365,6 +1366,8 @@
         {
             RowMajorKHR = 0,
             ColumnMajorKHR = 1,
+            RowBlockedInterleavedARM = 4202,
+            ColumnBlockedInterleavedARM = 4203,
         }
 
         public enum CooperativeMatrixUse
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index f1002b9..42790e0 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -1049,6 +1049,7 @@
     SpvCapabilityTileImageColorReadAccessEXT = 4166,
     SpvCapabilityTileImageDepthReadAccessEXT = 4167,
     SpvCapabilityTileImageStencilReadAccessEXT = 4168,
+    SpvCapabilityCooperativeMatrixLayoutsARM = 4201,
     SpvCapabilityFragmentShadingRateKHR = 4422,
     SpvCapabilitySubgroupBallotKHR = 4423,
     SpvCapabilityDrawParameters = 4427,
@@ -1362,6 +1363,8 @@
 typedef enum SpvCooperativeMatrixLayout_ {
     SpvCooperativeMatrixLayoutRowMajorKHR = 0,
     SpvCooperativeMatrixLayoutColumnMajorKHR = 1,
+    SpvCooperativeMatrixLayoutRowBlockedInterleavedARM = 4202,
+    SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203,
     SpvCooperativeMatrixLayoutMax = 0x7fffffff,
 } SpvCooperativeMatrixLayout;
 
@@ -3643,6 +3646,7 @@
     case SpvCapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
     case SpvCapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
     case SpvCapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT";
+    case SpvCapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
     case SpvCapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR";
     case SpvCapabilitySubgroupBallotKHR: return "SubgroupBallotKHR";
     case SpvCapabilityDrawParameters: return "DrawParameters";
@@ -3884,6 +3888,8 @@
     switch (value) {
     case SpvCooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR";
     case SpvCooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR";
+    case SpvCooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM";
+    case SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM";
     default: return "Unknown";
     }
 }
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 26d977b..2ebc387 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -1045,6 +1045,7 @@
     CapabilityTileImageColorReadAccessEXT = 4166,
     CapabilityTileImageDepthReadAccessEXT = 4167,
     CapabilityTileImageStencilReadAccessEXT = 4168,
+    CapabilityCooperativeMatrixLayoutsARM = 4201,
     CapabilityFragmentShadingRateKHR = 4422,
     CapabilitySubgroupBallotKHR = 4423,
     CapabilityDrawParameters = 4427,
@@ -1358,6 +1359,8 @@
 enum CooperativeMatrixLayout {
     CooperativeMatrixLayoutRowMajorKHR = 0,
     CooperativeMatrixLayoutColumnMajorKHR = 1,
+    CooperativeMatrixLayoutRowBlockedInterleavedARM = 4202,
+    CooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203,
     CooperativeMatrixLayoutMax = 0x7fffffff,
 };
 
@@ -3639,6 +3642,7 @@
     case CapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
     case CapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
     case CapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT";
+    case CapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
     case CapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR";
     case CapabilitySubgroupBallotKHR: return "SubgroupBallotKHR";
     case CapabilityDrawParameters: return "DrawParameters";
@@ -3880,6 +3884,8 @@
     switch (value) {
     case CooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR";
     case CooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR";
+    case CooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM";
+    case CooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM";
     default: return "Unknown";
     }
 }
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 38f047b..25177a4 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -1045,6 +1045,7 @@
     TileImageColorReadAccessEXT = 4166,
     TileImageDepthReadAccessEXT = 4167,
     TileImageStencilReadAccessEXT = 4168,
+    CooperativeMatrixLayoutsARM = 4201,
     FragmentShadingRateKHR = 4422,
     SubgroupBallotKHR = 4423,
     DrawParameters = 4427,
@@ -1358,6 +1359,8 @@
 enum class CooperativeMatrixLayout : unsigned {
     RowMajorKHR = 0,
     ColumnMajorKHR = 1,
+    RowBlockedInterleavedARM = 4202,
+    ColumnBlockedInterleavedARM = 4203,
     Max = 0x7fffffff,
 };
 
@@ -3639,6 +3642,7 @@
     case CapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
     case CapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
     case CapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT";
+    case CapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
     case CapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR";
     case CapabilitySubgroupBallotKHR: return "SubgroupBallotKHR";
     case CapabilityDrawParameters: return "DrawParameters";
@@ -3880,6 +3884,8 @@
     switch (value) {
     case CooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR";
     case CooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR";
+    case CooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM";
+    case CooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM";
     default: return "Unknown";
     }
 }
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index 7defb63..430c74f 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -1022,6 +1022,7 @@
                     "TileImageColorReadAccessEXT": 4166,
                     "TileImageDepthReadAccessEXT": 4167,
                     "TileImageStencilReadAccessEXT": 4168,
+                    "CooperativeMatrixLayoutsARM": 4201,
                     "FragmentShadingRateKHR": 4422,
                     "SubgroupBallotKHR": 4423,
                     "DrawParameters": 4427,
@@ -1338,7 +1339,9 @@
                 "Values":
                 {
                     "RowMajorKHR": 0,
-                    "ColumnMajorKHR": 1
+                    "ColumnMajorKHR": 1,
+                    "RowBlockedInterleavedARM": 4202,
+                    "ColumnBlockedInterleavedARM": 4203
                 }
             },
             {
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 6474d72..8f3ded0 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -1007,6 +1007,7 @@
         TileImageColorReadAccessEXT = 4166,
         TileImageDepthReadAccessEXT = 4167,
         TileImageStencilReadAccessEXT = 4168,
+        CooperativeMatrixLayoutsARM = 4201,
         FragmentShadingRateKHR = 4422,
         SubgroupBallotKHR = 4423,
         DrawParameters = 4427,
@@ -1308,6 +1309,8 @@
     CooperativeMatrixLayout = {
         RowMajorKHR = 0,
         ColumnMajorKHR = 1,
+        RowBlockedInterleavedARM = 4202,
+        ColumnBlockedInterleavedARM = 4203,
     },
 
     CooperativeMatrixUse = {
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index e0f2b08..23c0fcc 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -1007,6 +1007,7 @@
         'TileImageColorReadAccessEXT' : 4166,
         'TileImageDepthReadAccessEXT' : 4167,
         'TileImageStencilReadAccessEXT' : 4168,
+        'CooperativeMatrixLayoutsARM' : 4201,
         'FragmentShadingRateKHR' : 4422,
         'SubgroupBallotKHR' : 4423,
         'DrawParameters' : 4427,
@@ -1308,6 +1309,8 @@
     'CooperativeMatrixLayout' : {
         'RowMajorKHR' : 0,
         'ColumnMajorKHR' : 1,
+        'RowBlockedInterleavedARM' : 4202,
+        'ColumnBlockedInterleavedARM' : 4203,
     },
 
     'CooperativeMatrixUse' : {
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index 6616534..295678e 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -1052,6 +1052,7 @@
     TileImageColorReadAccessEXT = 4166,
     TileImageDepthReadAccessEXT = 4167,
     TileImageStencilReadAccessEXT = 4168,
+    CooperativeMatrixLayoutsARM = 4201,
     FragmentShadingRateKHR = 4422,
     SubgroupBallotKHR = 4423,
     DrawParameters = 4427,
@@ -1368,6 +1369,8 @@
 {
     RowMajorKHR = 0,
     ColumnMajorKHR = 1,
+    RowBlockedInterleavedARM = 4202,
+    ColumnBlockedInterleavedARM = 4203,
 }
 
 enum CooperativeMatrixUse : uint