[msl] Handle subgroupMatrixLoad builtins
Replace them with simdgroup_load intrinsics in the builtin polyfill
transform. The MSL intrinsics take a pointer to the first element, and
have a `matrix_origin` parameter that must be a `ulong2`. We need to
declare a temporary variable to load the matrix into.
Bug: 348702031
Change-Id: If49f83f69d82dd9104c69ad482e738113f6f71c2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/224255
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/lang/msl/builtin_fn.cc b/src/tint/lang/msl/builtin_fn.cc
index 55c2dcc..5e0b08e 100644
--- a/src/tint/lang/msl/builtin_fn.cc
+++ b/src/tint/lang/msl/builtin_fn.cc
@@ -112,6 +112,8 @@
return "quad_shuffle_xor";
case BuiltinFn::kConvert:
return "convert";
+ case BuiltinFn::kSimdgroupLoad:
+ return "simdgroup_load";
case BuiltinFn::kSimdgroupStore:
return "simdgroup_store";
}
@@ -143,6 +145,7 @@
case BuiltinFn::kRead:
case BuiltinFn::kSample:
case BuiltinFn::kSampleCompare:
+ case BuiltinFn::kSimdgroupLoad:
return core::ir::Instruction::Accesses{core::ir::Instruction::Access::kLoad};
case BuiltinFn::kWrite:
diff --git a/src/tint/lang/msl/builtin_fn.cc.tmpl b/src/tint/lang/msl/builtin_fn.cc.tmpl
index 5409b7c..cb4ab8d 100644
--- a/src/tint/lang/msl/builtin_fn.cc.tmpl
+++ b/src/tint/lang/msl/builtin_fn.cc.tmpl
@@ -52,6 +52,7 @@
case BuiltinFn::kRead:
case BuiltinFn::kSample:
case BuiltinFn::kSampleCompare:
+ case BuiltinFn::kSimdgroupLoad:
return core::ir::Instruction::Accesses{core::ir::Instruction::Access::kLoad};
case BuiltinFn::kWrite:
diff --git a/src/tint/lang/msl/builtin_fn.h b/src/tint/lang/msl/builtin_fn.h
index 1e0a789..374165e 100644
--- a/src/tint/lang/msl/builtin_fn.h
+++ b/src/tint/lang/msl/builtin_fn.h
@@ -83,6 +83,7 @@
kSimdBallot,
kQuadShuffleXor,
kConvert,
+ kSimdgroupLoad,
kSimdgroupStore,
kNone,
};
diff --git a/src/tint/lang/msl/intrinsic/data.cc b/src/tint/lang/msl/intrinsic/data.cc
index c5ca611..6b7d924 100644
--- a/src/tint/lang/msl/intrinsic/data.cc
+++ b/src/tint/lang/msl/intrinsic/data.cc
@@ -1153,172 +1153,176 @@
/* [14] */ MatcherIndex(17),
/* [15] */ MatcherIndex(8),
/* [16] */ MatcherIndex(1),
- /* [17] */ MatcherIndex(6),
- /* [18] */ MatcherIndex(32),
- /* [19] */ MatcherIndex(0),
+ /* [17] */ MatcherIndex(5),
+ /* [18] */ MatcherIndex(17),
+ /* [19] */ MatcherIndex(8),
/* [20] */ MatcherIndex(1),
- /* [21] */ MatcherIndex(33),
- /* [22] */ MatcherIndex(0),
- /* [23] */ MatcherIndex(1),
- /* [24] */ MatcherIndex(34),
- /* [25] */ MatcherIndex(0),
- /* [26] */ MatcherIndex(1),
- /* [27] */ MatcherIndex(35),
- /* [28] */ MatcherIndex(0),
- /* [29] */ MatcherIndex(1),
- /* [30] */ MatcherIndex(32),
- /* [31] */ MatcherIndex(9),
- /* [32] */ MatcherIndex(5),
- /* [33] */ MatcherIndex(33),
- /* [34] */ MatcherIndex(9),
- /* [35] */ MatcherIndex(5),
- /* [36] */ MatcherIndex(34),
- /* [37] */ MatcherIndex(9),
- /* [38] */ MatcherIndex(5),
- /* [39] */ MatcherIndex(35),
- /* [40] */ MatcherIndex(9),
- /* [41] */ MatcherIndex(5),
- /* [42] */ MatcherIndex(32),
- /* [43] */ MatcherIndex(10),
- /* [44] */ MatcherIndex(5),
- /* [45] */ MatcherIndex(33),
- /* [46] */ MatcherIndex(10),
- /* [47] */ MatcherIndex(5),
- /* [48] */ MatcherIndex(34),
- /* [49] */ MatcherIndex(10),
- /* [50] */ MatcherIndex(5),
- /* [51] */ MatcherIndex(35),
- /* [52] */ MatcherIndex(10),
- /* [53] */ MatcherIndex(5),
- /* [54] */ MatcherIndex(32),
- /* [55] */ MatcherIndex(11),
- /* [56] */ MatcherIndex(5),
- /* [57] */ MatcherIndex(33),
- /* [58] */ MatcherIndex(11),
- /* [59] */ MatcherIndex(5),
- /* [60] */ MatcherIndex(34),
- /* [61] */ MatcherIndex(11),
- /* [62] */ MatcherIndex(5),
- /* [63] */ MatcherIndex(35),
- /* [64] */ MatcherIndex(11),
- /* [65] */ MatcherIndex(5),
- /* [66] */ MatcherIndex(32),
- /* [67] */ MatcherIndex(9),
- /* [68] */ MatcherIndex(6),
- /* [69] */ MatcherIndex(33),
- /* [70] */ MatcherIndex(9),
- /* [71] */ MatcherIndex(6),
- /* [72] */ MatcherIndex(34),
- /* [73] */ MatcherIndex(9),
- /* [74] */ MatcherIndex(6),
- /* [75] */ MatcherIndex(35),
- /* [76] */ MatcherIndex(9),
- /* [77] */ MatcherIndex(6),
- /* [78] */ MatcherIndex(32),
- /* [79] */ MatcherIndex(10),
- /* [80] */ MatcherIndex(6),
- /* [81] */ MatcherIndex(33),
- /* [82] */ MatcherIndex(10),
- /* [83] */ MatcherIndex(6),
- /* [84] */ MatcherIndex(34),
- /* [85] */ MatcherIndex(10),
- /* [86] */ MatcherIndex(6),
- /* [87] */ MatcherIndex(35),
- /* [88] */ MatcherIndex(10),
- /* [89] */ MatcherIndex(6),
- /* [90] */ MatcherIndex(32),
- /* [91] */ MatcherIndex(11),
- /* [92] */ MatcherIndex(6),
- /* [93] */ MatcherIndex(33),
- /* [94] */ MatcherIndex(11),
- /* [95] */ MatcherIndex(6),
- /* [96] */ MatcherIndex(34),
- /* [97] */ MatcherIndex(11),
- /* [98] */ MatcherIndex(6),
- /* [99] */ MatcherIndex(35),
- /* [100] */ MatcherIndex(11),
- /* [101] */ MatcherIndex(6),
- /* [102] */ MatcherIndex(15),
- /* [103] */ MatcherIndex(0),
- /* [104] */ MatcherIndex(1),
- /* [105] */ MatcherIndex(15),
- /* [106] */ MatcherIndex(0),
- /* [107] */ MatcherIndex(5),
- /* [108] */ MatcherIndex(14),
- /* [109] */ MatcherIndex(0),
- /* [110] */ MatcherIndex(21),
- /* [111] */ MatcherIndex(0),
- /* [112] */ MatcherIndex(12),
- /* [113] */ MatcherIndex(10),
- /* [114] */ MatcherIndex(12),
- /* [115] */ MatcherIndex(5),
- /* [116] */ MatcherIndex(22),
- /* [117] */ MatcherIndex(0),
- /* [118] */ MatcherIndex(24),
- /* [119] */ MatcherIndex(0),
- /* [120] */ MatcherIndex(13),
- /* [121] */ MatcherIndex(10),
- /* [122] */ MatcherIndex(25),
+ /* [21] */ MatcherIndex(6),
+ /* [22] */ MatcherIndex(32),
+ /* [23] */ MatcherIndex(0),
+ /* [24] */ MatcherIndex(1),
+ /* [25] */ MatcherIndex(33),
+ /* [26] */ MatcherIndex(0),
+ /* [27] */ MatcherIndex(1),
+ /* [28] */ MatcherIndex(34),
+ /* [29] */ MatcherIndex(0),
+ /* [30] */ MatcherIndex(1),
+ /* [31] */ MatcherIndex(35),
+ /* [32] */ MatcherIndex(0),
+ /* [33] */ MatcherIndex(1),
+ /* [34] */ MatcherIndex(32),
+ /* [35] */ MatcherIndex(9),
+ /* [36] */ MatcherIndex(5),
+ /* [37] */ MatcherIndex(33),
+ /* [38] */ MatcherIndex(9),
+ /* [39] */ MatcherIndex(5),
+ /* [40] */ MatcherIndex(34),
+ /* [41] */ MatcherIndex(9),
+ /* [42] */ MatcherIndex(5),
+ /* [43] */ MatcherIndex(35),
+ /* [44] */ MatcherIndex(9),
+ /* [45] */ MatcherIndex(5),
+ /* [46] */ MatcherIndex(32),
+ /* [47] */ MatcherIndex(10),
+ /* [48] */ MatcherIndex(5),
+ /* [49] */ MatcherIndex(33),
+ /* [50] */ MatcherIndex(10),
+ /* [51] */ MatcherIndex(5),
+ /* [52] */ MatcherIndex(34),
+ /* [53] */ MatcherIndex(10),
+ /* [54] */ MatcherIndex(5),
+ /* [55] */ MatcherIndex(35),
+ /* [56] */ MatcherIndex(10),
+ /* [57] */ MatcherIndex(5),
+ /* [58] */ MatcherIndex(32),
+ /* [59] */ MatcherIndex(11),
+ /* [60] */ MatcherIndex(5),
+ /* [61] */ MatcherIndex(33),
+ /* [62] */ MatcherIndex(11),
+ /* [63] */ MatcherIndex(5),
+ /* [64] */ MatcherIndex(34),
+ /* [65] */ MatcherIndex(11),
+ /* [66] */ MatcherIndex(5),
+ /* [67] */ MatcherIndex(35),
+ /* [68] */ MatcherIndex(11),
+ /* [69] */ MatcherIndex(5),
+ /* [70] */ MatcherIndex(32),
+ /* [71] */ MatcherIndex(9),
+ /* [72] */ MatcherIndex(6),
+ /* [73] */ MatcherIndex(33),
+ /* [74] */ MatcherIndex(9),
+ /* [75] */ MatcherIndex(6),
+ /* [76] */ MatcherIndex(34),
+ /* [77] */ MatcherIndex(9),
+ /* [78] */ MatcherIndex(6),
+ /* [79] */ MatcherIndex(35),
+ /* [80] */ MatcherIndex(9),
+ /* [81] */ MatcherIndex(6),
+ /* [82] */ MatcherIndex(32),
+ /* [83] */ MatcherIndex(10),
+ /* [84] */ MatcherIndex(6),
+ /* [85] */ MatcherIndex(33),
+ /* [86] */ MatcherIndex(10),
+ /* [87] */ MatcherIndex(6),
+ /* [88] */ MatcherIndex(34),
+ /* [89] */ MatcherIndex(10),
+ /* [90] */ MatcherIndex(6),
+ /* [91] */ MatcherIndex(35),
+ /* [92] */ MatcherIndex(10),
+ /* [93] */ MatcherIndex(6),
+ /* [94] */ MatcherIndex(32),
+ /* [95] */ MatcherIndex(11),
+ /* [96] */ MatcherIndex(6),
+ /* [97] */ MatcherIndex(33),
+ /* [98] */ MatcherIndex(11),
+ /* [99] */ MatcherIndex(6),
+ /* [100] */ MatcherIndex(34),
+ /* [101] */ MatcherIndex(11),
+ /* [102] */ MatcherIndex(6),
+ /* [103] */ MatcherIndex(35),
+ /* [104] */ MatcherIndex(11),
+ /* [105] */ MatcherIndex(6),
+ /* [106] */ MatcherIndex(15),
+ /* [107] */ MatcherIndex(0),
+ /* [108] */ MatcherIndex(1),
+ /* [109] */ MatcherIndex(15),
+ /* [110] */ MatcherIndex(0),
+ /* [111] */ MatcherIndex(5),
+ /* [112] */ MatcherIndex(14),
+ /* [113] */ MatcherIndex(0),
+ /* [114] */ MatcherIndex(21),
+ /* [115] */ MatcherIndex(0),
+ /* [116] */ MatcherIndex(12),
+ /* [117] */ MatcherIndex(10),
+ /* [118] */ MatcherIndex(12),
+ /* [119] */ MatcherIndex(5),
+ /* [120] */ MatcherIndex(22),
+ /* [121] */ MatcherIndex(0),
+ /* [122] */ MatcherIndex(24),
/* [123] */ MatcherIndex(0),
- /* [124] */ MatcherIndex(14),
+ /* [124] */ MatcherIndex(13),
/* [125] */ MatcherIndex(10),
- /* [126] */ MatcherIndex(20),
+ /* [126] */ MatcherIndex(25),
/* [127] */ MatcherIndex(0),
- /* [128] */ MatcherIndex(23),
- /* [129] */ MatcherIndex(0),
- /* [130] */ MatcherIndex(31),
+ /* [128] */ MatcherIndex(14),
+ /* [129] */ MatcherIndex(10),
+ /* [130] */ MatcherIndex(20),
/* [131] */ MatcherIndex(0),
- /* [132] */ MatcherIndex(12),
- /* [133] */ MatcherIndex(7),
- /* [134] */ MatcherIndex(13),
- /* [135] */ MatcherIndex(7),
- /* [136] */ MatcherIndex(14),
- /* [137] */ MatcherIndex(5),
- /* [138] */ MatcherIndex(14),
+ /* [132] */ MatcherIndex(23),
+ /* [133] */ MatcherIndex(0),
+ /* [134] */ MatcherIndex(31),
+ /* [135] */ MatcherIndex(0),
+ /* [136] */ MatcherIndex(12),
+ /* [137] */ MatcherIndex(7),
+ /* [138] */ MatcherIndex(13),
/* [139] */ MatcherIndex(7),
- /* [140] */ MatcherIndex(20),
- /* [141] */ MatcherIndex(10),
- /* [142] */ MatcherIndex(21),
- /* [143] */ MatcherIndex(10),
- /* [144] */ MatcherIndex(22),
+ /* [140] */ MatcherIndex(14),
+ /* [141] */ MatcherIndex(5),
+ /* [142] */ MatcherIndex(14),
+ /* [143] */ MatcherIndex(7),
+ /* [144] */ MatcherIndex(20),
/* [145] */ MatcherIndex(10),
- /* [146] */ MatcherIndex(23),
+ /* [146] */ MatcherIndex(21),
/* [147] */ MatcherIndex(10),
- /* [148] */ MatcherIndex(13),
- /* [149] */ MatcherIndex(5),
- /* [150] */ MatcherIndex(24),
+ /* [148] */ MatcherIndex(22),
+ /* [149] */ MatcherIndex(10),
+ /* [150] */ MatcherIndex(23),
/* [151] */ MatcherIndex(10),
- /* [152] */ MatcherIndex(25),
- /* [153] */ MatcherIndex(10),
- /* [154] */ MatcherIndex(42),
- /* [155] */ MatcherIndex(7),
- /* [156] */ MatcherIndex(42),
- /* [157] */ MatcherIndex(5),
+ /* [152] */ MatcherIndex(13),
+ /* [153] */ MatcherIndex(5),
+ /* [154] */ MatcherIndex(24),
+ /* [155] */ MatcherIndex(10),
+ /* [156] */ MatcherIndex(25),
+ /* [157] */ MatcherIndex(10),
/* [158] */ MatcherIndex(42),
- /* [159] */ MatcherIndex(10),
- /* [160] */ MatcherIndex(13),
- /* [161] */ MatcherIndex(11),
+ /* [159] */ MatcherIndex(7),
+ /* [160] */ MatcherIndex(42),
+ /* [161] */ MatcherIndex(5),
/* [162] */ MatcherIndex(42),
- /* [163] */ MatcherIndex(11),
- /* [164] */ MatcherIndex(12),
- /* [165] */ MatcherIndex(8),
- /* [166] */ MatcherIndex(43),
- /* [167] */ MatcherIndex(44),
- /* [168] */ MatcherIndex(18),
- /* [169] */ MatcherIndex(26),
- /* [170] */ MatcherIndex(27),
- /* [171] */ MatcherIndex(28),
- /* [172] */ MatcherIndex(29),
- /* [173] */ MatcherIndex(19),
- /* [174] */ MatcherIndex(30),
- /* [175] */ MatcherIndex(41),
- /* [176] */ MatcherIndex(37),
- /* [177] */ MatcherIndex(38),
- /* [178] */ MatcherIndex(39),
- /* [179] */ MatcherIndex(40),
- /* [180] */ MatcherIndex(45),
- /* [181] */ MatcherIndex(46),
- /* [182] */ MatcherIndex(47),
+ /* [163] */ MatcherIndex(10),
+ /* [164] */ MatcherIndex(13),
+ /* [165] */ MatcherIndex(11),
+ /* [166] */ MatcherIndex(42),
+ /* [167] */ MatcherIndex(11),
+ /* [168] */ MatcherIndex(12),
+ /* [169] */ MatcherIndex(8),
+ /* [170] */ MatcherIndex(43),
+ /* [171] */ MatcherIndex(44),
+ /* [172] */ MatcherIndex(18),
+ /* [173] */ MatcherIndex(26),
+ /* [174] */ MatcherIndex(27),
+ /* [175] */ MatcherIndex(28),
+ /* [176] */ MatcherIndex(29),
+ /* [177] */ MatcherIndex(19),
+ /* [178] */ MatcherIndex(30),
+ /* [179] */ MatcherIndex(41),
+ /* [180] */ MatcherIndex(37),
+ /* [181] */ MatcherIndex(38),
+ /* [182] */ MatcherIndex(39),
+ /* [183] */ MatcherIndex(40),
+ /* [184] */ MatcherIndex(45),
+ /* [185] */ MatcherIndex(46),
+ /* [186] */ MatcherIndex(47),
};
static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices),
@@ -1328,17 +1332,17 @@
{
/* [0] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(170),
+ /* matcher_indices */ MatcherIndicesIndex(174),
},
{
/* [1] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(173),
+ /* matcher_indices */ MatcherIndicesIndex(177),
},
{
/* [2] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [3] */
@@ -1348,32 +1352,32 @@
{
/* [4] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(43),
+ /* matcher_indices */ MatcherIndicesIndex(47),
},
{
/* [5] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [6] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [7] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(120),
},
{
/* [8] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [9] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [10] */
@@ -1383,7 +1387,7 @@
{
/* [11] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [12] */
@@ -1393,17 +1397,17 @@
{
/* [13] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(170),
+ /* matcher_indices */ MatcherIndicesIndex(174),
},
{
/* [14] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(173),
+ /* matcher_indices */ MatcherIndicesIndex(177),
},
{
/* [15] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [16] */
@@ -1413,27 +1417,27 @@
{
/* [17] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(43),
+ /* matcher_indices */ MatcherIndicesIndex(47),
},
{
/* [18] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [19] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(144),
+ /* matcher_indices */ MatcherIndicesIndex(148),
},
{
/* [20] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [21] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [22] */
@@ -1443,27 +1447,27 @@
{
/* [23] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [24] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [25] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(170),
+ /* matcher_indices */ MatcherIndicesIndex(174),
},
{
/* [26] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [27] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [28] */
@@ -1473,27 +1477,27 @@
{
/* [29] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [30] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [31] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(144),
+ /* matcher_indices */ MatcherIndicesIndex(148),
},
{
/* [32] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [33] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [34] */
@@ -1503,27 +1507,27 @@
{
/* [35] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(176),
+ /* matcher_indices */ MatcherIndicesIndex(180),
},
{
/* [36] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [37] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(144),
+ /* matcher_indices */ MatcherIndicesIndex(148),
},
{
/* [38] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [39] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [40] */
@@ -1533,57 +1537,57 @@
{
/* [41] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(177),
+ /* matcher_indices */ MatcherIndicesIndex(181),
},
{
/* [42] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [43] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(169),
+ /* matcher_indices */ MatcherIndicesIndex(173),
},
{
/* [44] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(173),
+ /* matcher_indices */ MatcherIndicesIndex(177),
},
{
/* [45] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [46] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(43),
+ /* matcher_indices */ MatcherIndicesIndex(47),
},
{
/* [47] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [48] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [49] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(172),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [50] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(173),
+ /* matcher_indices */ MatcherIndicesIndex(177),
},
{
/* [51] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [52] */
@@ -1593,12 +1597,12 @@
{
/* [53] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(43),
+ /* matcher_indices */ MatcherIndicesIndex(47),
},
{
/* [54] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [55] */
@@ -1628,22 +1632,22 @@
{
/* [60] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(110),
+ /* matcher_indices */ MatcherIndicesIndex(114),
},
{
/* [61] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [62] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [63] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [64] */
@@ -1653,17 +1657,17 @@
{
/* [65] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(126),
},
{
/* [66] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [67] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [68] */
@@ -1678,17 +1682,17 @@
{
/* [70] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(170),
+ /* matcher_indices */ MatcherIndicesIndex(174),
},
{
/* [71] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [72] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [73] */
@@ -1698,47 +1702,47 @@
{
/* [74] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [75] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(169),
+ /* matcher_indices */ MatcherIndicesIndex(173),
},
{
/* [76] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(173),
+ /* matcher_indices */ MatcherIndicesIndex(177),
},
{
/* [77] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [78] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(43),
+ /* matcher_indices */ MatcherIndicesIndex(47),
},
{
/* [79] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [80] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(144),
+ /* matcher_indices */ MatcherIndicesIndex(148),
},
{
/* [81] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [82] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [83] */
@@ -1748,72 +1752,72 @@
{
/* [84] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [85] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(142),
+ /* matcher_indices */ MatcherIndicesIndex(146),
},
{
/* [86] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [87] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [88] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [89] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [90] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(146),
+ /* matcher_indices */ MatcherIndicesIndex(150),
},
{
/* [91] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [92] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [93] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [94] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(148),
+ /* matcher_indices */ MatcherIndicesIndex(152),
},
{
/* [95] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(156),
},
{
/* [96] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [97] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [98] */
@@ -1823,47 +1827,47 @@
{
/* [99] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [100] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(169),
+ /* matcher_indices */ MatcherIndicesIndex(173),
},
{
/* [101] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [102] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [103] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [104] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [105] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(172),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [106] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [107] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [108] */
@@ -1873,72 +1877,72 @@
{
/* [109] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [110] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(142),
+ /* matcher_indices */ MatcherIndicesIndex(146),
},
{
/* [111] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [112] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [113] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(176),
+ /* matcher_indices */ MatcherIndicesIndex(180),
},
{
/* [114] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [115] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(146),
+ /* matcher_indices */ MatcherIndicesIndex(150),
},
{
/* [116] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [117] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [118] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(176),
+ /* matcher_indices */ MatcherIndicesIndex(180),
},
{
/* [119] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(148),
+ /* matcher_indices */ MatcherIndicesIndex(152),
},
{
/* [120] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(156),
},
{
/* [121] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [122] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [123] */
@@ -1948,72 +1952,72 @@
{
/* [124] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(176),
+ /* matcher_indices */ MatcherIndicesIndex(180),
},
{
/* [125] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(142),
+ /* matcher_indices */ MatcherIndicesIndex(146),
},
{
/* [126] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [127] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [128] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(177),
+ /* matcher_indices */ MatcherIndicesIndex(181),
},
{
/* [129] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(118),
},
{
/* [130] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(146),
+ /* matcher_indices */ MatcherIndicesIndex(150),
},
{
/* [131] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [132] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [133] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(178),
+ /* matcher_indices */ MatcherIndicesIndex(182),
},
{
/* [134] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(148),
+ /* matcher_indices */ MatcherIndicesIndex(152),
},
{
/* [135] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(156),
},
{
/* [136] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [137] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [138] */
@@ -2023,32 +2027,32 @@
{
/* [139] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(179),
+ /* matcher_indices */ MatcherIndicesIndex(183),
},
{
/* [140] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(171),
+ /* matcher_indices */ MatcherIndicesIndex(175),
},
{
/* [141] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(173),
+ /* matcher_indices */ MatcherIndicesIndex(177),
},
{
/* [142] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [143] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(43),
+ /* matcher_indices */ MatcherIndicesIndex(47),
},
{
/* [144] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [145] */
@@ -2068,7 +2072,7 @@
{
/* [148] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(164),
+ /* matcher_indices */ MatcherIndicesIndex(168),
},
{
/* [149] */
@@ -2077,873 +2081,898 @@
},
{
/* [150] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(118),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(5),
},
{
/* [151] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(18),
},
{
/* [152] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(15),
},
{
/* [153] */
- /* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(11),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(168),
},
{
/* [154] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(169),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(4),
},
{
/* [155] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
- },
- {
- /* [156] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
- },
- {
- /* [157] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
- },
- {
- /* [158] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(116),
- },
- {
- /* [159] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [160] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(1),
- },
- {
- /* [161] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(8),
- },
- {
- /* [162] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(170),
- },
- {
- /* [163] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [164] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [165] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(1),
- },
- {
- /* [166] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(142),
- },
- {
- /* [167] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
- },
- {
- /* [168] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(112),
- },
- {
- /* [169] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(114),
- },
- {
- /* [170] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(146),
- },
- {
- /* [171] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
- },
- {
- /* [172] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [173] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(148),
- },
- {
- /* [174] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(150),
- },
- {
- /* [175] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
- },
- {
- /* [176] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [177] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
- },
- {
- /* [178] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(171),
- },
- {
- /* [179] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
- },
- {
- /* [180] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [181] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(175),
- },
- {
- /* [182] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(150),
- },
- {
- /* [183] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
- },
- {
- /* [184] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [185] */
- /* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(176),
- },
- {
- /* [186] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(150),
- },
- {
- /* [187] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
- },
- {
- /* [188] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [189] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(179),
- },
- {
- /* [190] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(72),
- },
- {
- /* [191] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(124),
- },
- {
- /* [192] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [193] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [194] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(84),
- },
- {
- /* [195] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(136),
- },
- {
- /* [196] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [197] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [198] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(96),
- },
- {
- /* [199] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(138),
- },
- {
- /* [200] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [201] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [202] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(0),
- },
- {
- /* [203] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [204] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [205] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(110),
- },
- {
- /* [206] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [207] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(1),
- },
- {
- /* [208] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(128),
- },
- {
- /* [209] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(134),
- },
- {
- /* [210] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(1),
- },
- {
- /* [211] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(130),
- },
- {
- /* [212] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [213] */
- /* usage */ core::ParameterUsage::kSampleIndex,
- /* matcher_indices */ MatcherIndicesIndex(1),
- },
- {
- /* [214] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(169),
- },
- {
- /* [215] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [216] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [217] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(174),
- },
- {
- /* [218] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [219] */
- /* usage */ core::ParameterUsage::kSampleIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [220] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(36),
- },
- {
- /* [221] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [222] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [223] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(48),
- },
- {
- /* [224] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [225] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [226] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(60),
- },
- {
- /* [227] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [228] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [229] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(140),
- },
- {
- /* [230] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(168),
- },
- {
- /* [231] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(43),
- },
- {
- /* [232] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(66),
- },
- {
- /* [233] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(124),
- },
- {
- /* [234] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [235] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(69),
- },
- {
- /* [236] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(124),
- },
- {
- /* [237] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [238] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(75),
- },
- {
- /* [239] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(124),
- },
- {
- /* [240] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(134),
- },
- {
- /* [241] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(78),
- },
- {
- /* [242] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(136),
- },
- {
- /* [243] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [244] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(81),
- },
- {
- /* [245] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(136),
- },
- {
- /* [246] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [247] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(87),
- },
- {
- /* [248] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(136),
- },
- {
- /* [249] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(134),
- },
- {
- /* [250] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(90),
- },
- {
- /* [251] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(138),
- },
- {
- /* [252] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [253] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(93),
- },
- {
- /* [254] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(138),
- },
- {
- /* [255] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
- },
- {
- /* [256] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(99),
- },
- {
- /* [257] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(138),
- },
- {
- /* [258] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(134),
- },
- {
- /* [259] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(0),
- },
- {
- /* [260] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [261] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(110),
- },
- {
- /* [262] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [263] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(116),
- },
- {
- /* [264] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [265] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(128),
- },
- {
- /* [266] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [267] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(118),
- },
- {
- /* [268] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [269] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(122),
},
{
- /* [270] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [271] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(169),
- },
- {
- /* [272] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [273] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(170),
- },
- {
- /* [274] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [275] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(171),
- },
- {
- /* [276] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
- },
- {
- /* [277] */
- /* usage */ core::ParameterUsage::kTexture,
+ /* [156] */
+ /* usage */ core::ParameterUsage::kSampler,
/* matcher_indices */ MatcherIndicesIndex(172),
},
{
- /* [278] */
- /* usage */ core::ParameterUsage::kNone,
+ /* [157] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(124),
+ },
+ {
+ /* [158] */
+ /* usage */ core::ParameterUsage::kComponent,
/* matcher_indices */ MatcherIndicesIndex(11),
},
{
- /* [279] */
+ /* [159] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(21),
+ /* matcher_indices */ MatcherIndicesIndex(173),
},
{
- /* [280] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
+ /* [160] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
- /* [281] */
+ /* [161] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(116),
+ },
+ {
+ /* [162] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(118),
+ },
+ {
+ /* [163] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(24),
+ /* matcher_indices */ MatcherIndicesIndex(120),
},
{
- /* [282] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
+ /* [164] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
},
{
- /* [283] */
+ /* [165] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(1),
+ },
+ {
+ /* [166] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(8),
+ },
+ {
+ /* [167] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(27),
+ /* matcher_indices */ MatcherIndicesIndex(174),
},
{
- /* [284] */
+ /* [168] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [169] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [170] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(1),
+ },
+ {
+ /* [171] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(146),
+ },
+ {
+ /* [172] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(172),
+ },
+ {
+ /* [173] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(116),
+ },
+ {
+ /* [174] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(118),
+ },
+ {
+ /* [175] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(150),
+ },
+ {
+ /* [176] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(172),
+ },
+ {
+ /* [177] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(124),
+ },
+ {
+ /* [178] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(152),
+ },
+ {
+ /* [179] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(154),
+ },
+ {
+ /* [180] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(172),
+ },
+ {
+ /* [181] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(124),
+ },
+ {
+ /* [182] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(179),
+ },
+ {
+ /* [183] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(175),
+ },
+ {
+ /* [184] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(172),
+ },
+ {
+ /* [185] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(124),
+ },
+ {
+ /* [186] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(179),
+ },
+ {
+ /* [187] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(154),
+ },
+ {
+ /* [188] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(172),
+ },
+ {
+ /* [189] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(124),
+ },
+ {
+ /* [190] */
+ /* usage */ core::ParameterUsage::kBias,
+ /* matcher_indices */ MatcherIndicesIndex(180),
+ },
+ {
+ /* [191] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(154),
+ },
+ {
+ /* [192] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(172),
+ },
+ {
+ /* [193] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(124),
+ },
+ {
+ /* [194] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(183),
+ },
+ {
+ /* [195] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(76),
+ },
+ {
+ /* [196] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(128),
+ },
+ {
+ /* [197] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [198] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [199] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(88),
+ },
+ {
+ /* [200] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(140),
+ },
+ {
+ /* [201] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [202] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [203] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(100),
+ },
+ {
+ /* [204] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(142),
+ },
+ {
+ /* [205] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [206] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [207] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(0),
+ },
+ {
+ /* [208] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [209] */
/* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(11),
},
{
- /* [285] */
+ /* [210] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(114),
+ },
+ {
+ /* [211] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [212] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(1),
+ },
+ {
+ /* [213] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(132),
+ },
+ {
+ /* [214] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(138),
+ },
+ {
+ /* [215] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(1),
+ },
+ {
+ /* [216] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(134),
+ },
+ {
+ /* [217] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [218] */
+ /* usage */ core::ParameterUsage::kSampleIndex,
+ /* matcher_indices */ MatcherIndicesIndex(1),
+ },
+ {
+ /* [219] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [220] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [221] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [222] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(178),
+ },
+ {
+ /* [223] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [224] */
+ /* usage */ core::ParameterUsage::kSampleIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [225] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [226] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [227] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [228] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(52),
+ },
+ {
+ /* [229] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [230] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [231] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(64),
+ },
+ {
+ /* [232] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [233] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [234] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(144),
+ },
+ {
+ /* [235] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(172),
+ },
+ {
+ /* [236] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(47),
+ },
+ {
+ /* [237] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(70),
+ },
+ {
+ /* [238] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(128),
+ },
+ {
+ /* [239] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [240] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(73),
+ },
+ {
+ /* [241] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(128),
+ },
+ {
+ /* [242] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [243] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(79),
+ },
+ {
+ /* [244] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(128),
+ },
+ {
+ /* [245] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(138),
+ },
+ {
+ /* [246] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(82),
+ },
+ {
+ /* [247] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(140),
+ },
+ {
+ /* [248] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [249] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(85),
+ },
+ {
+ /* [250] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(140),
+ },
+ {
+ /* [251] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [252] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(91),
+ },
+ {
+ /* [253] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(140),
+ },
+ {
+ /* [254] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(138),
+ },
+ {
+ /* [255] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(94),
+ },
+ {
+ /* [256] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(142),
+ },
+ {
+ /* [257] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [258] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(97),
+ },
+ {
+ /* [259] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(142),
+ },
+ {
+ /* [260] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
+ },
+ {
+ /* [261] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [262] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(142),
+ },
+ {
+ /* [263] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(138),
+ },
+ {
+ /* [264] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(0),
+ },
+ {
+ /* [265] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [266] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(114),
+ },
+ {
+ /* [267] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [268] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(120),
+ },
+ {
+ /* [269] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [270] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(132),
+ },
+ {
+ /* [271] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [272] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(122),
+ },
+ {
+ /* [273] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [274] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(126),
},
{
- /* [286] */
- /* usage */ core::ParameterUsage::kCoords,
+ /* [275] */
+ /* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(11),
},
{
+ /* [276] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [277] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [278] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(174),
+ },
+ {
+ /* [279] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [280] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(175),
+ },
+ {
+ /* [281] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [282] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(176),
+ },
+ {
+ /* [283] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [284] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(25),
+ },
+ {
+ /* [285] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
+ },
+ {
+ /* [286] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(28),
+ },
+ {
/* [287] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(30),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
},
{
/* [288] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(11),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(31),
},
{
/* [289] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(33),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(11),
},
{
/* [290] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [291] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(39),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(11),
},
{
/* [292] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(134),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(34),
},
{
/* [293] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(11),
},
{
/* [294] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(11),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(37),
},
{
/* [295] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
},
{
/* [296] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(43),
},
{
/* [297] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(51),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(138),
},
{
/* [298] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(134),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(46),
},
{
/* [299] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(54),
- },
- {
- /* [300] */
/* usage */ core::ParameterUsage::kCoords,
/* matcher_indices */ MatcherIndicesIndex(11),
},
{
- /* [301] */
+ /* [300] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(57),
+ /* matcher_indices */ MatcherIndicesIndex(49),
+ },
+ {
+ /* [301] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
},
{
/* [302] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(132),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(55),
},
{
/* [303] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(63),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(138),
},
{
/* [304] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(134),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(58),
},
{
/* [305] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(102),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(11),
},
{
/* [306] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(102),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(61),
},
{
/* [307] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(1),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(136),
},
{
/* [308] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(102),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(67),
},
{
/* [309] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(105),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(138),
},
{
/* [310] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(3),
+ /* matcher_indices */ MatcherIndicesIndex(106),
},
{
/* [311] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(3),
+ /* matcher_indices */ MatcherIndicesIndex(106),
},
{
/* [312] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(32),
+ /* matcher_indices */ MatcherIndicesIndex(1),
},
{
/* [313] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(102),
+ /* matcher_indices */ MatcherIndicesIndex(106),
},
{
/* [314] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(11),
+ /* matcher_indices */ MatcherIndicesIndex(109),
},
{
/* [315] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(18),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [316] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(154),
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [317] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(156),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
/* [318] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(158),
+ /* matcher_indices */ MatcherIndicesIndex(106),
},
{
/* [319] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(162),
+ /* matcher_indices */ MatcherIndicesIndex(11),
},
{
/* [320] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(134),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(22),
},
{
/* [321] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(148),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [322] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [323] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(160),
+ /* matcher_indices */ MatcherIndicesIndex(162),
+ },
+ {
+ /* [324] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(166),
+ },
+ {
+ /* [325] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(138),
+ },
+ {
+ /* [326] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(152),
+ },
+ {
+ /* [327] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(124),
+ },
+ {
+ /* [328] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(164),
},
};
@@ -2960,7 +2989,7 @@
{
/* [1] */
/* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(180),
+ /* matcher_indices */ MatcherIndicesIndex(184),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -2978,25 +3007,25 @@
{
/* [4] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(167),
+ /* matcher_indices */ MatcherIndicesIndex(171),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [5] */
/* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(166),
+ /* matcher_indices */ MatcherIndicesIndex(170),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [6] */
/* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(166),
+ /* matcher_indices */ MatcherIndicesIndex(170),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [7] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(166),
+ /* matcher_indices */ MatcherIndicesIndex(170),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -3020,25 +3049,25 @@
{
/* [11] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(167),
+ /* matcher_indices */ MatcherIndicesIndex(171),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [12] */
/* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(166),
+ /* matcher_indices */ MatcherIndicesIndex(170),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [13] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(167),
+ /* matcher_indices */ MatcherIndicesIndex(171),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [14] */
/* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(166),
+ /* matcher_indices */ MatcherIndicesIndex(170),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -3050,7 +3079,7 @@
{
/* [16] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(180),
+ /* matcher_indices */ MatcherIndicesIndex(184),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -3062,13 +3091,13 @@
{
/* [18] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(181),
+ /* matcher_indices */ MatcherIndicesIndex(185),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [19] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(182),
+ /* matcher_indices */ MatcherIndicesIndex(186),
/* kind */ TemplateInfo::Kind::kType,
},
};
@@ -3084,8 +3113,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(229),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(234),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3096,7 +3125,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(85),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3106,8 +3135,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(166),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(171),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3118,7 +3147,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3129,7 +3158,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(80),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3140,7 +3169,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(90),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3150,8 +3179,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(170),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(175),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3161,8 +3190,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(174),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3173,7 +3202,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(95),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3184,7 +3213,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(100),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3194,8 +3223,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(154),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* parameters */ ParameterIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3206,7 +3235,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(25),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3217,7 +3246,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(70),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3227,8 +3256,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(178),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* parameters */ ParameterIndex(183),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3239,7 +3268,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(105),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3250,7 +3279,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(85),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3261,7 +3290,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(85),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3272,7 +3301,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3283,7 +3312,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3294,7 +3323,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(90),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3305,7 +3334,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(90),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3315,8 +3344,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(174),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3327,7 +3356,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(95),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3338,7 +3367,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(100),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3349,7 +3378,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(100),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3360,7 +3389,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(25),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3371,7 +3400,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(25),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3381,8 +3410,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(178),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* parameters */ ParameterIndex(183),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3393,7 +3422,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(105),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3404,7 +3433,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(110),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3415,7 +3444,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(110),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3426,7 +3455,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(31),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3437,7 +3466,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(31),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3448,7 +3477,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(115),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3459,7 +3488,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(115),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3469,8 +3498,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(182),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(187),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3481,7 +3510,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(120),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3492,7 +3521,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(125),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3503,7 +3532,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(125),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3514,7 +3543,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(37),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3525,7 +3554,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(37),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3536,7 +3565,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(130),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3547,7 +3576,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(130),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3557,8 +3586,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(186),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3569,7 +3598,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(135),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3579,8 +3608,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(285),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* parameters */ ParameterIndex(290),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3590,8 +3619,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(205),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* parameters */ ParameterIndex(210),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3601,8 +3630,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 3,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(158),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* parameters */ ParameterIndex(163),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3612,8 +3641,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(208),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* parameters */ ParameterIndex(213),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3623,8 +3652,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(13),
- /* parameters */ ParameterIndex(211),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* parameters */ ParameterIndex(216),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3634,8 +3663,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(6),
- /* parameters */ ParameterIndex(214),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* parameters */ ParameterIndex(219),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3645,8 +3674,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(162),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* parameters */ ParameterIndex(167),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3656,8 +3685,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(14),
- /* parameters */ ParameterIndex(217),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* parameters */ ParameterIndex(222),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3667,8 +3696,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(287),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(292),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3678,8 +3707,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(289),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(294),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3689,8 +3718,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(220),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(225),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3700,8 +3729,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(291),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(296),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3711,8 +3740,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(293),
- /* return_matcher_indices */ MatcherIndicesIndex(136),
+ /* parameters */ ParameterIndex(298),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3722,8 +3751,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(295),
- /* return_matcher_indices */ MatcherIndicesIndex(136),
+ /* parameters */ ParameterIndex(300),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3733,8 +3762,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(223),
- /* return_matcher_indices */ MatcherIndicesIndex(136),
+ /* parameters */ ParameterIndex(228),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3744,8 +3773,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(297),
- /* return_matcher_indices */ MatcherIndicesIndex(136),
+ /* parameters */ ParameterIndex(302),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3755,8 +3784,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(299),
- /* return_matcher_indices */ MatcherIndicesIndex(138),
+ /* parameters */ ParameterIndex(304),
+ /* return_matcher_indices */ MatcherIndicesIndex(142),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3766,8 +3795,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(301),
- /* return_matcher_indices */ MatcherIndicesIndex(138),
+ /* parameters */ ParameterIndex(306),
+ /* return_matcher_indices */ MatcherIndicesIndex(142),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3777,8 +3806,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(226),
- /* return_matcher_indices */ MatcherIndicesIndex(138),
+ /* parameters */ ParameterIndex(231),
+ /* return_matcher_indices */ MatcherIndicesIndex(142),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3788,8 +3817,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(303),
- /* return_matcher_indices */ MatcherIndicesIndex(138),
+ /* parameters */ ParameterIndex(308),
+ /* return_matcher_indices */ MatcherIndicesIndex(142),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -3799,7 +3828,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(285),
+ /* parameters */ ParameterIndex(290),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3810,7 +3839,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(261),
+ /* parameters */ ParameterIndex(266),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3821,7 +3850,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(263),
+ /* parameters */ ParameterIndex(268),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3832,7 +3861,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(265),
+ /* parameters */ ParameterIndex(270),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3843,7 +3872,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(267),
+ /* parameters */ ParameterIndex(272),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3854,7 +3883,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(269),
+ /* parameters */ ParameterIndex(274),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3865,7 +3894,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(211),
+ /* parameters */ ParameterIndex(216),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3876,7 +3905,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(271),
+ /* parameters */ ParameterIndex(276),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3887,7 +3916,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(273),
+ /* parameters */ ParameterIndex(278),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3898,7 +3927,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(275),
+ /* parameters */ ParameterIndex(280),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3909,7 +3938,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(277),
+ /* parameters */ ParameterIndex(282),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3920,7 +3949,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
+ /* parameters */ ParameterIndex(222),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3931,7 +3960,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(315),
+ /* parameters */ ParameterIndex(320),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3942,7 +3971,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(279),
+ /* parameters */ ParameterIndex(284),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3953,7 +3982,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(281),
+ /* parameters */ ParameterIndex(286),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3964,7 +3993,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(283),
+ /* parameters */ ParameterIndex(288),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3975,7 +4004,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(261),
+ /* parameters */ ParameterIndex(266),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3986,7 +4015,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(263),
+ /* parameters */ ParameterIndex(268),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3997,7 +4026,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(265),
+ /* parameters */ ParameterIndex(270),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4008,7 +4037,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(267),
+ /* parameters */ ParameterIndex(272),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4019,7 +4048,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(269),
+ /* parameters */ ParameterIndex(274),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4030,7 +4059,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(211),
+ /* parameters */ ParameterIndex(216),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4041,7 +4070,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(271),
+ /* parameters */ ParameterIndex(276),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4052,7 +4081,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(273),
+ /* parameters */ ParameterIndex(278),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4063,7 +4092,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(275),
+ /* parameters */ ParameterIndex(280),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4074,7 +4103,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(277),
+ /* parameters */ ParameterIndex(282),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4085,7 +4114,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
+ /* parameters */ ParameterIndex(222),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4096,7 +4125,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(279),
+ /* parameters */ ParameterIndex(284),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4107,7 +4136,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(281),
+ /* parameters */ ParameterIndex(286),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4118,7 +4147,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(283),
+ /* parameters */ ParameterIndex(288),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4130,7 +4159,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(43),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4141,7 +4170,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(75),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4152,7 +4181,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4163,7 +4192,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(13),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4174,7 +4203,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(140),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4185,7 +4214,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(49),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4196,7 +4225,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(43),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4207,7 +4236,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(43),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4218,7 +4247,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4229,7 +4258,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4240,7 +4269,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(140),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4251,7 +4280,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(49),
- /* return_matcher_indices */ MatcherIndicesIndex(43),
+ /* return_matcher_indices */ MatcherIndicesIndex(47),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4261,7 +4290,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(232),
+ /* parameters */ ParameterIndex(237),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4272,7 +4301,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(235),
+ /* parameters */ ParameterIndex(240),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4283,7 +4312,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(190),
+ /* parameters */ ParameterIndex(195),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4294,7 +4323,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(238),
+ /* parameters */ ParameterIndex(243),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4305,7 +4334,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(241),
+ /* parameters */ ParameterIndex(246),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4316,7 +4345,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(244),
+ /* parameters */ ParameterIndex(249),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4327,7 +4356,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(194),
+ /* parameters */ ParameterIndex(199),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4338,7 +4367,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(247),
+ /* parameters */ ParameterIndex(252),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4349,7 +4378,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(250),
+ /* parameters */ ParameterIndex(255),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4360,7 +4389,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(253),
+ /* parameters */ ParameterIndex(258),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4371,7 +4400,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(198),
+ /* parameters */ ParameterIndex(203),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4382,7 +4411,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(256),
+ /* parameters */ ParameterIndex(261),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4393,7 +4422,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(285),
+ /* parameters */ ParameterIndex(290),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4426,7 +4455,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(208),
+ /* parameters */ ParameterIndex(213),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4437,7 +4466,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(150),
+ /* parameters */ ParameterIndex(155),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4503,8 +4532,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(316),
- /* return_matcher_indices */ MatcherIndicesIndex(134),
+ /* parameters */ ParameterIndex(321),
+ /* return_matcher_indices */ MatcherIndicesIndex(138),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4514,8 +4543,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(317),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* parameters */ ParameterIndex(322),
+ /* return_matcher_indices */ MatcherIndicesIndex(152),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4525,8 +4554,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(318),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
+ /* parameters */ ParameterIndex(323),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4536,8 +4565,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(319),
- /* return_matcher_indices */ MatcherIndicesIndex(160),
+ /* parameters */ ParameterIndex(324),
+ /* return_matcher_indices */ MatcherIndicesIndex(164),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4547,8 +4576,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(320),
- /* return_matcher_indices */ MatcherIndicesIndex(154),
+ /* parameters */ ParameterIndex(325),
+ /* return_matcher_indices */ MatcherIndicesIndex(158),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4558,8 +4587,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(321),
- /* return_matcher_indices */ MatcherIndicesIndex(156),
+ /* parameters */ ParameterIndex(326),
+ /* return_matcher_indices */ MatcherIndicesIndex(160),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4569,8 +4598,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(322),
- /* return_matcher_indices */ MatcherIndicesIndex(158),
+ /* parameters */ ParameterIndex(327),
+ /* return_matcher_indices */ MatcherIndicesIndex(162),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4580,8 +4609,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(323),
- /* return_matcher_indices */ MatcherIndicesIndex(162),
+ /* parameters */ ParameterIndex(328),
+ /* return_matcher_indices */ MatcherIndicesIndex(166),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4603,7 +4632,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(60),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4614,7 +4643,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(7),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4624,8 +4653,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(150),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* parameters */ ParameterIndex(155),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4636,7 +4665,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(65),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4646,8 +4675,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(154),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4658,7 +4687,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(70),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4668,8 +4697,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(178),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(183),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4680,7 +4709,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(105),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4691,7 +4720,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(43),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4702,7 +4731,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(75),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4713,7 +4742,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4724,7 +4753,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(13),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4735,7 +4764,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(140),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4746,7 +4775,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(49),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4800,7 +4829,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(281),
+ /* parameters */ ParameterIndex(286),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4811,7 +4840,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(315),
+ /* parameters */ ParameterIndex(320),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4822,7 +4851,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(279),
+ /* parameters */ ParameterIndex(284),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4833,7 +4862,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(281),
+ /* parameters */ ParameterIndex(286),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4844,7 +4873,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(283),
+ /* parameters */ ParameterIndex(288),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4855,7 +4884,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(310),
+ /* parameters */ ParameterIndex(315),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4866,8 +4895,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(305),
- /* return_matcher_indices */ MatcherIndicesIndex(102),
+ /* parameters */ ParameterIndex(310),
+ /* return_matcher_indices */ MatcherIndicesIndex(106),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4877,8 +4906,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(307),
- /* return_matcher_indices */ MatcherIndicesIndex(102),
+ /* parameters */ ParameterIndex(312),
+ /* return_matcher_indices */ MatcherIndicesIndex(106),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4888,8 +4917,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(306),
- /* return_matcher_indices */ MatcherIndicesIndex(102),
+ /* parameters */ ParameterIndex(311),
+ /* return_matcher_indices */ MatcherIndicesIndex(106),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4899,7 +4928,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(265),
+ /* parameters */ ParameterIndex(270),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4910,7 +4939,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(283),
+ /* parameters */ ParameterIndex(288),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4921,7 +4950,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(211),
+ /* parameters */ ParameterIndex(216),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4932,7 +4961,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
+ /* parameters */ ParameterIndex(222),
/* return_matcher_indices */ MatcherIndicesIndex(11),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4943,7 +4972,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(311),
+ /* parameters */ ParameterIndex(316),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -4954,8 +4983,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(308),
- /* return_matcher_indices */ MatcherIndicesIndex(102),
+ /* parameters */ ParameterIndex(313),
+ /* return_matcher_indices */ MatcherIndicesIndex(106),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4976,8 +5005,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(305),
- /* return_matcher_indices */ MatcherIndicesIndex(102),
+ /* parameters */ ParameterIndex(310),
+ /* return_matcher_indices */ MatcherIndicesIndex(106),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4998,8 +5027,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(313),
- /* return_matcher_indices */ MatcherIndicesIndex(102),
+ /* parameters */ ParameterIndex(318),
+ /* return_matcher_indices */ MatcherIndicesIndex(106),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5020,7 +5049,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(7),
- /* parameters */ ParameterIndex(202),
+ /* parameters */ ParameterIndex(207),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -5031,7 +5060,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(7),
- /* parameters */ ParameterIndex(259),
+ /* parameters */ ParameterIndex(264),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -5042,7 +5071,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(7),
- /* parameters */ ParameterIndex(202),
+ /* parameters */ ParameterIndex(207),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -5053,7 +5082,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(305),
+ /* parameters */ ParameterIndex(310),
/* return_matcher_indices */ MatcherIndicesIndex(1),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -5064,7 +5093,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(305),
+ /* parameters */ ParameterIndex(310),
/* return_matcher_indices */ MatcherIndicesIndex(1),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -5087,7 +5116,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(136),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5103,12 +5132,23 @@
},
{
/* [184] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 5,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 4,
+ /* templates */ TemplateIndex(0),
+ /* parameters */ ParameterIndex(150),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [185] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(19),
- /* parameters */ ParameterIndex(310),
+ /* parameters */ ParameterIndex(315),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -5488,10 +5528,16 @@
},
{
/* [35] */
- /* fn simdgroup_store[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](subgroup_matrix<K, S, C, R>, ptr<workgroup_or_storage, S, writable>, u64, vec2<u64>, bool) */
+ /* fn simdgroup_load[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](subgroup_matrix<K, S, C, R>, ptr<workgroup_or_storage, S, readable>, u64, vec2<u64>, bool) */
/* num overloads */ 1,
/* overloads */ OverloadIndex(183),
},
+ {
+ /* [36] */
+ /* fn simdgroup_store[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](subgroup_matrix<K, S, C, R>, ptr<workgroup_or_storage, S, writable>, u64, vec2<u64>, bool) */
+ /* num overloads */ 1,
+ /* overloads */ OverloadIndex(184),
+ },
};
constexpr IntrinsicInfo kBinaryOperators[] = {
@@ -5499,13 +5545,13 @@
/* [0] */
/* op +[T : iu8](T, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(184),
+ /* overloads */ OverloadIndex(185),
},
{
/* [1] */
/* op *[T : iu8](T, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(184),
+ /* overloads */ OverloadIndex(185),
},
};
constexpr uint8_t kBinaryOperatorPlus = 0;
diff --git a/src/tint/lang/msl/msl.def b/src/tint/lang/msl/msl.def
index a3e87c6..a6173e0 100644
--- a/src/tint/lang/msl/msl.def
+++ b/src/tint/lang/msl/msl.def
@@ -365,6 +365,7 @@
fn convert(u32) -> u64
+@stage("compute") implicit(K: subgroup_matrix_kind, S: f32_f16, C: num, R: num) fn simdgroup_load(subgroup_matrix<K, S, C, R>, ptr<workgroup_or_storage, S, readable>, u64, vec2<u64>, bool)
@stage("compute") implicit(K: subgroup_matrix_kind, S: f32_f16, C: num, R: num) fn simdgroup_store(subgroup_matrix<K, S, C, R>, ptr<workgroup_or_storage, S, writable>, u64, vec2<u64>, bool)
////////////////////////////////////////////////////////////////////////////////
diff --git a/src/tint/lang/msl/writer/raise/builtin_polyfill.cc b/src/tint/lang/msl/writer/raise/builtin_polyfill.cc
index a81e06a..f1162d4 100644
--- a/src/tint/lang/msl/writer/raise/builtin_polyfill.cc
+++ b/src/tint/lang/msl/writer/raise/builtin_polyfill.cc
@@ -108,6 +108,7 @@
case core::BuiltinFn::kQuadSwapY:
case core::BuiltinFn::kQuantizeToF16:
case core::BuiltinFn::kSign:
+ case core::BuiltinFn::kSubgroupMatrixLoad:
case core::BuiltinFn::kSubgroupMatrixStore:
case core::BuiltinFn::kTextureDimensions:
case core::BuiltinFn::kTextureGather:
@@ -271,6 +272,9 @@
break;
// Subgroup matrix builtins.
+ case core::BuiltinFn::kSubgroupMatrixLoad:
+ SubgroupMatrixLoad(builtin);
+ break;
case core::BuiltinFn::kSubgroupMatrixStore:
SubgroupMatrixStore(builtin);
break;
@@ -935,6 +939,43 @@
builtin->Destroy();
}
+ /// Replace a subgroupMatrixLoad builtin.
+ /// @param builtin the builtin call instruction
+ void SubgroupMatrixLoad(core::ir::CoreBuiltinCall* builtin) {
+ b.InsertBefore(builtin, [&] {
+ auto* p = builtin->Args()[0];
+ auto* offset = builtin->Args()[1];
+ auto* col_major = builtin->Args()[2];
+ auto* stride = builtin->Args()[3];
+
+ auto* ptr = p->Type()->As<core::type::Pointer>();
+ auto* arr = ptr->StoreType()->As<core::type::Array>();
+
+ // Make a pointer to the first element of the array that we will read from.
+ auto* elem_ptr = ty.ptr(ptr->AddressSpace(), arr->ElemType(), ptr->Access());
+ auto* src = b.Access(elem_ptr, p, offset);
+
+ // The origin is always (0, 0), as we use `offset` to set the start of the data.
+ auto* matrix_origin = b.Zero<vec2<u64>>();
+
+ // Convert the u32 stride to the ulong that MSL expects.
+ auto* elements_per_row =
+ b.Call<msl::ir::BuiltinCall>(ty.u64(), msl::BuiltinFn::kConvert, stride);
+
+ // Declare a local variable to load the matrix into.
+ auto* tmp = b.Var(ty.ptr<function>(builtin->Result(0)->Type()));
+ // Note: We need to use a `load` instruction to pass the variable, as the intrinsic
+ // definition expects a value type (as we do not have reference types in the IR). The
+ // printer will just fold away the load, which achieves the pass-by-reference semantics
+ // that we want.
+ b.Call<msl::ir::BuiltinCall>(ty.void_(), msl::BuiltinFn::kSimdgroupLoad,
+ b.Load(tmp->Result(0)), src, elements_per_row,
+ matrix_origin, col_major);
+ b.LoadWithResult(builtin->DetachResult(), tmp);
+ });
+ builtin->Destroy();
+ }
+
/// Replace a subgroupMatrixStore builtin.
/// @param builtin the builtin call instruction
void SubgroupMatrixStore(core::ir::CoreBuiltinCall* builtin) {
diff --git a/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc b/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc
index 1a28a09..4ea4319 100644
--- a/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc
+++ b/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc
@@ -3314,6 +3314,88 @@
EXPECT_EQ(expect, str());
}
+TEST_F(MslWriter_BuiltinPolyfillTest, SubgroupMatrixLoad_Storage_F32) {
+ auto* mat = ty.subgroup_matrix_result(ty.f32(), 8, 8);
+ auto* p = b.FunctionParam<ptr<storage, array<f32, 256>>>("p");
+ auto* func = b.Function("foo", mat);
+ func->SetParams({p});
+ b.Append(func->Block(), [&] {
+ auto* call = b.Call(mat, core::BuiltinFn::kSubgroupMatrixLoad, p, 64_u, false, 32_u);
+ call->SetExplicitTemplateParams(Vector{mat});
+ b.Return(func, call);
+ });
+
+ auto* src = R"(
+%foo = func(%p:ptr<storage, array<f32, 256>, read_write>):subgroup_matrix_result<f32, 8, 8> {
+ $B1: {
+ %3:subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>> %p, 64u, false, 32u
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%foo = func(%p:ptr<storage, array<f32, 256>, read_write>):subgroup_matrix_result<f32, 8, 8> {
+ $B1: {
+ %3:ptr<storage, f32, read_write> = access %p, 64u
+ %4:u64 = msl.convert 32u
+ %5:ptr<function, subgroup_matrix_result<f32, 8, 8>, read_write> = var
+ %6:subgroup_matrix_result<f32, 8, 8> = load %5
+ %7:void = msl.simdgroup_load %6, %3, %4, vec2<u64>(0u64), false
+ %8:subgroup_matrix_result<f32, 8, 8> = load %5
+ ret %8
+ }
+}
+)";
+
+ capabilities.Add(core::ir::Capability::kAllow64BitIntegers);
+ Run(BuiltinPolyfill);
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(MslWriter_BuiltinPolyfillTest, SubgroupMatrixLoad_Workgroup_F16) {
+ auto* mat = ty.subgroup_matrix_result(ty.f16(), 8, 8);
+ auto* p = b.FunctionParam<ptr<workgroup, array<f16, 256>>>("p");
+ auto* func = b.Function("foo", mat);
+ func->SetParams({p});
+ b.Append(func->Block(), [&] {
+ auto* call = b.Call(mat, core::BuiltinFn::kSubgroupMatrixLoad, p, 64_u, false, 32_u);
+ call->SetExplicitTemplateParams(Vector{mat});
+ b.Return(func, call);
+ });
+
+ auto* src = R"(
+%foo = func(%p:ptr<workgroup, array<f16, 256>, read_write>):subgroup_matrix_result<f16, 8, 8> {
+ $B1: {
+ %3:subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>> %p, 64u, false, 32u
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%foo = func(%p:ptr<workgroup, array<f16, 256>, read_write>):subgroup_matrix_result<f16, 8, 8> {
+ $B1: {
+ %3:ptr<workgroup, f16, read_write> = access %p, 64u
+ %4:u64 = msl.convert 32u
+ %5:ptr<function, subgroup_matrix_result<f16, 8, 8>, read_write> = var
+ %6:subgroup_matrix_result<f16, 8, 8> = load %5
+ %7:void = msl.simdgroup_load %6, %3, %4, vec2<u64>(0u64), false
+ %8:subgroup_matrix_result<f16, 8, 8> = load %5
+ ret %8
+ }
+}
+)";
+
+ capabilities.Add(core::ir::Capability::kAllow64BitIntegers);
+ Run(BuiltinPolyfill);
+
+ EXPECT_EQ(expect, str());
+}
+
TEST_F(MslWriter_BuiltinPolyfillTest, SubgroupMatrixStore_Storage_F32) {
auto* p = b.FunctionParam<ptr<storage, array<f32, 256>>>("p");
auto* m = b.FunctionParam("m", ty.subgroup_matrix_result(ty.f32(), 8, 8));
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.ir.msl
index d585b54..1ca3d63 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_02e63c(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_02e63c(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.msl
index d585b54..633093c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.msl
@@ -1,11 +1,55 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_09fb8d(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_09fb8d(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.msl
index d585b54..c1dbe66 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_1fe5a3(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_1fe5a3(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.msl
index d585b54..46cffbb 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_2de7aa(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_2de7aa(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.msl
index d585b54..37e270f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_4220ee(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_4220ee(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.msl
index d585b54..0e184d0 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_4d220f(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_4d220f(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.msl
index d585b54..f30c55d 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_574821(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_574821(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.msl
index d585b54..3400a4f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.msl
@@ -1,11 +1,55 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_6b52bc(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_6b52bc(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.msl
index d585b54..010d7f4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_7a4ca5(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_7a4ca5(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.msl
index d585b54..b5968d8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_a51ccf(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_a51ccf(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.msl
index d585b54..832f0be 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.msl
@@ -1,11 +1,55 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_af7dc4(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_af7dc4(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.msl
index d585b54..debb4e5 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_b2c1cc(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_b2c1cc(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.msl
index d585b54..358823f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.msl
@@ -1,11 +1,55 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_b85a36(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_b85a36(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.msl
index d585b54..7ad6637 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_ccd48c(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_ccd48c(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.msl
index d585b54..40c6711 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_d755c1(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_d755c1(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.msl
index d585b54..1d6127f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.msl
@@ -1,11 +1,35 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_e094aa(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_e094aa(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.msl
index d585b54..a459d7a 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.msl
@@ -1,11 +1,55 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_e4c5c8(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_e4c5c8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.ir.msl
index d585b54..bbe1476 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.ir.msl
@@ -1,11 +1,55 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_f4729e(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_f4729e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.ir.msl
index d585b54..a392757 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_02e63c(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_02e63c(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.msl
index d585b54..9a9fbad 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.msl
@@ -1,11 +1,58 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_09fb8d(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_09fb8d(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.msl
index d585b54..1536f81 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_1fe5a3(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_1fe5a3(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.msl
index d585b54..d956d2e 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_2de7aa(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_2de7aa(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.msl
index d585b54..97d50cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_4220ee(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_4220ee(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.msl
index d585b54..2109eed 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_4d220f(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_4d220f(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.msl
index d585b54..567f271 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_574821(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_574821(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.msl
index d585b54..eb4c87b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.msl
@@ -1,11 +1,58 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_6b52bc(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_6b52bc(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.msl
index d585b54..be32167 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_7a4ca5(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_7a4ca5(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.msl
index d585b54..385d41a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_a51ccf(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_a51ccf(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.msl
index d585b54..af496ba 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.msl
@@ -1,11 +1,58 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_af7dc4(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_af7dc4(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.msl
index d585b54..9d0a9ef 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_b2c1cc(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_b2c1cc(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.msl
index d585b54..028b472 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.msl
@@ -1,11 +1,58 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_b85a36(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_b85a36(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.msl
index d585b54..9af6f0d 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_ccd48c(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_ccd48c(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.msl
index d585b54..d069c9f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_d755c1(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_d755c1(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.msl
index d585b54..e7ce8bd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.msl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_e094aa(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_e094aa(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.msl
index d585b54..79d22cc 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.msl
@@ -1,11 +1,58 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_e4c5c8(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_e4c5c8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.ir.msl
index d585b54..536836c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.ir.msl
@@ -1,11 +1,58 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
-../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixLoad
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
-tint executable returned error: signal: trace/BPT trap
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_f4729e(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ bool arg_2 = true;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_f4729e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.msl
index 73f6a1d..5dba48c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.msl
@@ -1,11 +1,5 @@
-SKIP: FAILED
+SKIP: INVALID
-../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf<core::type::F32, core::type::F16>()))
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+error: non-float subgroup matrices are not supported by the MSL backend
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 1