tint: Add support for workgroupUniformLoad
Accept any type in the intrinsics definition, and then manually
validate that there are no atomics in the type. Add manual E2E tests
for composite types.
Use the BuiltinPolyfill transform to implement it for all backends.
Update the uniformity analysis with special-case tags for the builtin.
Fixed: tint:1780
Change-Id: I95786dff4df70a0b16ed1c53b853b5d0ec6bc501
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/114862
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: James Price <jrprice@google.com>
diff --git a/src/tint/fuzzers/tint_regex_fuzzer/wgsl_mutator.cc b/src/tint/fuzzers/tint_regex_fuzzer/wgsl_mutator.cc
index c3a1f0a..5e0a0f0 100644
--- a/src/tint/fuzzers/tint_regex_fuzzer/wgsl_mutator.cc
+++ b/src/tint/fuzzers/tint_regex_fuzzer/wgsl_mutator.cc
@@ -657,6 +657,7 @@
"unpack2x16unorm",
"unpack2x16float",
"storageBarrier",
+ "workgroupUniformLoad",
"workgroupBarrier"};
wgsl_code.replace(left_bracket_pos + function_call_identifier.first,
function_call_identifier.second,
diff --git a/src/tint/intrinsics.def b/src/tint/intrinsics.def
index 2bb3fe7..c8ff511 100644
--- a/src/tint/intrinsics.def
+++ b/src/tint/intrinsics.def
@@ -275,6 +275,8 @@
| address_space.storage
match storage
: address_space.storage
+match workgroup
+ : address_space.workgroup
////////////////////////////////////////////////////////////////////////////////
// Builtin Functions //
@@ -594,6 +596,7 @@
@const fn unpack4x8snorm(u32) -> vec4<f32>
@const fn unpack4x8unorm(u32) -> vec4<f32>
@stage("compute") fn workgroupBarrier()
+@stage("compute") fn workgroupUniformLoad<T>(ptr<workgroup, T, read_write>) -> T
fn textureDimensions<T: fiu32>(texture: texture_1d<T>) -> u32
fn textureDimensions<T: fiu32, L: iu32>(texture: texture_1d<T>, level: L) -> u32
diff --git a/src/tint/resolver/builtin_validation_test.cc b/src/tint/resolver/builtin_validation_test.cc
index 6bda08a..2b45386 100644
--- a/src/tint/resolver/builtin_validation_test.cc
+++ b/src/tint/resolver/builtin_validation_test.cc
@@ -647,5 +647,70 @@
R"(12:34 error: cannot call built-in function 'dot4U8Packed' without extension chromium_experimental_dp4a)");
}
+TEST_F(ResolverBuiltinValidationTest, WorkgroupUniformLoad_WrongAddressSpace) {
+ // @group(0) @binding(0) var<storage, read_write> v : i32;
+ // fn foo() {
+ // workgroupUniformLoad(&v);
+ // }
+ GlobalVar("v", ty.i32(), ast::AddressSpace::kStorage, ast::Access::kReadWrite,
+ utils::Vector{Group(0_a), Binding(0_a)});
+ WrapInFunction(CallStmt(Call("workgroupUniformLoad", AddressOf(Source{{12, 34}}, "v"))));
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(r()->error(),
+ R"(error: no matching call to workgroupUniformLoad(ptr<storage, i32, read_write>)
+
+1 candidate function:
+ workgroupUniformLoad(ptr<workgroup, T, read_write>) -> T
+)");
+}
+
+TEST_F(ResolverBuiltinValidationTest, WorkgroupUniformLoad_Atomic) {
+ // var<workgroup> v : atomic<i32>;
+ // fn foo() {
+ // workgroupUniformLoad(&v);
+ // }
+ GlobalVar("v", ty.atomic<i32>(), ast::AddressSpace::kWorkgroup);
+ WrapInFunction(CallStmt(Call("workgroupUniformLoad", AddressOf(Source{{12, 34}}, "v"))));
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(
+ r()->error(),
+ R"(12:34 error: workgroupUniformLoad must not be called with an argument that contains an atomic type)");
+}
+
+TEST_F(ResolverBuiltinValidationTest, WorkgroupUniformLoad_AtomicInArray) {
+ // var<workgroup> v : array<atomic<i32>, 4>;
+ // fn foo() {
+ // workgroupUniformLoad(&v);
+ // }
+ GlobalVar("v", ty.array(ty.atomic<i32>(), 4_a), ast::AddressSpace::kWorkgroup);
+ WrapInFunction(CallStmt(Call("workgroupUniformLoad", AddressOf(Source{{12, 34}}, "v"))));
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(
+ r()->error(),
+ R"(12:34 error: workgroupUniformLoad must not be called with an argument that contains an atomic type)");
+}
+
+TEST_F(ResolverBuiltinValidationTest, WorkgroupUniformLoad_AtomicInStruct) {
+ // struct Inner { a : array<atomic<i32, 4> }
+ // struct S { i : Inner }
+ // var<workgroup> v : array<S, 4>;
+ // fn foo() {
+ // workgroupUniformLoad(&v);
+ // }
+ Structure("Inner", utils::Vector{Member("a", ty.array(ty.atomic<i32>(), 4_a))});
+ Structure("S", utils::Vector{Member("i", ty.type_name("Inner"))});
+ GlobalVar(Source{{12, 34}}, "v", ty.array(ty.type_name("S"), 4_a),
+ ast::AddressSpace::kWorkgroup);
+ WrapInFunction(CallStmt(Call("workgroupUniformLoad", AddressOf("v"))));
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(
+ r()->error(),
+ R"(error: workgroupUniformLoad must not be called with an argument that contains an atomic type)");
+}
+
} // namespace
} // namespace tint::resolver
diff --git a/src/tint/resolver/intrinsic_table.inl b/src/tint/resolver/intrinsic_table.inl
index 0507d94..b13934a 100644
--- a/src/tint/resolver/intrinsic_table.inl
+++ b/src/tint/resolver/intrinsic_table.inl
@@ -2588,6 +2588,31 @@
return "storage";
}
+/// EnumMatcher for 'match workgroup'
+class Workgroup : public NumberMatcher {
+ public:
+ /// Checks whether the given number matches the enum matcher rules.
+ /// Match may define template numbers in state.
+ /// @param state the MatchState
+ /// @param number the enum value as a Number
+ /// @return true if the enum value matches the set
+ Number Match(MatchState& state, Number number) const override;
+ /// @param state the MatchState
+ /// @return a string representation of the matcher.
+ std::string String(MatchState* state) const override;
+};
+
+Number Workgroup::Match(MatchState&, Number number) const {
+ if (number.IsAny() || number.Value() == static_cast<uint32_t>(AddressSpace::kWorkgroup)) {
+ return Number(static_cast<uint32_t>(AddressSpace::kWorkgroup));
+ }
+ return Number::invalid;
+}
+
+std::string Workgroup::String(MatchState*) const {
+ return "workgroup";
+}
+
/// Matchers holds type and number matchers
class Matchers {
private:
@@ -2674,6 +2699,7 @@
FunctionPrivateWorkgroup FunctionPrivateWorkgroup_;
WorkgroupOrStorage WorkgroupOrStorage_;
Storage Storage_;
+ Workgroup Workgroup_;
public:
/// Constructor
@@ -2758,7 +2784,7 @@
};
/// The template numbers, and number matchers
- NumberMatcher const* const number[11] = {
+ NumberMatcher const* const number[12] = {
/* [0] */ &template_number_0_,
/* [1] */ &template_number_1_,
/* [2] */ &template_number_2_,
@@ -2770,6 +2796,7 @@
/* [8] */ &FunctionPrivateWorkgroup_,
/* [9] */ &WorkgroupOrStorage_,
/* [10] */ &Storage_,
+ /* [11] */ &Workgroup_,
};
};
@@ -2799,222 +2826,224 @@
/* [19] */ 1,
/* [20] */ 0,
/* [21] */ 0,
- /* [22] */ 24,
- /* [23] */ 0,
- /* [24] */ 2,
- /* [25] */ 0,
+ /* [22] */ 25,
+ /* [23] */ 11,
+ /* [24] */ 0,
+ /* [25] */ 7,
/* [26] */ 24,
- /* [27] */ 1,
+ /* [27] */ 0,
/* [28] */ 2,
/* [29] */ 0,
- /* [30] */ 23,
- /* [31] */ 0,
- /* [32] */ 0,
- /* [33] */ 23,
- /* [34] */ 0,
- /* [35] */ 4,
- /* [36] */ 23,
- /* [37] */ 0,
- /* [38] */ 9,
- /* [39] */ 50,
- /* [40] */ 0,
+ /* [30] */ 24,
+ /* [31] */ 1,
+ /* [32] */ 2,
+ /* [33] */ 0,
+ /* [34] */ 23,
+ /* [35] */ 0,
+ /* [36] */ 0,
+ /* [37] */ 23,
+ /* [38] */ 0,
+ /* [39] */ 4,
+ /* [40] */ 23,
/* [41] */ 0,
- /* [42] */ 23,
- /* [43] */ 0,
- /* [44] */ 1,
- /* [45] */ 48,
- /* [46] */ 0,
+ /* [42] */ 9,
+ /* [43] */ 50,
+ /* [44] */ 0,
+ /* [45] */ 0,
+ /* [46] */ 23,
/* [47] */ 0,
- /* [48] */ 42,
- /* [49] */ 0,
- /* [50] */ 1,
- /* [51] */ 43,
- /* [52] */ 0,
- /* [53] */ 1,
- /* [54] */ 44,
- /* [55] */ 0,
- /* [56] */ 1,
- /* [57] */ 45,
- /* [58] */ 0,
- /* [59] */ 1,
- /* [60] */ 42,
- /* [61] */ 3,
- /* [62] */ 6,
- /* [63] */ 43,
- /* [64] */ 3,
- /* [65] */ 6,
- /* [66] */ 44,
- /* [67] */ 3,
- /* [68] */ 6,
- /* [69] */ 45,
- /* [70] */ 3,
- /* [71] */ 6,
- /* [72] */ 42,
- /* [73] */ 4,
- /* [74] */ 6,
- /* [75] */ 43,
- /* [76] */ 4,
- /* [77] */ 6,
- /* [78] */ 44,
- /* [79] */ 4,
- /* [80] */ 6,
- /* [81] */ 45,
- /* [82] */ 4,
- /* [83] */ 6,
- /* [84] */ 42,
- /* [85] */ 5,
- /* [86] */ 6,
- /* [87] */ 43,
- /* [88] */ 5,
- /* [89] */ 6,
- /* [90] */ 44,
- /* [91] */ 5,
- /* [92] */ 6,
- /* [93] */ 45,
- /* [94] */ 5,
- /* [95] */ 6,
- /* [96] */ 23,
- /* [97] */ 1,
- /* [98] */ 0,
- /* [99] */ 23,
- /* [100] */ 0,
- /* [101] */ 8,
- /* [102] */ 12,
- /* [103] */ 0,
- /* [104] */ 49,
- /* [105] */ 0,
- /* [106] */ 47,
+ /* [48] */ 1,
+ /* [49] */ 48,
+ /* [50] */ 0,
+ /* [51] */ 0,
+ /* [52] */ 42,
+ /* [53] */ 0,
+ /* [54] */ 1,
+ /* [55] */ 43,
+ /* [56] */ 0,
+ /* [57] */ 1,
+ /* [58] */ 44,
+ /* [59] */ 0,
+ /* [60] */ 1,
+ /* [61] */ 45,
+ /* [62] */ 0,
+ /* [63] */ 1,
+ /* [64] */ 42,
+ /* [65] */ 3,
+ /* [66] */ 6,
+ /* [67] */ 43,
+ /* [68] */ 3,
+ /* [69] */ 6,
+ /* [70] */ 44,
+ /* [71] */ 3,
+ /* [72] */ 6,
+ /* [73] */ 45,
+ /* [74] */ 3,
+ /* [75] */ 6,
+ /* [76] */ 42,
+ /* [77] */ 4,
+ /* [78] */ 6,
+ /* [79] */ 43,
+ /* [80] */ 4,
+ /* [81] */ 6,
+ /* [82] */ 44,
+ /* [83] */ 4,
+ /* [84] */ 6,
+ /* [85] */ 45,
+ /* [86] */ 4,
+ /* [87] */ 6,
+ /* [88] */ 42,
+ /* [89] */ 5,
+ /* [90] */ 6,
+ /* [91] */ 43,
+ /* [92] */ 5,
+ /* [93] */ 6,
+ /* [94] */ 44,
+ /* [95] */ 5,
+ /* [96] */ 6,
+ /* [97] */ 45,
+ /* [98] */ 5,
+ /* [99] */ 6,
+ /* [100] */ 23,
+ /* [101] */ 1,
+ /* [102] */ 0,
+ /* [103] */ 23,
+ /* [104] */ 0,
+ /* [105] */ 8,
+ /* [106] */ 12,
/* [107] */ 0,
- /* [108] */ 11,
- /* [109] */ 9,
- /* [110] */ 13,
- /* [111] */ 9,
- /* [112] */ 30,
- /* [113] */ 0,
- /* [114] */ 31,
- /* [115] */ 0,
- /* [116] */ 11,
- /* [117] */ 8,
- /* [118] */ 32,
+ /* [108] */ 49,
+ /* [109] */ 0,
+ /* [110] */ 47,
+ /* [111] */ 0,
+ /* [112] */ 11,
+ /* [113] */ 9,
+ /* [114] */ 13,
+ /* [115] */ 9,
+ /* [116] */ 30,
+ /* [117] */ 0,
+ /* [118] */ 31,
/* [119] */ 0,
- /* [120] */ 33,
- /* [121] */ 0,
- /* [122] */ 12,
- /* [123] */ 8,
- /* [124] */ 34,
+ /* [120] */ 11,
+ /* [121] */ 8,
+ /* [122] */ 32,
+ /* [123] */ 0,
+ /* [124] */ 33,
/* [125] */ 0,
- /* [126] */ 35,
- /* [127] */ 0,
- /* [128] */ 36,
+ /* [126] */ 12,
+ /* [127] */ 8,
+ /* [128] */ 34,
/* [129] */ 0,
- /* [130] */ 13,
+ /* [130] */ 35,
/* [131] */ 0,
- /* [132] */ 11,
- /* [133] */ 7,
- /* [134] */ 12,
- /* [135] */ 9,
- /* [136] */ 30,
- /* [137] */ 9,
- /* [138] */ 31,
+ /* [132] */ 36,
+ /* [133] */ 0,
+ /* [134] */ 13,
+ /* [135] */ 0,
+ /* [136] */ 11,
+ /* [137] */ 7,
+ /* [138] */ 12,
/* [139] */ 9,
- /* [140] */ 32,
+ /* [140] */ 30,
/* [141] */ 9,
- /* [142] */ 33,
+ /* [142] */ 31,
/* [143] */ 9,
- /* [144] */ 12,
- /* [145] */ 7,
- /* [146] */ 34,
+ /* [144] */ 32,
+ /* [145] */ 9,
+ /* [146] */ 33,
/* [147] */ 9,
- /* [148] */ 35,
- /* [149] */ 9,
- /* [150] */ 11,
- /* [151] */ 0,
- /* [152] */ 13,
- /* [153] */ 7,
+ /* [148] */ 12,
+ /* [149] */ 7,
+ /* [150] */ 34,
+ /* [151] */ 9,
+ /* [152] */ 35,
+ /* [153] */ 9,
/* [154] */ 13,
- /* [155] */ 8,
- /* [156] */ 11,
- /* [157] */ 1,
- /* [158] */ 12,
+ /* [155] */ 7,
+ /* [156] */ 13,
+ /* [157] */ 8,
+ /* [158] */ 11,
/* [159] */ 1,
- /* [160] */ 51,
- /* [161] */ 0,
- /* [162] */ 11,
- /* [163] */ 10,
+ /* [160] */ 12,
+ /* [161] */ 1,
+ /* [162] */ 51,
+ /* [163] */ 0,
/* [164] */ 11,
- /* [165] */ 4,
- /* [166] */ 12,
- /* [167] */ 10,
+ /* [165] */ 10,
+ /* [166] */ 11,
+ /* [167] */ 4,
/* [168] */ 12,
- /* [169] */ 4,
- /* [170] */ 13,
- /* [171] */ 1,
+ /* [169] */ 10,
+ /* [170] */ 12,
+ /* [171] */ 4,
/* [172] */ 13,
- /* [173] */ 10,
+ /* [173] */ 1,
/* [174] */ 13,
- /* [175] */ 4,
- /* [176] */ 14,
- /* [177] */ 0,
+ /* [175] */ 10,
+ /* [176] */ 13,
+ /* [177] */ 4,
/* [178] */ 14,
- /* [179] */ 9,
+ /* [179] */ 0,
/* [180] */ 14,
- /* [181] */ 10,
- /* [182] */ 15,
- /* [183] */ 0,
+ /* [181] */ 9,
+ /* [182] */ 14,
+ /* [183] */ 10,
/* [184] */ 15,
- /* [185] */ 9,
+ /* [185] */ 0,
/* [186] */ 15,
- /* [187] */ 10,
- /* [188] */ 16,
- /* [189] */ 0,
+ /* [187] */ 9,
+ /* [188] */ 15,
+ /* [189] */ 10,
/* [190] */ 16,
- /* [191] */ 9,
+ /* [191] */ 0,
/* [192] */ 16,
- /* [193] */ 10,
- /* [194] */ 17,
- /* [195] */ 0,
+ /* [193] */ 9,
+ /* [194] */ 16,
+ /* [195] */ 10,
/* [196] */ 17,
- /* [197] */ 9,
+ /* [197] */ 0,
/* [198] */ 17,
- /* [199] */ 10,
- /* [200] */ 18,
- /* [201] */ 0,
+ /* [199] */ 9,
+ /* [200] */ 17,
+ /* [201] */ 10,
/* [202] */ 18,
- /* [203] */ 9,
+ /* [203] */ 0,
/* [204] */ 18,
- /* [205] */ 10,
- /* [206] */ 19,
- /* [207] */ 0,
+ /* [205] */ 9,
+ /* [206] */ 18,
+ /* [207] */ 10,
/* [208] */ 19,
- /* [209] */ 9,
+ /* [209] */ 0,
/* [210] */ 19,
- /* [211] */ 10,
- /* [212] */ 20,
- /* [213] */ 0,
+ /* [211] */ 9,
+ /* [212] */ 19,
+ /* [213] */ 10,
/* [214] */ 20,
- /* [215] */ 9,
+ /* [215] */ 0,
/* [216] */ 20,
- /* [217] */ 10,
- /* [218] */ 21,
- /* [219] */ 0,
+ /* [217] */ 9,
+ /* [218] */ 20,
+ /* [219] */ 10,
/* [220] */ 21,
- /* [221] */ 9,
+ /* [221] */ 0,
/* [222] */ 21,
- /* [223] */ 10,
- /* [224] */ 22,
- /* [225] */ 0,
+ /* [223] */ 9,
+ /* [224] */ 21,
+ /* [225] */ 10,
/* [226] */ 22,
- /* [227] */ 9,
+ /* [227] */ 0,
/* [228] */ 22,
- /* [229] */ 10,
- /* [230] */ 37,
- /* [231] */ 38,
- /* [232] */ 39,
- /* [233] */ 40,
- /* [234] */ 41,
- /* [235] */ 46,
- /* [236] */ 28,
- /* [237] */ 29,
+ /* [229] */ 9,
+ /* [230] */ 22,
+ /* [231] */ 10,
+ /* [232] */ 37,
+ /* [233] */ 38,
+ /* [234] */ 39,
+ /* [235] */ 40,
+ /* [236] */ 41,
+ /* [237] */ 46,
+ /* [238] */ 28,
+ /* [239] */ 29,
};
// Assert that the MatcherIndex is big enough to index all the matchers, plus
@@ -3352,17 +3381,17 @@
{
/* [65] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [66] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [67] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [68] */
@@ -3372,17 +3401,17 @@
{
/* [69] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [70] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [71] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [72] */
@@ -3392,42 +3421,42 @@
{
/* [73] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [74] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [75] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [76] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [77] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [78] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [79] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [80] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [81] */
@@ -3437,27 +3466,27 @@
{
/* [82] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [83] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [84] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [85] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [86] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [87] */
@@ -3467,27 +3496,27 @@
{
/* [88] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [89] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [90] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [91] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [92] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [93] */
@@ -3497,27 +3526,27 @@
{
/* [94] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [95] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [96] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [97] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [98] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [99] */
@@ -3527,57 +3556,57 @@
{
/* [100] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [101] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [102] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [103] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [104] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [105] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [106] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [107] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [108] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [109] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [110] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [111] */
@@ -3587,57 +3616,57 @@
{
/* [112] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [113] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [114] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [115] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [116] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [117] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [118] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [119] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [120] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [121] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [122] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [123] */
@@ -3647,27 +3676,27 @@
{
/* [124] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [125] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [126] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [127] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [128] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [129] */
@@ -3677,27 +3706,27 @@
{
/* [130] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [131] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [132] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [133] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [134] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [135] */
@@ -3712,7 +3741,7 @@
{
/* [137] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [138] */
@@ -3782,22 +3811,22 @@
{
/* [151] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[118],
},
{
/* [152] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [153] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [154] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [155] */
@@ -3807,22 +3836,22 @@
{
/* [156] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [157] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [158] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [159] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [160] */
@@ -3832,37 +3861,37 @@
{
/* [161] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [162] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [163] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [164] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [165] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [166] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [167] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [168] */
@@ -3872,47 +3901,47 @@
{
/* [169] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [170] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [171] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [172] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [173] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [174] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [175] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [176] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [177] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [178] */
@@ -3922,22 +3951,22 @@
{
/* [179] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [180] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [181] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [182] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [183] */
@@ -3947,22 +3976,22 @@
{
/* [184] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [185] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [186] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [187] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [188] */
@@ -3972,22 +4001,22 @@
{
/* [189] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [190] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [191] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [192] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [193] */
@@ -3997,47 +4026,47 @@
{
/* [194] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [195] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [196] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [197] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [198] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [199] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [200] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [201] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [202] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [203] */
@@ -4047,47 +4076,47 @@
{
/* [204] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [205] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [206] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [207] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [208] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [209] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [210] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [211] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [212] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [213] */
@@ -4097,47 +4126,47 @@
{
/* [214] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [215] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [216] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [217] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [218] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [219] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [220] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [221] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [222] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [223] */
@@ -4147,22 +4176,22 @@
{
/* [224] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [225] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [226] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [227] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [228] */
@@ -4172,47 +4201,47 @@
{
/* [229] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [230] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [231] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [232] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [233] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [234] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [235] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [236] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [237] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [238] */
@@ -4222,22 +4251,22 @@
{
/* [239] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [240] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [241] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [242] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [243] */
@@ -4247,122 +4276,122 @@
{
/* [244] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [245] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [246] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [247] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [248] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [249] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [250] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [251] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [252] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [253] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [254] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [255] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[150],
},
{
/* [256] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [257] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [258] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [259] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [260] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [261] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [262] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [263] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [264] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [265] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [266] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [267] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [268] */
@@ -4372,47 +4401,47 @@
{
/* [269] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [270] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [271] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [272] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [273] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [274] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [275] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [276] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [277] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [278] */
@@ -4422,22 +4451,22 @@
{
/* [279] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [280] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [281] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [282] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [283] */
@@ -4447,22 +4476,22 @@
{
/* [284] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [285] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [286] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [287] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [288] */
@@ -4477,17 +4506,17 @@
{
/* [290] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [291] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [292] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [293] */
@@ -4512,32 +4541,32 @@
{
/* [297] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [298] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [299] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [300] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [301] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [302] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [303] */
@@ -4547,17 +4576,17 @@
{
/* [304] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[118],
},
{
/* [305] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [306] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [307] */
@@ -4567,52 +4596,52 @@
{
/* [308] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[124],
+ /* matcher indices */ &kMatcherIndices[128],
},
{
/* [309] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [310] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [311] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [312] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [313] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [314] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [315] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [316] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [317] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [318] */
@@ -4622,17 +4651,17 @@
{
/* [319] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [320] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [321] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [322] */
@@ -4642,77 +4671,77 @@
{
/* [323] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [324] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [325] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [326] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [327] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [328] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [329] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [330] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [331] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [332] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [333] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [334] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [335] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [336] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [337] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [338] */
@@ -4722,37 +4751,37 @@
{
/* [339] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [340] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [341] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [342] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [343] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [344] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [345] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [346] */
@@ -4762,37 +4791,37 @@
{
/* [347] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [348] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [349] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [350] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [351] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [352] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [353] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [354] */
@@ -4802,17 +4831,17 @@
{
/* [355] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [356] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [357] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [358] */
@@ -4822,217 +4851,217 @@
{
/* [359] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [360] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [361] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [362] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [363] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [364] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [365] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [366] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [367] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[150],
},
{
/* [368] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [369] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [370] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [371] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [372] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [373] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [374] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [375] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [376] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [377] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [378] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [379] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [380] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [381] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [382] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [383] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [384] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [385] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [386] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [387] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [388] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [389] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [390] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [391] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [392] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [393] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [394] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [395] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[150],
},
{
/* [396] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [397] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [398] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [399] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [400] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [401] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [402] */
@@ -5042,17 +5071,17 @@
{
/* [403] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [404] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [405] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [406] */
@@ -5062,12 +5091,12 @@
{
/* [407] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[66],
+ /* matcher indices */ &kMatcherIndices[70],
},
{
/* [408] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [409] */
@@ -5077,17 +5106,17 @@
{
/* [410] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [411] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[78],
+ /* matcher indices */ &kMatcherIndices[82],
},
{
/* [412] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [413] */
@@ -5097,17 +5126,17 @@
{
/* [414] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[152],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [415] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[90],
+ /* matcher indices */ &kMatcherIndices[94],
},
{
/* [416] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [417] */
@@ -5117,37 +5146,37 @@
{
/* [418] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[154],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [419] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [420] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [421] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [422] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[61],
+ /* matcher indices */ &kMatcherIndices[65],
},
{
/* [423] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [424] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [425] */
@@ -5157,7 +5186,7 @@
{
/* [426] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [427] */
@@ -5202,62 +5231,62 @@
{
/* [435] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [436] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [437] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [438] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [439] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [440] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [441] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [442] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [443] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [444] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [445] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [446] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [447] */
@@ -5277,17 +5306,17 @@
{
/* [450] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [451] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [452] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [453] */
@@ -5297,42 +5326,42 @@
{
/* [454] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [455] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [456] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [457] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [458] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [459] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [460] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [461] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [462] */
@@ -5352,17 +5381,17 @@
{
/* [465] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [466] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [467] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [468] */
@@ -5382,27 +5411,27 @@
{
/* [471] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [472] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [473] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [474] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [475] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [476] */
@@ -5412,12 +5441,12 @@
{
/* [477] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [478] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [479] */
@@ -5437,37 +5466,37 @@
{
/* [482] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [483] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [484] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [485] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [486] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [487] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [488] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [489] */
@@ -5487,172 +5516,172 @@
{
/* [492] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [493] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [494] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [495] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [496] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [497] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [498] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [499] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [500] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [501] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[136],
+ /* matcher indices */ &kMatcherIndices[140],
},
{
/* [502] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [503] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [504] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [505] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [506] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [507] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [508] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [509] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [510] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[150],
},
{
/* [511] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [512] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [513] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [514] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [515] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [516] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [517] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [518] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [519] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [520] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [521] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [522] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[235],
+ /* matcher indices */ &kMatcherIndices[237],
},
{
/* [523] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [524] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [525] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[60],
+ /* matcher indices */ &kMatcherIndices[64],
},
{
/* [526] */
@@ -5662,42 +5691,42 @@
{
/* [527] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [528] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[63],
+ /* matcher indices */ &kMatcherIndices[67],
},
{
/* [529] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [530] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [531] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[69],
+ /* matcher indices */ &kMatcherIndices[73],
},
{
/* [532] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [533] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [534] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[72],
+ /* matcher indices */ &kMatcherIndices[76],
},
{
/* [535] */
@@ -5707,42 +5736,42 @@
{
/* [536] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[152],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [537] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[79],
},
{
/* [538] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [539] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[152],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [540] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [541] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [542] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[152],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [543] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[84],
+ /* matcher indices */ &kMatcherIndices[88],
},
{
/* [544] */
@@ -5752,42 +5781,42 @@
{
/* [545] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[154],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [546] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [547] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [548] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[154],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [549] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [550] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [551] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[154],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [552] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[112],
+ /* matcher indices */ &kMatcherIndices[116],
},
{
/* [553] */
@@ -5797,62 +5826,62 @@
{
/* [554] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [555] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[118],
},
{
/* [556] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [557] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [558] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[120],
+ /* matcher indices */ &kMatcherIndices[124],
},
{
/* [559] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [560] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [561] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[128],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [562] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [563] */
/* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [564] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [565] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [566] */
@@ -5862,12 +5891,12 @@
{
/* [567] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[234],
+ /* matcher indices */ &kMatcherIndices[236],
},
{
/* [568] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [569] */
@@ -5907,7 +5936,7 @@
{
/* [576] */
/* usage */ ParameterUsage::kXy,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [577] */
@@ -5927,7 +5956,7 @@
{
/* [580] */
/* usage */ ParameterUsage::kYz,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [581] */
@@ -5947,52 +5976,52 @@
{
/* [584] */
/* usage */ ParameterUsage::kZw,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [585] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [586] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [587] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [588] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [589] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [590] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [591] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [592] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [593] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [594] */
@@ -6007,22 +6036,22 @@
{
/* [596] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [597] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [598] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [599] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [600] */
@@ -6037,42 +6066,42 @@
{
/* [602] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [603] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [604] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [605] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [606] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [607] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [608] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [609] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [610] */
@@ -6087,12 +6116,12 @@
{
/* [612] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [613] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[42],
+ /* matcher indices */ &kMatcherIndices[46],
},
{
/* [614] */
@@ -6107,12 +6136,12 @@
{
/* [616] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [617] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [618] */
@@ -6127,12 +6156,12 @@
{
/* [620] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [621] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [622] */
@@ -6147,22 +6176,22 @@
{
/* [624] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [625] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [626] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [627] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [628] */
@@ -6177,17 +6206,17 @@
{
/* [630] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [631] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [632] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[112],
+ /* matcher indices */ &kMatcherIndices[116],
},
{
/* [633] */
@@ -6197,7 +6226,7 @@
{
/* [634] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[118],
},
{
/* [635] */
@@ -6207,7 +6236,7 @@
{
/* [636] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [637] */
@@ -6217,7 +6246,7 @@
{
/* [638] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[120],
+ /* matcher indices */ &kMatcherIndices[124],
},
{
/* [639] */
@@ -6227,7 +6256,7 @@
{
/* [640] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[124],
+ /* matcher indices */ &kMatcherIndices[128],
},
{
/* [641] */
@@ -6237,7 +6266,7 @@
{
/* [642] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [643] */
@@ -6247,7 +6276,7 @@
{
/* [644] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [645] */
@@ -6257,7 +6286,7 @@
{
/* [646] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [647] */
@@ -6267,7 +6296,7 @@
{
/* [648] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [649] */
@@ -6277,7 +6306,7 @@
{
/* [650] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [651] */
@@ -6287,12 +6316,12 @@
{
/* [652] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[235],
+ /* matcher indices */ &kMatcherIndices[237],
},
{
/* [653] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [654] */
@@ -6397,17 +6426,17 @@
{
/* [674] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [675] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [676] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [677] */
@@ -6422,7 +6451,7 @@
{
/* [679] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [680] */
@@ -6447,17 +6476,17 @@
{
/* [684] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [685] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [686] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [687] */
@@ -6472,7 +6501,7 @@
{
/* [689] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [690] */
@@ -6497,17 +6526,17 @@
{
/* [694] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [695] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [696] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [697] */
@@ -6522,7 +6551,7 @@
{
/* [699] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [700] */
@@ -6552,12 +6581,12 @@
{
/* [705] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [706] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[96],
+ /* matcher indices */ &kMatcherIndices[100],
},
{
/* [707] */
@@ -6567,7 +6596,7 @@
{
/* [708] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[22],
+ /* matcher indices */ &kMatcherIndices[26],
},
{
/* [709] */
@@ -6587,17 +6616,17 @@
{
/* [712] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [713] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [714] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [715] */
@@ -6612,7 +6641,7 @@
{
/* [717] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [718] */
@@ -6627,17 +6656,17 @@
{
/* [720] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [721] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [722] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [723] */
@@ -6652,7 +6681,7 @@
{
/* [725] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [726] */
@@ -6667,32 +6696,32 @@
{
/* [728] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [729] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [730] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [731] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [732] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [733] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [734] */
@@ -6707,32 +6736,32 @@
{
/* [736] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [737] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [738] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [739] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [740] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [741] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [742] */
@@ -6747,32 +6776,32 @@
{
/* [744] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [745] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [746] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [747] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [748] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [749] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [750] */
@@ -6787,12 +6816,12 @@
{
/* [752] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [753] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [754] */
@@ -6807,12 +6836,12 @@
{
/* [756] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [757] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [758] */
@@ -6827,12 +6856,12 @@
{
/* [760] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [761] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [762] */
@@ -6847,12 +6876,12 @@
{
/* [764] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [765] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [766] */
@@ -6867,12 +6896,12 @@
{
/* [768] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [769] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [770] */
@@ -6887,12 +6916,12 @@
{
/* [772] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [773] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [774] */
@@ -6902,17 +6931,17 @@
{
/* [775] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [776] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [777] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[103],
},
{
/* [778] */
@@ -6922,17 +6951,17 @@
{
/* [779] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [780] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [781] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[103],
},
{
/* [782] */
@@ -6947,7 +6976,7 @@
{
/* [784] */
/* usage */ ParameterUsage::kXy,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [785] */
@@ -6962,22 +6991,22 @@
{
/* [787] */
/* usage */ ParameterUsage::kYz,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [788] */
/* usage */ ParameterUsage::kXy,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [789] */
/* usage */ ParameterUsage::kZw,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [790] */
/* usage */ ParameterUsage::kXyz,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [791] */
@@ -6992,37 +7021,37 @@
{
/* [793] */
/* usage */ ParameterUsage::kZyw,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [794] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [795] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [796] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [797] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [798] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [799] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [800] */
@@ -7032,7 +7061,7 @@
{
/* [801] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [802] */
@@ -7042,7 +7071,7 @@
{
/* [803] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [804] */
@@ -7052,27 +7081,27 @@
{
/* [805] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [806] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [807] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [808] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [809] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [810] */
@@ -7087,7 +7116,7 @@
{
/* [812] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [813] */
@@ -7097,7 +7126,7 @@
{
/* [814] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [815] */
@@ -7107,7 +7136,7 @@
{
/* [816] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [817] */
@@ -7117,7 +7146,7 @@
{
/* [818] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [819] */
@@ -7127,7 +7156,7 @@
{
/* [820] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [821] */
@@ -7137,7 +7166,7 @@
{
/* [822] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [823] */
@@ -7147,7 +7176,7 @@
{
/* [824] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [825] */
@@ -7157,7 +7186,7 @@
{
/* [826] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [827] */
@@ -7167,7 +7196,7 @@
{
/* [828] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [829] */
@@ -7177,7 +7206,7 @@
{
/* [830] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [831] */
@@ -7187,7 +7216,7 @@
{
/* [832] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [833] */
@@ -7197,62 +7226,62 @@
{
/* [834] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [835] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [836] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [837] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [838] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [839] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [840] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [841] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [842] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [843] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [844] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [845] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [846] */
@@ -7262,7 +7291,7 @@
{
/* [847] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [848] */
@@ -7272,7 +7301,7 @@
{
/* [849] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [850] */
@@ -7282,7 +7311,7 @@
{
/* [851] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [852] */
@@ -7292,7 +7321,7 @@
{
/* [853] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [854] */
@@ -7302,7 +7331,7 @@
{
/* [855] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [856] */
@@ -7312,7 +7341,7 @@
{
/* [857] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [858] */
@@ -7322,37 +7351,37 @@
{
/* [859] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [860] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [861] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [862] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [863] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [864] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [865] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [866] */
@@ -7362,7 +7391,7 @@
{
/* [867] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [868] */
@@ -7372,7 +7401,7 @@
{
/* [869] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [870] */
@@ -7382,7 +7411,7 @@
{
/* [871] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [872] */
@@ -7392,7 +7421,7 @@
{
/* [873] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [874] */
@@ -7402,47 +7431,47 @@
{
/* [875] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [876] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [877] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [878] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [879] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [880] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [881] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [882] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [883] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [884] */
@@ -7452,7 +7481,7 @@
{
/* [885] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [886] */
@@ -7462,7 +7491,7 @@
{
/* [887] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [888] */
@@ -7472,7 +7501,7 @@
{
/* [889] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [890] */
@@ -7482,7 +7511,7 @@
{
/* [891] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [892] */
@@ -7492,7 +7521,7 @@
{
/* [893] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [894] */
@@ -7502,7 +7531,7 @@
{
/* [895] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [896] */
@@ -7512,7 +7541,7 @@
{
/* [897] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [898] */
@@ -7522,7 +7551,7 @@
{
/* [899] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [900] */
@@ -7532,7 +7561,7 @@
{
/* [901] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [902] */
@@ -7542,7 +7571,7 @@
{
/* [903] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [904] */
@@ -7557,42 +7586,42 @@
{
/* [906] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [907] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [908] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [909] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [910] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [911] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [912] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[112],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[22],
},
{
/* [913] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[116],
},
{
/* [914] */
@@ -7602,7 +7631,7 @@
{
/* [915] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[120],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [916] */
@@ -7612,77 +7641,77 @@
{
/* [917] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[128],
},
{
/* [918] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[128],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [919] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [920] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [921] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [922] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [923] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[234],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [924] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[48],
+ /* matcher indices */ &kMatcherIndices[236],
},
{
/* [925] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[51],
+ /* matcher indices */ &kMatcherIndices[52],
},
{
/* [926] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[54],
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [927] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[57],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [928] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[235],
+ /* matcher indices */ &kMatcherIndices[61],
},
{
/* [929] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[237],
},
{
/* [930] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [931] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [932] */
@@ -7692,17 +7721,17 @@
{
/* [933] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[54],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [934] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[112],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [935] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[116],
},
{
/* [936] */
@@ -7712,7 +7741,7 @@
{
/* [937] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[120],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [938] */
@@ -7722,237 +7751,237 @@
{
/* [939] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[128],
},
{
/* [940] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [941] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [942] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [943] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [944] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[128],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [945] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[234],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [946] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[236],
},
{
/* [947] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [948] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [949] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [950] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [951] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [952] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [953] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [954] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [955] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[9],
},
{
/* [956] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [957] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [958] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [959] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [960] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [961] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [962] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [963] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [964] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [965] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [966] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [967] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [968] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [969] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [970] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [971] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [972] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [973] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [974] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [975] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [976] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [977] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [978] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [979] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [980] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [981] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [982] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [983] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [984] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [985] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[176],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [986] */
@@ -8084,6 +8113,11 @@
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[228],
},
+ {
+ /* [1012] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[230],
+ },
};
constexpr TemplateTypeInfo kTemplateTypes[] = {
@@ -8340,8 +8374,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[912],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[913],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8353,7 +8387,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[632],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8364,8 +8398,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[913],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[914],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8377,7 +8411,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[634],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8388,8 +8422,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[914],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[915],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8401,7 +8435,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[636],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8412,8 +8446,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[915],
- /* return matcher indices */ &kMatcherIndices[122],
+ /* parameters */ &kParameters[916],
+ /* return matcher indices */ &kMatcherIndices[126],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8425,7 +8459,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[638],
- /* return matcher indices */ &kMatcherIndices[122],
+ /* return matcher indices */ &kMatcherIndices[126],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8436,8 +8470,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[916],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[917],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8449,7 +8483,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[640],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8460,8 +8494,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[917],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[918],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8473,7 +8507,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[642],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8484,8 +8518,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[918],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[919],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8496,8 +8530,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[919],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[920],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8509,7 +8543,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[644],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8520,8 +8554,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[920],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[921],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8533,7 +8567,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[646],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8544,8 +8578,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[921],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[922],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8557,7 +8591,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[648],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8568,8 +8602,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[922],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[923],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8581,7 +8615,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[650],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8592,8 +8626,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[923],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[924],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8604,8 +8638,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[924],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[925],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8616,8 +8650,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[925],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[926],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8628,8 +8662,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[926],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[927],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8640,8 +8674,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[927],
- /* return matcher indices */ &kMatcherIndices[122],
+ /* parameters */ &kParameters[928],
+ /* return matcher indices */ &kMatcherIndices[126],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8652,8 +8686,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[928],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[929],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8665,7 +8699,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[501],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8677,7 +8711,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[504],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8689,7 +8723,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[331],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8701,7 +8735,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[335],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8713,7 +8747,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[185],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8725,7 +8759,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[507],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8737,7 +8771,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[339],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8749,7 +8783,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[510],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8761,7 +8795,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[343],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8773,7 +8807,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[513],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8785,7 +8819,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[347],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8797,7 +8831,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[351],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8809,7 +8843,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[190],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8821,7 +8855,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[516],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8833,7 +8867,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[355],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8844,8 +8878,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[36],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -8856,8 +8890,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[978],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* parameters */ &kParameters[979],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -8868,8 +8902,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[979],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* parameters */ &kParameters[980],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecSplat,
},
@@ -8881,7 +8915,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[427],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitS,
},
@@ -8893,7 +8927,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[576],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8905,7 +8939,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[579],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8917,7 +8951,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[582],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8929,7 +8963,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[788],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8941,7 +8975,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[790],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8953,7 +8987,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[792],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8964,8 +8998,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[980],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* parameters */ &kParameters[981],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -8976,8 +9010,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[981],
- /* return matcher indices */ &kMatcherIndices[172],
+ /* parameters */ &kParameters[982],
+ /* return matcher indices */ &kMatcherIndices[174],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -8988,8 +9022,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[18],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[982],
- /* return matcher indices */ &kMatcherIndices[152],
+ /* parameters */ &kParameters[983],
+ /* return matcher indices */ &kMatcherIndices[154],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9000,8 +9034,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[20],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[983],
- /* return matcher indices */ &kMatcherIndices[154],
+ /* parameters */ &kParameters[984],
+ /* return matcher indices */ &kMatcherIndices[156],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9012,8 +9046,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[22],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[984],
- /* return matcher indices */ &kMatcherIndices[174],
+ /* parameters */ &kParameters[985],
+ /* return matcher indices */ &kMatcherIndices[176],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9025,7 +9059,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[387],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9037,7 +9071,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[260],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9049,7 +9083,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[265],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9061,7 +9095,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[126],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9073,7 +9107,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[391],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9085,7 +9119,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[270],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9097,7 +9131,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[395],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9109,7 +9143,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[275],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9121,7 +9155,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[399],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9133,7 +9167,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[280],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9145,7 +9179,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[285],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9157,7 +9191,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[132],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9169,7 +9203,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[403],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9181,7 +9215,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[290],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9193,7 +9227,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[303],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9205,7 +9239,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[150],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9217,7 +9251,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[155],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9229,7 +9263,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[72],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9241,7 +9275,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[307],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9253,7 +9287,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[160],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9265,7 +9299,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[495],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9277,7 +9311,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[311],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9289,7 +9323,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[315],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9301,7 +9335,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[165],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9313,7 +9347,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[498],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9325,7 +9359,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[319],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9480,8 +9514,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[36],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -9492,8 +9526,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[971],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* parameters */ &kParameters[972],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -9504,8 +9538,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[972],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* parameters */ &kParameters[973],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecSplat,
},
@@ -9517,7 +9551,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[573],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitS,
},
@@ -9529,7 +9563,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[784],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -9541,7 +9575,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[786],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -9552,8 +9586,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[973],
- /* return matcher indices */ &kMatcherIndices[134],
+ /* parameters */ &kParameters[974],
+ /* return matcher indices */ &kMatcherIndices[138],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9564,8 +9598,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[974],
- /* return matcher indices */ &kMatcherIndices[166],
+ /* parameters */ &kParameters[975],
+ /* return matcher indices */ &kMatcherIndices[168],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9576,8 +9610,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[18],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[975],
- /* return matcher indices */ &kMatcherIndices[144],
+ /* parameters */ &kParameters[976],
+ /* return matcher indices */ &kMatcherIndices[148],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9588,8 +9622,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[20],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[976],
- /* return matcher indices */ &kMatcherIndices[122],
+ /* parameters */ &kParameters[977],
+ /* return matcher indices */ &kMatcherIndices[126],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9600,8 +9634,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[22],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[977],
- /* return matcher indices */ &kMatcherIndices[168],
+ /* parameters */ &kParameters[978],
+ /* return matcher indices */ &kMatcherIndices[170],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9612,8 +9646,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[934],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[935],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9624,8 +9658,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[935],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[936],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9636,8 +9670,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[936],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[937],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9648,8 +9682,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[937],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[938],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9660,8 +9694,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[938],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[939],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9672,8 +9706,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[939],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[940],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9684,8 +9718,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[940],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[941],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9696,8 +9730,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[941],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[942],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9708,8 +9742,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[942],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[943],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9720,8 +9754,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[943],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[944],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9733,7 +9767,7 @@
/* template types */ &kTemplateTypes[4],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[552],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9745,7 +9779,7 @@
/* template types */ &kTemplateTypes[4],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[555],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9757,7 +9791,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[419],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9769,7 +9803,7 @@
/* template types */ &kTemplateTypes[4],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[558],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9781,7 +9815,7 @@
/* template types */ &kTemplateTypes[7],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[561],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9793,7 +9827,7 @@
/* template types */ &kTemplateTypes[5],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[564],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9805,7 +9839,7 @@
/* template types */ &kTemplateTypes[1],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[423],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9817,7 +9851,7 @@
/* template types */ &kTemplateTypes[8],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[567],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9829,7 +9863,7 @@
/* template types */ &kTemplateTypes[1],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[652],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9853,7 +9887,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[694],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiply,
},
@@ -9865,7 +9899,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[696],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiply,
},
@@ -9877,7 +9911,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[698],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiply,
},
@@ -9913,7 +9947,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[1],
/* parameters */ &kParameters[704],
- /* return matcher indices */ &kMatcherIndices[96],
+ /* return matcher indices */ &kMatcherIndices[100],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiplyMatVec,
},
@@ -9925,7 +9959,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[1],
/* parameters */ &kParameters[706],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiplyVecMat,
},
@@ -9937,7 +9971,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[0],
/* parameters */ &kParameters[708],
- /* return matcher indices */ &kMatcherIndices[26],
+ /* return matcher indices */ &kMatcherIndices[30],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiplyMatMat,
},
@@ -9948,8 +9982,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[36],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[150],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[23],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -9960,8 +9994,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[964],
- /* return matcher indices */ &kMatcherIndices[150],
+ /* parameters */ &kParameters[965],
+ /* return matcher indices */ &kMatcherIndices[23],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -9972,8 +10006,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[965],
- /* return matcher indices */ &kMatcherIndices[150],
+ /* parameters */ &kParameters[966],
+ /* return matcher indices */ &kMatcherIndices[23],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecSplat,
},
@@ -9985,7 +10019,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[782],
- /* return matcher indices */ &kMatcherIndices[150],
+ /* return matcher indices */ &kMatcherIndices[23],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitS,
},
@@ -9996,8 +10030,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[966],
- /* return matcher indices */ &kMatcherIndices[108],
+ /* parameters */ &kParameters[967],
+ /* return matcher indices */ &kMatcherIndices[112],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10008,8 +10042,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[967],
- /* return matcher indices */ &kMatcherIndices[162],
+ /* parameters */ &kParameters[968],
+ /* return matcher indices */ &kMatcherIndices[164],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10020,8 +10054,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[18],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[968],
- /* return matcher indices */ &kMatcherIndices[132],
+ /* parameters */ &kParameters[969],
+ /* return matcher indices */ &kMatcherIndices[136],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10032,8 +10066,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[20],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[969],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[970],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10044,8 +10078,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[22],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[970],
- /* return matcher indices */ &kMatcherIndices[164],
+ /* parameters */ &kParameters[971],
+ /* return matcher indices */ &kMatcherIndices[166],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10057,7 +10091,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[359],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10069,7 +10103,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[195],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10081,7 +10115,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[200],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10093,7 +10127,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[84],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10105,7 +10139,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[363],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10117,7 +10151,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[205],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10129,7 +10163,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[367],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10141,7 +10175,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[210],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10153,7 +10187,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[245],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10165,7 +10199,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[102],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10177,7 +10211,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[108],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10189,7 +10223,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[65],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10201,7 +10235,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[250],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10213,7 +10247,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[114],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10225,7 +10259,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[255],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10237,7 +10271,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[120],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10249,7 +10283,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[323],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10261,7 +10295,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[170],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10273,7 +10307,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[175],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10285,7 +10319,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[78],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10297,7 +10331,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[327],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10309,7 +10343,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[180],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10321,7 +10355,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[371],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10333,7 +10367,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[215],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10345,7 +10379,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[220],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10357,7 +10391,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[90],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10369,7 +10403,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[375],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10381,7 +10415,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[225],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10393,7 +10427,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[379],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10405,7 +10439,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[230],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10417,7 +10451,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[235],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10429,7 +10463,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[96],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10441,7 +10475,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[383],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10453,7 +10487,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[240],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10464,8 +10498,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[176],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[178],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10476,8 +10510,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[985],
- /* return matcher indices */ &kMatcherIndices[176],
+ /* parameters */ &kParameters[986],
+ /* return matcher indices */ &kMatcherIndices[178],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10489,7 +10523,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[431],
- /* return matcher indices */ &kMatcherIndices[176],
+ /* return matcher indices */ &kMatcherIndices[178],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10501,7 +10535,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[794],
- /* return matcher indices */ &kMatcherIndices[176],
+ /* return matcher indices */ &kMatcherIndices[178],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10512,8 +10546,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[986],
- /* return matcher indices */ &kMatcherIndices[180],
+ /* parameters */ &kParameters[987],
+ /* return matcher indices */ &kMatcherIndices[182],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10524,8 +10558,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[987],
- /* return matcher indices */ &kMatcherIndices[178],
+ /* parameters */ &kParameters[988],
+ /* return matcher indices */ &kMatcherIndices[180],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10536,8 +10570,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[182],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[184],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10548,8 +10582,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[988],
- /* return matcher indices */ &kMatcherIndices[182],
+ /* parameters */ &kParameters[989],
+ /* return matcher indices */ &kMatcherIndices[184],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10561,7 +10595,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[138],
- /* return matcher indices */ &kMatcherIndices[182],
+ /* return matcher indices */ &kMatcherIndices[184],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10573,7 +10607,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[796],
- /* return matcher indices */ &kMatcherIndices[182],
+ /* return matcher indices */ &kMatcherIndices[184],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10584,8 +10618,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[989],
- /* return matcher indices */ &kMatcherIndices[186],
+ /* parameters */ &kParameters[990],
+ /* return matcher indices */ &kMatcherIndices[188],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10596,8 +10630,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[990],
- /* return matcher indices */ &kMatcherIndices[184],
+ /* parameters */ &kParameters[991],
+ /* return matcher indices */ &kMatcherIndices[186],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10608,8 +10642,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[188],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[190],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10620,8 +10654,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[991],
- /* return matcher indices */ &kMatcherIndices[188],
+ /* parameters */ &kParameters[992],
+ /* return matcher indices */ &kMatcherIndices[190],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10633,7 +10667,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[49],
- /* return matcher indices */ &kMatcherIndices[188],
+ /* return matcher indices */ &kMatcherIndices[190],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10645,7 +10679,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[798],
- /* return matcher indices */ &kMatcherIndices[188],
+ /* return matcher indices */ &kMatcherIndices[190],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10656,8 +10690,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[992],
- /* return matcher indices */ &kMatcherIndices[192],
+ /* parameters */ &kParameters[993],
+ /* return matcher indices */ &kMatcherIndices[194],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10668,8 +10702,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[993],
- /* return matcher indices */ &kMatcherIndices[190],
+ /* parameters */ &kParameters[994],
+ /* return matcher indices */ &kMatcherIndices[192],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10680,8 +10714,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[194],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[196],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10692,8 +10726,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[994],
- /* return matcher indices */ &kMatcherIndices[194],
+ /* parameters */ &kParameters[995],
+ /* return matcher indices */ &kMatcherIndices[196],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10705,7 +10739,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[144],
- /* return matcher indices */ &kMatcherIndices[194],
+ /* return matcher indices */ &kMatcherIndices[196],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10717,7 +10751,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[585],
- /* return matcher indices */ &kMatcherIndices[194],
+ /* return matcher indices */ &kMatcherIndices[196],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10728,8 +10762,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[995],
- /* return matcher indices */ &kMatcherIndices[198],
+ /* parameters */ &kParameters[996],
+ /* return matcher indices */ &kMatcherIndices[200],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10740,8 +10774,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[996],
- /* return matcher indices */ &kMatcherIndices[196],
+ /* parameters */ &kParameters[997],
+ /* return matcher indices */ &kMatcherIndices[198],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10752,8 +10786,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[200],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[202],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10764,8 +10798,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[997],
- /* return matcher indices */ &kMatcherIndices[200],
+ /* parameters */ &kParameters[998],
+ /* return matcher indices */ &kMatcherIndices[202],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10777,7 +10811,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[40],
- /* return matcher indices */ &kMatcherIndices[200],
+ /* return matcher indices */ &kMatcherIndices[202],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10789,7 +10823,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[588],
- /* return matcher indices */ &kMatcherIndices[200],
+ /* return matcher indices */ &kMatcherIndices[202],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10800,8 +10834,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[998],
- /* return matcher indices */ &kMatcherIndices[204],
+ /* parameters */ &kParameters[999],
+ /* return matcher indices */ &kMatcherIndices[206],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10812,8 +10846,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[999],
- /* return matcher indices */ &kMatcherIndices[202],
+ /* parameters */ &kParameters[1000],
+ /* return matcher indices */ &kMatcherIndices[204],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10824,8 +10858,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[206],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[208],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10836,8 +10870,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1000],
- /* return matcher indices */ &kMatcherIndices[206],
+ /* parameters */ &kParameters[1001],
+ /* return matcher indices */ &kMatcherIndices[208],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10849,7 +10883,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[16],
- /* return matcher indices */ &kMatcherIndices[206],
+ /* return matcher indices */ &kMatcherIndices[208],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10861,7 +10895,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[591],
- /* return matcher indices */ &kMatcherIndices[206],
+ /* return matcher indices */ &kMatcherIndices[208],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10872,8 +10906,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1001],
- /* return matcher indices */ &kMatcherIndices[210],
+ /* parameters */ &kParameters[1002],
+ /* return matcher indices */ &kMatcherIndices[212],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10884,8 +10918,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1002],
- /* return matcher indices */ &kMatcherIndices[208],
+ /* parameters */ &kParameters[1003],
+ /* return matcher indices */ &kMatcherIndices[210],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10896,8 +10930,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[212],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[214],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10908,8 +10942,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1003],
- /* return matcher indices */ &kMatcherIndices[212],
+ /* parameters */ &kParameters[1004],
+ /* return matcher indices */ &kMatcherIndices[214],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10921,7 +10955,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[57],
- /* return matcher indices */ &kMatcherIndices[212],
+ /* return matcher indices */ &kMatcherIndices[214],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10933,7 +10967,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[435],
- /* return matcher indices */ &kMatcherIndices[212],
+ /* return matcher indices */ &kMatcherIndices[214],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10944,8 +10978,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1004],
- /* return matcher indices */ &kMatcherIndices[216],
+ /* parameters */ &kParameters[1005],
+ /* return matcher indices */ &kMatcherIndices[218],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10956,8 +10990,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1005],
- /* return matcher indices */ &kMatcherIndices[214],
+ /* parameters */ &kParameters[1006],
+ /* return matcher indices */ &kMatcherIndices[216],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10968,8 +11002,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[218],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[220],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10980,8 +11014,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1006],
- /* return matcher indices */ &kMatcherIndices[218],
+ /* parameters */ &kParameters[1007],
+ /* return matcher indices */ &kMatcherIndices[220],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10993,7 +11027,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[28],
- /* return matcher indices */ &kMatcherIndices[218],
+ /* return matcher indices */ &kMatcherIndices[220],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -11005,7 +11039,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[439],
- /* return matcher indices */ &kMatcherIndices[218],
+ /* return matcher indices */ &kMatcherIndices[220],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -11016,8 +11050,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1007],
- /* return matcher indices */ &kMatcherIndices[222],
+ /* parameters */ &kParameters[1008],
+ /* return matcher indices */ &kMatcherIndices[224],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11028,8 +11062,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1008],
- /* return matcher indices */ &kMatcherIndices[220],
+ /* parameters */ &kParameters[1009],
+ /* return matcher indices */ &kMatcherIndices[222],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11040,8 +11074,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[224],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[226],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -11052,8 +11086,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1009],
- /* return matcher indices */ &kMatcherIndices[224],
+ /* parameters */ &kParameters[1010],
+ /* return matcher indices */ &kMatcherIndices[226],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -11065,7 +11099,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[0],
- /* return matcher indices */ &kMatcherIndices[224],
+ /* return matcher indices */ &kMatcherIndices[226],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -11077,7 +11111,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[443],
- /* return matcher indices */ &kMatcherIndices[224],
+ /* return matcher indices */ &kMatcherIndices[226],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -11088,8 +11122,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1010],
- /* return matcher indices */ &kMatcherIndices[228],
+ /* parameters */ &kParameters[1011],
+ /* return matcher indices */ &kMatcherIndices[230],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11100,8 +11134,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1011],
- /* return matcher indices */ &kMatcherIndices[226],
+ /* parameters */ &kParameters[1012],
+ /* return matcher indices */ &kMatcherIndices[228],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11112,8 +11146,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[929],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[930],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11124,8 +11158,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[930],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[931],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11136,8 +11170,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[931],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[932],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11148,8 +11182,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[932],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[933],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11160,8 +11194,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[933],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[934],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11185,7 +11219,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[674],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpPlus,
},
@@ -11197,7 +11231,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[676],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpPlus,
},
@@ -11209,7 +11243,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[678],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpPlus,
},
@@ -11245,7 +11279,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[684],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMinus,
},
@@ -11257,7 +11291,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[686],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMinus,
},
@@ -11269,7 +11303,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[688],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMinus,
},
@@ -11305,7 +11339,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[712],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpDivide,
},
@@ -11317,7 +11351,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[714],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpDivide,
},
@@ -11329,7 +11363,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[716],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpDivide,
},
@@ -11353,7 +11387,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[720],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpModulo,
},
@@ -11365,7 +11399,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[722],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpModulo,
},
@@ -11377,7 +11411,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[724],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpModulo,
},
@@ -11389,7 +11423,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[730],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpAnd,
},
@@ -11401,7 +11435,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[732],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpAnd,
},
@@ -11425,7 +11459,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[736],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpAnd,
},
@@ -11437,7 +11471,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[738],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpOr,
},
@@ -11449,7 +11483,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[740],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpOr,
},
@@ -11473,7 +11507,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[744],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpOr,
},
@@ -11497,7 +11531,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[471],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::mix,
},
@@ -11509,7 +11543,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[474],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::mix,
},
@@ -11533,7 +11567,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[483],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::select_bool,
},
@@ -11545,7 +11579,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[486],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::select_boolvec,
},
@@ -11556,7 +11590,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
+ /* parameters */ &kParameters[1013],
/* return matcher indices */ &kMatcherIndices[9],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
@@ -11568,7 +11602,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[954],
+ /* parameters */ &kParameters[955],
/* return matcher indices */ &kMatcherIndices[9],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
@@ -11580,7 +11614,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[31],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[955],
+ /* parameters */ &kParameters[956],
/* return matcher indices */ &kMatcherIndices[9],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
@@ -11592,8 +11626,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -11604,8 +11638,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[956],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[957],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -11616,8 +11650,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[32],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[957],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[958],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11628,8 +11662,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -11640,8 +11674,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[958],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[959],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -11652,8 +11686,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[33],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[959],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[960],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11664,7 +11698,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
+ /* parameters */ &kParameters[1013],
/* return matcher indices */ &kMatcherIndices[1],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
@@ -11676,7 +11710,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[960],
+ /* parameters */ &kParameters[961],
/* return matcher indices */ &kMatcherIndices[1],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
@@ -11688,7 +11722,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[34],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[961],
+ /* parameters */ &kParameters[962],
/* return matcher indices */ &kMatcherIndices[1],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
@@ -11700,8 +11734,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -11712,8 +11746,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[962],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[963],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -11724,8 +11758,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[35],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[963],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[964],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11749,7 +11783,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[801],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::abs,
},
@@ -11773,7 +11807,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[803],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::acos,
},
@@ -11797,7 +11831,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[805],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::acosh,
},
@@ -11809,7 +11843,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[806],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::all,
},
@@ -11821,7 +11855,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[807],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::all,
},
@@ -11833,7 +11867,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[808],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::any,
},
@@ -11845,7 +11879,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[809],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::any,
},
@@ -11869,7 +11903,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[812],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::asin,
},
@@ -11893,7 +11927,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[814],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::asinh,
},
@@ -11917,7 +11951,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[816],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::atan,
},
@@ -11941,7 +11975,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[596],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::atan2,
},
@@ -11965,7 +11999,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[818],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::atanh,
},
@@ -11989,7 +12023,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[820],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::ceil,
},
@@ -12013,7 +12047,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[450],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::clamp,
},
@@ -12037,7 +12071,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[822],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::cos,
},
@@ -12061,7 +12095,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[824],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::cosh,
},
@@ -12085,7 +12119,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[826],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::countLeadingZeros,
},
@@ -12109,7 +12143,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[828],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::countOneBits,
},
@@ -12133,7 +12167,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[830],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::countTrailingZeros,
},
@@ -12157,7 +12191,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[832],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::degrees,
},
@@ -12193,7 +12227,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[834],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12205,7 +12239,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[835],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12217,7 +12251,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[836],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12229,7 +12263,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[837],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12241,7 +12275,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[838],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12253,7 +12287,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[839],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12265,7 +12299,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[840],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12277,7 +12311,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[841],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12289,7 +12323,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[842],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12301,7 +12335,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[843],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12313,7 +12347,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[844],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12325,7 +12359,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[845],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12349,7 +12383,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[847],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::exp,
},
@@ -12373,7 +12407,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[849],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::exp2,
},
@@ -12397,7 +12431,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[456],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::extractBits,
},
@@ -12421,7 +12455,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[851],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::firstLeadingBit,
},
@@ -12445,7 +12479,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[853],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::firstTrailingBit,
},
@@ -12469,7 +12503,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[855],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::floor,
},
@@ -12493,7 +12527,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[465],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::fma,
},
@@ -12517,7 +12551,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[857],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::fract,
},
@@ -12529,7 +12563,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[858],
- /* return matcher indices */ &kMatcherIndices[104],
+ /* return matcher indices */ &kMatcherIndices[108],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::frexp,
},
@@ -12541,7 +12575,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[859],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* return matcher indices */ &kMatcherIndices[43],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::frexp,
},
@@ -12553,7 +12587,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[860],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12565,7 +12599,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[861],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12577,7 +12611,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[862],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12589,7 +12623,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[863],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12601,7 +12635,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[864],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12613,7 +12647,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[865],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12637,7 +12671,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[299],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::insertBits,
},
@@ -12661,7 +12695,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[867],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::inverseSqrt,
},
@@ -12685,7 +12719,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[612],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::ldexp,
},
@@ -12733,7 +12767,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[871],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::log,
},
@@ -12757,7 +12791,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[873],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::log2,
},
@@ -12781,7 +12815,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[616],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::max,
},
@@ -12805,7 +12839,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[620],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::min,
},
@@ -12817,7 +12851,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[874],
- /* return matcher indices */ &kMatcherIndices[106],
+ /* return matcher indices */ &kMatcherIndices[110],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::modf,
},
@@ -12829,7 +12863,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[875],
- /* return matcher indices */ &kMatcherIndices[45],
+ /* return matcher indices */ &kMatcherIndices[49],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::modf,
},
@@ -12853,7 +12887,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[624],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pow,
},
@@ -12865,7 +12899,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[882],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::quantizeToF16,
},
@@ -12877,7 +12911,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[883],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::quantizeToF16,
},
@@ -12901,7 +12935,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[885],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::radians,
},
@@ -12925,7 +12959,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[887],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::reverseBits,
},
@@ -12949,7 +12983,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[889],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::round,
},
@@ -12973,7 +13007,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[891],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::saturate,
},
@@ -12997,7 +13031,7 @@
/* template types */ &kTemplateTypes[28],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[893],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::sign,
},
@@ -13021,7 +13055,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[895],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::sin,
},
@@ -13045,7 +13079,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[897],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::sinh,
},
@@ -13069,7 +13103,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[492],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::smoothstep,
},
@@ -13093,7 +13127,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[899],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::sqrt,
},
@@ -13117,7 +13151,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[630],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::step,
},
@@ -13141,7 +13175,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[901],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::tan,
},
@@ -13165,7 +13199,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[903],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::tanh,
},
@@ -13189,7 +13223,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[906],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::trunc,
},
@@ -13200,8 +13234,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[944],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[945],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13212,8 +13246,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[945],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[946],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13225,7 +13259,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[519],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13237,7 +13271,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[522],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13248,8 +13282,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[948],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[949],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpNot,
},
@@ -13260,8 +13294,8 @@
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
- /* parameters */ &kParameters[949],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* parameters */ &kParameters[950],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpNot,
},
@@ -13272,7 +13306,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[950],
+ /* parameters */ &kParameters[951],
/* return matcher indices */ &kMatcherIndices[3],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpComplement,
@@ -13284,8 +13318,8 @@
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
- /* parameters */ &kParameters[951],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* parameters */ &kParameters[952],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpComplement,
},
@@ -13296,7 +13330,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[28],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[952],
+ /* parameters */ &kParameters[953],
/* return matcher indices */ &kMatcherIndices[3],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpUnaryMinus,
@@ -13308,8 +13342,8 @@
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[28],
/* template numbers */ &kTemplateNumbers[4],
- /* parameters */ &kParameters[953],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* parameters */ &kParameters[954],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpUnaryMinus,
},
@@ -13333,7 +13367,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[728],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpXor,
},
@@ -13345,7 +13379,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[750],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpEqual,
},
@@ -13357,7 +13391,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[752],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpEqual,
},
@@ -13369,7 +13403,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[754],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpNotEqual,
},
@@ -13381,7 +13415,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[756],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpNotEqual,
},
@@ -13393,7 +13427,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[758],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLessThan,
},
@@ -13405,7 +13439,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[760],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLessThan,
},
@@ -13417,7 +13451,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[762],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpGreaterThan,
},
@@ -13429,7 +13463,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[764],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpGreaterThan,
},
@@ -13441,7 +13475,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[766],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLessThanEqual,
},
@@ -13453,7 +13487,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[768],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLessThanEqual,
},
@@ -13465,7 +13499,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[770],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpGreaterThanEqual,
},
@@ -13477,7 +13511,7 @@
/* template types */ &kTemplateTypes[30],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[772],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpGreaterThanEqual,
},
@@ -13501,7 +13535,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[776],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpShiftLeft,
},
@@ -13525,7 +13559,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[780],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpShiftRight,
},
@@ -13537,7 +13571,7 @@
/* template types */ &kTemplateTypes[25],
/* template numbers */ &kTemplateNumbers[8],
/* parameters */ &kParameters[810],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13549,7 +13583,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[598],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::cross,
},
@@ -13597,7 +13631,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[608],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13609,7 +13643,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[459],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::faceForward,
},
@@ -13621,7 +13655,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[876],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::normalize,
},
@@ -13633,7 +13667,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[877],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack2x16float,
},
@@ -13645,7 +13679,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[878],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack2x16snorm,
},
@@ -13657,7 +13691,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[879],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack2x16unorm,
},
@@ -13669,7 +13703,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[880],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack4x8snorm,
},
@@ -13681,7 +13715,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[881],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack4x8unorm,
},
@@ -13693,7 +13727,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[626],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::reflect,
},
@@ -13705,7 +13739,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[477],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::refract,
},
@@ -13716,7 +13750,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
+ /* parameters */ &kParameters[1013],
/* return matcher indices */ nullptr,
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
@@ -13741,7 +13775,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[907],
- /* return matcher indices */ &kMatcherIndices[108],
+ /* return matcher indices */ &kMatcherIndices[112],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack2x16float,
},
@@ -13753,7 +13787,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[908],
- /* return matcher indices */ &kMatcherIndices[108],
+ /* return matcher indices */ &kMatcherIndices[112],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack2x16snorm,
},
@@ -13765,7 +13799,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[909],
- /* return matcher indices */ &kMatcherIndices[108],
+ /* return matcher indices */ &kMatcherIndices[112],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack2x16unorm,
},
@@ -13777,7 +13811,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[910],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack4x8snorm,
},
@@ -13789,7 +13823,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[911],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack4x8unorm,
},
@@ -13800,7 +13834,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
+ /* parameters */ &kParameters[1013],
/* return matcher indices */ nullptr,
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
@@ -13809,16 +13843,28 @@
/* [456] */
/* num parameters */ 1,
/* num template types */ 1,
+ /* num template numbers */ 0,
+ /* template types */ &kTemplateTypes[25],
+ /* template numbers */ &kTemplateNumbers[10],
+ /* parameters */ &kParameters[912],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* const eval */ nullptr,
+ },
+ {
+ /* [457] */
+ /* num parameters */ 1,
+ /* num template types */ 1,
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[9],
- /* parameters */ &kParameters[946],
+ /* parameters */ &kParameters[947],
/* return matcher indices */ &kMatcherIndices[3],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
{
- /* [457] */
+ /* [458] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13830,7 +13876,7 @@
/* const eval */ nullptr,
},
{
- /* [458] */
+ /* [459] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13842,7 +13888,7 @@
/* const eval */ nullptr,
},
{
- /* [459] */
+ /* [460] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13854,7 +13900,7 @@
/* const eval */ nullptr,
},
{
- /* [460] */
+ /* [461] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13866,7 +13912,7 @@
/* const eval */ nullptr,
},
{
- /* [461] */
+ /* [462] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13878,7 +13924,7 @@
/* const eval */ nullptr,
},
{
- /* [462] */
+ /* [463] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13890,7 +13936,7 @@
/* const eval */ nullptr,
},
{
- /* [463] */
+ /* [464] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13902,7 +13948,7 @@
/* const eval */ nullptr,
},
{
- /* [464] */
+ /* [465] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13914,7 +13960,7 @@
/* const eval */ nullptr,
},
{
- /* [465] */
+ /* [466] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13926,50 +13972,50 @@
/* const eval */ nullptr,
},
{
- /* [466] */
+ /* [467] */
/* num parameters */ 3,
/* num template types */ 1,
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[9],
/* parameters */ &kParameters[570],
- /* return matcher indices */ &kMatcherIndices[160],
+ /* return matcher indices */ &kMatcherIndices[162],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
{
- /* [467] */
+ /* [468] */
/* num parameters */ 1,
/* num template types */ 1,
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[25],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[947],
+ /* parameters */ &kParameters[948],
/* return matcher indices */ &kMatcherIndices[3],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
{
- /* [468] */
- /* num parameters */ 2,
- /* num template types */ 0,
- /* num template numbers */ 0,
- /* template types */ &kTemplateTypes[38],
- /* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[746],
- /* return matcher indices */ &kMatcherIndices[35],
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* const eval */ &ConstEval::OpLogicalAnd,
- },
- {
/* [469] */
/* num parameters */ 2,
/* num template types */ 0,
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
+ /* parameters */ &kParameters[746],
+ /* return matcher indices */ &kMatcherIndices[39],
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* const eval */ &ConstEval::OpLogicalAnd,
+ },
+ {
+ /* [470] */
+ /* num parameters */ 2,
+ /* num template types */ 0,
+ /* num template numbers */ 0,
+ /* template types */ &kTemplateTypes[38],
+ /* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[748],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLogicalOr,
},
@@ -14559,6 +14605,12 @@
},
{
/* [86] */
+ /* fn workgroupUniformLoad<T>(ptr<workgroup, T, read_write>) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[456],
+ },
+ {
+ /* [87] */
/* fn textureDimensions<T : fiu32>(texture: texture_1d<T>) -> u32 */
/* fn textureDimensions<T : fiu32, L : iu32>(texture: texture_1d<T>, level: L) -> u32 */
/* fn textureDimensions<T : fiu32>(texture: texture_2d<T>) -> vec2<u32> */
@@ -14590,7 +14642,7 @@
/* overloads */ &kOverloads[0],
},
{
- /* [87] */
+ /* [88] */
/* fn textureGather<T : fiu32, C : iu32>(@const component: C, texture: texture_2d<T>, sampler: sampler, coords: vec2<f32>) -> vec4<T> */
/* fn textureGather<T : fiu32, C : iu32>(@const component: C, texture: texture_2d<T>, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> vec4<T> */
/* fn textureGather<T : fiu32, C : iu32, A : iu32>(@const component: C, texture: texture_2d_array<T>, sampler: sampler, coords: vec2<f32>, array_index: A) -> vec4<T> */
@@ -14607,7 +14659,7 @@
/* overloads */ &kOverloads[71],
},
{
- /* [88] */
+ /* [89] */
/* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> vec4<f32> */
/* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> vec4<f32> */
/* fn textureGatherCompare<A : iu32>(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> vec4<f32> */
@@ -14618,7 +14670,7 @@
/* overloads */ &kOverloads[159],
},
{
- /* [89] */
+ /* [90] */
/* fn textureNumLayers<T : fiu32>(texture: texture_2d_array<T>) -> u32 */
/* fn textureNumLayers<T : fiu32>(texture: texture_cube_array<T>) -> u32 */
/* fn textureNumLayers(texture: texture_depth_2d_array) -> u32 */
@@ -14628,7 +14680,7 @@
/* overloads */ &kOverloads[231],
},
{
- /* [90] */
+ /* [91] */
/* fn textureNumLevels<T : fiu32>(texture: texture_1d<T>) -> u32 */
/* fn textureNumLevels<T : fiu32>(texture: texture_2d<T>) -> u32 */
/* fn textureNumLevels<T : fiu32>(texture: texture_2d_array<T>) -> u32 */
@@ -14643,14 +14695,14 @@
/* overloads */ &kOverloads[106],
},
{
- /* [91] */
+ /* [92] */
/* fn textureNumSamples<T : fiu32>(texture: texture_multisampled_2d<T>) -> u32 */
/* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */
/* num overloads */ 2,
/* overloads */ &kOverloads[405],
},
{
- /* [92] */
+ /* [93] */
/* fn textureSample(texture: texture_1d<f32>, sampler: sampler, coords: f32) -> vec4<f32> */
/* fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
@@ -14670,7 +14722,7 @@
/* overloads */ &kOverloads[27],
},
{
- /* [93] */
+ /* [94] */
/* fn textureSampleBias(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, bias: f32) -> vec4<f32> */
/* fn textureSampleBias(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, bias: f32, @const offset: vec2<i32>) -> vec4<f32> */
/* fn textureSampleBias<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, bias: f32) -> vec4<f32> */
@@ -14683,7 +14735,7 @@
/* overloads */ &kOverloads[143],
},
{
- /* [94] */
+ /* [95] */
/* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
/* fn textureSampleCompare<A : iu32>(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> f32 */
@@ -14694,7 +14746,7 @@
/* overloads */ &kOverloads[165],
},
{
- /* [95] */
+ /* [96] */
/* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
/* fn textureSampleCompareLevel<A : iu32>(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> f32 */
@@ -14705,7 +14757,7 @@
/* overloads */ &kOverloads[171],
},
{
- /* [96] */
+ /* [97] */
/* fn textureSampleGrad(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
/* fn textureSampleGrad(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
/* fn textureSampleGrad<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
@@ -14718,7 +14770,7 @@
/* overloads */ &kOverloads[151],
},
{
- /* [97] */
+ /* [98] */
/* fn textureSampleLevel(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, level: f32) -> vec4<f32> */
/* fn textureSampleLevel(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, level: f32, @const offset: vec2<i32>) -> vec4<f32> */
/* fn textureSampleLevel<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, level: f32) -> vec4<f32> */
@@ -14737,14 +14789,14 @@
/* overloads */ &kOverloads[57],
},
{
- /* [98] */
+ /* [99] */
/* fn textureSampleBaseClampToEdge(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* fn textureSampleBaseClampToEdge(texture: texture_external, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[407],
},
{
- /* [99] */
+ /* [100] */
/* fn textureStore<C : iu32>(texture: texture_storage_1d<f32_texel_format, write>, coords: C, value: vec4<f32>) */
/* fn textureStore<C : iu32>(texture: texture_storage_2d<f32_texel_format, write>, coords: vec2<C>, value: vec4<f32>) */
/* fn textureStore<C : iu32, A : iu32>(texture: texture_storage_2d_array<f32_texel_format, write>, coords: vec2<C>, array_index: A, value: vec4<f32>) */
@@ -14761,7 +14813,7 @@
/* overloads */ &kOverloads[83],
},
{
- /* [100] */
+ /* [101] */
/* fn textureLoad<T : fiu32, C : iu32, L : iu32>(texture: texture_1d<T>, coords: C, level: L) -> vec4<T> */
/* fn textureLoad<T : fiu32, C : iu32, L : iu32>(texture: texture_2d<T>, coords: vec2<C>, level: L) -> vec4<T> */
/* fn textureLoad<T : fiu32, C : iu32, A : iu32, L : iu32>(texture: texture_2d_array<T>, coords: vec2<C>, array_index: A, level: L) -> vec4<T> */
@@ -14775,77 +14827,77 @@
/* overloads */ &kOverloads[116],
},
{
- /* [101] */
- /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[456],
- },
- {
/* [102] */
- /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
+ /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[457],
},
{
/* [103] */
- /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
/* overloads */ &kOverloads[458],
},
{
/* [104] */
- /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[459],
},
{
/* [105] */
- /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[460],
},
{
/* [106] */
- /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[461],
},
{
/* [107] */
- /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[462],
},
{
/* [108] */
- /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[463],
},
{
/* [109] */
- /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[464],
},
{
/* [110] */
- /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[465],
},
{
/* [111] */
- /* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> __atomic_compare_exchange_result<T> */
+ /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[466],
},
{
/* [112] */
- /* fn _tint_materialize<T>(T) -> T */
+ /* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> __atomic_compare_exchange_result<T> */
/* num overloads */ 1,
/* overloads */ &kOverloads[467],
},
+ {
+ /* [113] */
+ /* fn _tint_materialize<T>(T) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[468],
+ },
};
constexpr IntrinsicInfo kUnaryOperators[] = {
@@ -14957,13 +15009,13 @@
/* [8] */
/* op &&(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ &kOverloads[468],
+ /* overloads */ &kOverloads[469],
},
{
/* [9] */
/* op ||(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ &kOverloads[469],
+ /* overloads */ &kOverloads[470],
},
{
/* [10] */
diff --git a/src/tint/resolver/resolver.cc b/src/tint/resolver/resolver.cc
index cecac6e..19b870e 100644
--- a/src/tint/resolver/resolver.cc
+++ b/src/tint/resolver/resolver.cc
@@ -2386,6 +2386,12 @@
CollectTextureSamplerPairs(builtin.sem, call->Arguments());
}
+ if (builtin_type == sem::BuiltinType::kWorkgroupUniformLoad) {
+ if (!validator_.WorkgroupUniformLoad(call)) {
+ return nullptr;
+ }
+ }
+
if (!validator_.BuiltinCall(call)) {
return nullptr;
}
diff --git a/src/tint/resolver/side_effects_test.cc b/src/tint/resolver/side_effects_test.cc
index 53df777..8265586 100644
--- a/src/tint/resolver/side_effects_test.cc
+++ b/src/tint/resolver/side_effects_test.cc
@@ -176,6 +176,7 @@
GlobalVar("arr", ty.array<f32, 10>(), ast::AddressSpace::kPrivate);
GlobalVar("storage_arr", ty.array<f32>(), ast::AddressSpace::kStorage, Group(0_a),
Binding(AInt(next_binding++)));
+ GlobalVar("workgroup_arr", ty.array<f32, 4>(), ast::AddressSpace::kWorkgroup);
GlobalVar("a", ty.atomic(ty.i32()), ast::AddressSpace::kStorage, ast::Access::kReadWrite,
Group(0_a), Binding(AInt(next_binding++)));
if (c.pipeline_stage != ast::PipelineStage::kCompute) {
@@ -199,6 +200,9 @@
utils::Vector<const ast::Statement*, 4> stmts;
stmts.Push(Decl(Let("pstorage_arr", AddressOf("storage_arr"))));
+ if (c.pipeline_stage == ast::PipelineStage::kCompute) {
+ stmts.Push(Decl(Let("pworkgroup_arr", AddressOf("workgroup_arr"))));
+ }
stmts.Push(Decl(Let("pa", AddressOf("a"))));
utils::Vector<const ast::Expression*, 5> args;
@@ -339,6 +343,10 @@
C("atomicSub", utils::Vector{"pa", "i"}, true), //
C("atomicXor", utils::Vector{"pa", "i"}, true), //
C("textureStore", utils::Vector{"tstorage2d", "vi2", "vf4"}, true), //
+ C("workgroupUniformLoad",
+ utils::Vector{"pworkgroup_arr"},
+ true,
+ ast::PipelineStage::kCompute), //
// Unimplemented builtins
// C("quantizeToF16", utils::Vector{"f"}, false), //
diff --git a/src/tint/resolver/uniformity.cc b/src/tint/resolver/uniformity.cc
index 5f148f0..762aba5 100644
--- a/src/tint/resolver/uniformity.cc
+++ b/src/tint/resolver/uniformity.cc
@@ -23,6 +23,7 @@
#include "src/tint/resolver/dependency_graph.h"
#include "src/tint/scope_stack.h"
#include "src/tint/sem/block_statement.h"
+#include "src/tint/sem/builtin.h"
#include "src/tint/sem/for_loop_statement.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/if_statement.h"
@@ -1454,6 +1455,8 @@
// some texture sampling builtins, and atomics.
if (builtin->IsBarrier()) {
callsite_tag = CallSiteRequiredToBeUniform;
+ } else if (builtin->Type() == sem::BuiltinType::kWorkgroupUniformLoad) {
+ callsite_tag = CallSiteRequiredToBeUniform;
} else if (builtin->IsDerivative() ||
builtin->Type() == sem::BuiltinType::kTextureSample ||
builtin->Type() == sem::BuiltinType::kTextureSampleBias ||
@@ -1489,9 +1492,6 @@
TINT_ICE(Resolver, diagnostics_) << "unhandled function call target: " << name;
});
- if (callsite_tag == CallSiteRequiredToBeUniform) {
- current_function_->required_to_be_uniform->AddEdge(call_node);
- }
cf_after->AddEdge(call_node);
if (function_tag == ReturnValueMayBeNonUniform) {
@@ -1562,12 +1562,25 @@
current_function_->variables.Set(root_ident, ptr_result);
}
} else {
- // All builtin function parameters are RequiredToBeUniformForReturnValue, as are
- // parameters for type initializers and type conversions.
- result->AddEdge(args[i]);
+ auto* builtin = sem->Target()->As<sem::Builtin>();
+ if (builtin && builtin->Type() == sem::BuiltinType::kWorkgroupUniformLoad) {
+ // The workgroupUniformLoad builtin requires its parameter to be uniform.
+ current_function_->required_to_be_uniform->AddEdge(args[i]);
+ } else {
+ // All other builtin function parameters are RequiredToBeUniformForReturnValue,
+ // as are parameters for type initializers and type conversions.
+ result->AddEdge(args[i]);
+ }
}
}
+ // Add the callsite requirement last.
+ // We traverse edges in reverse order, so this makes the callsite requirement take highest
+ // priority when reporting violations.
+ if (callsite_tag == CallSiteRequiredToBeUniform) {
+ current_function_->required_to_be_uniform->AddEdge(call_node);
+ }
+
return {cf_after, result};
}
@@ -1799,9 +1812,13 @@
if (cause->type == Node::kFunctionCallArgumentValue) {
// The requirement was on a function parameter.
- auto param_name = NameFor(target->Parameters()[cause->arg_index]->Declaration());
+ auto* ast_param = target->Parameters()[cause->arg_index]->Declaration();
+ std::string param_name;
+ if (ast_param) {
+ param_name = " '" + NameFor(ast_param) + "'";
+ }
report(call->args[cause->arg_index]->source,
- "parameter '" + param_name + "' of '" + func_name + "' must be uniform");
+ "parameter" + param_name + " of '" + func_name + "' must be uniform");
// If this is a call to a user-defined function, add a note to show the reason that the
// parameter is required to be uniform.
diff --git a/src/tint/resolver/uniformity_test.cc b/src/tint/resolver/uniformity_test.cc
index 3afa094..51e607a 100644
--- a/src/tint/resolver/uniformity_test.cc
+++ b/src/tint/resolver/uniformity_test.cc
@@ -116,6 +116,7 @@
kUserRequiredToBeUniform,
kWorkgroupBarrier,
kStorageBarrier,
+ kWorkgroupUniformLoad,
kTextureSample,
kTextureSampleBias,
kTextureSampleCompare,
@@ -184,6 +185,8 @@
return "workgroupBarrier()";
case kStorageBarrier:
return "storageBarrier()";
+ case kWorkgroupUniformLoad:
+ return "workgroupUniformLoad(&w)";
case kTextureSample:
return "textureSample(t, s, vec2(0.5, 0.5))";
case kTextureSampleBias:
@@ -257,6 +260,7 @@
CASE(kUserRequiredToBeUniform);
CASE(kWorkgroupBarrier);
CASE(kStorageBarrier);
+ CASE(kWorkgroupUniformLoad);
CASE(kTextureSample);
CASE(kTextureSampleBias);
CASE(kTextureSampleCompare);
@@ -7591,6 +7595,106 @@
)");
}
+TEST_F(UniformityAnalysisTest, WorkgroupUniformLoad) {
+ std::string src = R"(
+const wgsize = 4;
+var<workgroup> data : array<u32, wgsize>;
+
+@compute @workgroup_size(wgsize)
+fn main(@builtin(local_invocation_index) idx : u32) {
+ data[idx] = idx + 1;
+ if (workgroupUniformLoad(&data[0]) > 0) {
+ workgroupBarrier();
+ }
+}
+)";
+
+ RunTest(src, true);
+}
+
+TEST_F(UniformityAnalysisTest, WorkgroupUniformLoad_ViaPtrArg) {
+ std::string src = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+const wgsize = 4;
+var<workgroup> data : array<u32, wgsize>;
+
+fn foo(p : ptr<workgroup, u32>) -> u32 {
+ return workgroupUniformLoad(p);
+}
+
+@compute @workgroup_size(wgsize)
+fn main(@builtin(local_invocation_index) idx : u32) {
+ data[idx] = idx + 1;
+ if (foo(&data[0]) > 0) {
+ workgroupBarrier();
+ }
+}
+)";
+
+ RunTest(src, true);
+}
+
+TEST_F(UniformityAnalysisTest, WorkgroupUniformLoad_NonUniformPtr) {
+ std::string src = R"(
+const wgsize = 4;
+var<workgroup> data : array<u32, wgsize>;
+
+@compute @workgroup_size(wgsize)
+fn main(@builtin(local_invocation_index) idx : u32) {
+ data[idx] = idx + 1;
+ if (workgroupUniformLoad(&data[idx]) > 0) {
+ workgroupBarrier();
+ }
+}
+)";
+
+ RunTest(src, false);
+ EXPECT_EQ(error_, R"(test:8:28 warning: parameter of 'workgroupUniformLoad' must be uniform
+ if (workgroupUniformLoad(&data[idx]) > 0) {
+ ^
+
+test:8:34 note: reading from builtin 'idx' may result in a non-uniform value
+ if (workgroupUniformLoad(&data[idx]) > 0) {
+ ^^^
+)");
+}
+
+TEST_F(UniformityAnalysisTest, WorkgroupUniformLoad_NonUniformPtr_ViaPtrArg) {
+ std::string src = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+const wgsize = 4;
+var<workgroup> data : array<u32, wgsize>;
+
+fn foo(p : ptr<workgroup, u32>) -> u32 {
+ return workgroupUniformLoad(p);
+}
+
+@compute @workgroup_size(wgsize)
+fn main(@builtin(local_invocation_index) idx : u32) {
+ data[idx] = idx + 1;
+ if (foo(&data[idx]) > 0) {
+ workgroupBarrier();
+ }
+}
+)";
+
+ RunTest(src, false);
+ EXPECT_EQ(error_, R"(test:14:11 warning: parameter 'p' of 'foo' must be uniform
+ if (foo(&data[idx]) > 0) {
+ ^
+
+test:8:31 note: parameter of 'workgroupUniformLoad' must be uniform
+ return workgroupUniformLoad(p);
+ ^
+
+test:14:17 note: reading from builtin 'idx' may result in a non-uniform value
+ if (foo(&data[idx]) > 0) {
+ ^^^
+)");
+}
+
TEST_F(UniformityAnalysisTest, WorkgroupAtomics) {
std::string src = R"(
var<workgroup> a : atomic<i32>;
@@ -7863,5 +7967,44 @@
)");
}
+TEST_F(UniformityAnalysisTest, Error_CallsiteAndParameterRequireUniformity) {
+ // Test that we report a violation for the callsite of a function when it has multiple
+ // uniformity requirements.
+ std::string src = R"(
+@group(0) @binding(0) var<storage, read_write> non_uniform : i32;
+
+fn foo(v : i32) {
+ if (v == 0) {
+ workgroupBarrier();
+ }
+}
+
+fn main() {
+ if (non_uniform == 42) {
+ foo(0);
+ }
+}
+)";
+
+ RunTest(src, false);
+ EXPECT_EQ(error_,
+ R"(test:12:5 warning: 'foo' must only be called from uniform control flow
+ foo(0);
+ ^^^
+
+test:6:5 note: 'foo' requires uniformity because it calls workgroupBarrier
+ workgroupBarrier();
+ ^^^^^^^^^^^^^^^^
+
+test:11:3 note: control flow depends on non-uniform value
+ if (non_uniform == 42) {
+ ^^
+
+test:11:7 note: reading from read_write storage buffer 'non_uniform' may result in a non-uniform value
+ if (non_uniform == 42) {
+ ^^^^^^^^^^^
+)");
+}
+
} // namespace
} // namespace tint::resolver
diff --git a/src/tint/resolver/validator.cc b/src/tint/resolver/validator.cc
index 3172e58..b199eb0 100644
--- a/src/tint/resolver/validator.cc
+++ b/src/tint/resolver/validator.cc
@@ -1604,6 +1604,28 @@
check_arg_is_constexpr(sem::ParameterUsage::kComponent, 0, 3);
}
+bool Validator::WorkgroupUniformLoad(const sem::Call* call) const {
+ auto* builtin = call->Target()->As<sem::Builtin>();
+ if (!builtin) {
+ return false;
+ }
+
+ TINT_ASSERT(Resolver, call->Arguments().Length() > 0);
+ auto* arg = call->Arguments()[0];
+ auto* ptr = arg->Type()->As<type::Pointer>();
+ TINT_ASSERT(Resolver, ptr != nullptr);
+ auto* ty = ptr->StoreType();
+
+ if (ty->Is<type::Atomic>() || atomic_composite_info_.Contains(ty)) {
+ AddError(
+ "workgroupUniformLoad must not be called with an argument that contains an atomic type",
+ arg->Declaration()->source);
+ return false;
+ }
+
+ return true;
+}
+
bool Validator::RequiredExtensionForBuiltinFunction(const sem::Call* call) const {
const auto* builtin = call->Target()->As<sem::Builtin>();
if (!builtin) {
diff --git a/src/tint/resolver/validator.h b/src/tint/resolver/validator.h
index d7587ed..aa6d9b3 100644
--- a/src/tint/resolver/validator.h
+++ b/src/tint/resolver/validator.h
@@ -439,6 +439,11 @@
/// @returns true on success, false otherwise
bool TextureBuiltinFunction(const sem::Call* call) const;
+ /// Validates a workgroupUniformLoad builtin function
+ /// @param call the builtin call to validate
+ /// @returns true on success, false otherwise
+ bool WorkgroupUniformLoad(const sem::Call* call) const;
+
/// Validates an optional builtin function and its required extension.
/// @param call the builtin call to validate
/// @returns true on success, false otherwise
diff --git a/src/tint/sem/builtin.cc b/src/tint/sem/builtin.cc
index 3aafbce..243e1b7 100644
--- a/src/tint/sem/builtin.cc
+++ b/src/tint/sem/builtin.cc
@@ -171,6 +171,7 @@
case sem::BuiltinType::kAtomicSub:
case sem::BuiltinType::kAtomicXor:
case sem::BuiltinType::kTextureStore:
+ case sem::BuiltinType::kWorkgroupUniformLoad:
return true;
default:
break;
diff --git a/src/tint/sem/builtin_test.cc b/src/tint/sem/builtin_test.cc
index 0b29df7..ff66e1b 100644
--- a/src/tint/sem/builtin_test.cc
+++ b/src/tint/sem/builtin_test.cc
@@ -116,7 +116,8 @@
BuiltinData{"unpack2x16unorm", BuiltinType::kUnpack2X16Unorm},
BuiltinData{"unpack4x8snorm", BuiltinType::kUnpack4X8Snorm},
BuiltinData{"unpack4x8unorm", BuiltinType::kUnpack4X8Unorm},
- BuiltinData{"workgroupBarrier", BuiltinType::kWorkgroupBarrier}));
+ BuiltinData{"workgroupBarrier", BuiltinType::kWorkgroupBarrier},
+ BuiltinData{"workgroupUniformLoad", BuiltinType::kWorkgroupUniformLoad}));
TEST_F(BuiltinTypeTest, ParseNoMatch) {
EXPECT_EQ(ParseBuiltinType("not_builtin"), BuiltinType::kNone);
diff --git a/src/tint/sem/builtin_type.cc b/src/tint/sem/builtin_type.cc
index 899fbd3..d9cb0c2 100644
--- a/src/tint/sem/builtin_type.cc
+++ b/src/tint/sem/builtin_type.cc
@@ -285,6 +285,9 @@
if (name == "workgroupBarrier") {
return BuiltinType::kWorkgroupBarrier;
}
+ if (name == "workgroupUniformLoad") {
+ return BuiltinType::kWorkgroupUniformLoad;
+ }
if (name == "textureDimensions") {
return BuiltinType::kTextureDimensions;
}
@@ -545,6 +548,8 @@
return "unpack4x8unorm";
case BuiltinType::kWorkgroupBarrier:
return "workgroupBarrier";
+ case BuiltinType::kWorkgroupUniformLoad:
+ return "workgroupUniformLoad";
case BuiltinType::kTextureDimensions:
return "textureDimensions";
case BuiltinType::kTextureGather:
diff --git a/src/tint/sem/builtin_type.h b/src/tint/sem/builtin_type.h
index 0cfc48e..aa1b36e 100644
--- a/src/tint/sem/builtin_type.h
+++ b/src/tint/sem/builtin_type.h
@@ -117,6 +117,7 @@
kUnpack4X8Snorm,
kUnpack4X8Unorm,
kWorkgroupBarrier,
+ kWorkgroupUniformLoad,
kTextureDimensions,
kTextureGather,
kTextureGatherCompare,
diff --git a/src/tint/transform/builtin_polyfill.cc b/src/tint/transform/builtin_polyfill.cc
index cc5991d..58c3925 100644
--- a/src/tint/transform/builtin_polyfill.cc
+++ b/src/tint/transform/builtin_polyfill.cc
@@ -39,7 +39,14 @@
/// Constructor
/// @param c the CloneContext
/// @param p the builtins to polyfill
- State(CloneContext& c, Builtins p) : ctx(c), polyfill(p) {}
+ State(CloneContext& c, Builtins p) : ctx(c), polyfill(p) {
+ has_full_ptr_params = false;
+ for (auto* enable : c.src->AST().Enables()) {
+ if (enable->extension == ast::Extension::kChromiumExperimentalFullPtrParameters) {
+ has_full_ptr_params = true;
+ }
+ }
+ }
////////////////////////////////////////////////////////////////////////////
// Function polyfills
@@ -660,6 +667,29 @@
return name;
}
+ /// Builds the polyfill function for the `workgroupUniformLoad` builtin.
+ /// @param type the type being loaded
+ /// @return the polyfill function name
+ Symbol workgroupUniformLoad(const type::Type* type) {
+ if (!has_full_ptr_params) {
+ b.Enable(ast::Extension::kChromiumExperimentalFullPtrParameters);
+ has_full_ptr_params = true;
+ }
+ auto name = b.Symbols().New("tint_workgroupUniformLoad");
+ b.Func(name,
+ utils::Vector{
+ b.Param("p", b.ty.pointer(T(type), ast::AddressSpace::kWorkgroup)),
+ },
+ T(type),
+ utils::Vector{
+ b.CallStmt(b.Call("workgroupBarrier")),
+ b.Decl(b.Let("result", b.Deref("p"))),
+ b.CallStmt(b.Call("workgroupBarrier")),
+ b.Return("result"),
+ });
+ return name;
+ }
+
////////////////////////////////////////////////////////////////////////////
// Inline polyfills
////////////////////////////////////////////////////////////////////////////
@@ -756,6 +786,9 @@
// Polyfill functions for binary operators.
utils::Hashmap<BinaryOpSignature, Symbol, 8> binary_op_polyfills;
+ // Tracks whether the chromium_experimental_full_ptr_parameters extension has been enabled.
+ bool has_full_ptr_params;
+
/// @returns the AST type for the given sem type
const ast::Type* T(const type::Type* ty) const { return CreateASTTypeFor(ctx, ty); }
@@ -913,6 +946,13 @@
}
break;
+ case sem::BuiltinType::kWorkgroupUniformLoad:
+ if (polyfill.workgroup_uniform_load) {
+ fn = builtin_polyfills.GetOrCreate(
+ builtin, [&] { return s.workgroupUniformLoad(builtin->ReturnType()); });
+ }
+ break;
+
default:
break;
}
diff --git a/src/tint/transform/builtin_polyfill.h b/src/tint/transform/builtin_polyfill.h
index 1e2f73a..a3d5b48 100644
--- a/src/tint/transform/builtin_polyfill.h
+++ b/src/tint/transform/builtin_polyfill.h
@@ -75,6 +75,8 @@
/// Should the vector form of `quantizeToF16()` be polyfilled with a scalar implementation?
/// See crbug.com/tint/1741
bool quantize_to_vec_f16 = false;
+ /// Should `workgroupUniformLoad()` be polyfilled?
+ bool workgroup_uniform_load = false;
};
/// Config is consumed by the BuiltinPolyfill transform.
diff --git a/src/tint/transform/builtin_polyfill_test.cc b/src/tint/transform/builtin_polyfill_test.cc
index 2272173..aed8d97 100644
--- a/src/tint/transform/builtin_polyfill_test.cc
+++ b/src/tint/transform/builtin_polyfill_test.cc
@@ -2943,6 +2943,169 @@
}
////////////////////////////////////////////////////////////////////////////////
+// workgroupUniformLoad
+////////////////////////////////////////////////////////////////////////////////
+DataMap polyfillWorkgroupUniformLoad() {
+ BuiltinPolyfill::Builtins builtins;
+ builtins.workgroup_uniform_load = true;
+ DataMap data;
+ data.Add<BuiltinPolyfill::Config>(builtins);
+ return data;
+}
+
+TEST_F(BuiltinPolyfillTest, ShouldRunWorkgroupUniformLoad) {
+ auto* src = R"(
+var<workgroup> v : i32;
+
+fn f() {
+ workgroupUniformLoad(&v);
+}
+)";
+
+ EXPECT_FALSE(ShouldRun<BuiltinPolyfill>(src));
+ EXPECT_TRUE(ShouldRun<BuiltinPolyfill>(src, polyfillWorkgroupUniformLoad()));
+}
+
+TEST_F(BuiltinPolyfillTest, WorkgroupUniformLoad_i32) {
+ auto* src = R"(
+var<workgroup> v : i32;
+
+fn f() {
+ let r = workgroupUniformLoad(&v);
+}
+)";
+
+ auto* expect = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+fn tint_workgroupUniformLoad(p : ptr<workgroup, i32>) -> i32 {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+var<workgroup> v : i32;
+
+fn f() {
+ let r = tint_workgroupUniformLoad(&(v));
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillWorkgroupUniformLoad());
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, WorkgroupUniformLoad_ComplexType) {
+ auto* src = R"(
+struct Inner {
+ b : bool,
+ v : vec4<i32>,
+ m : mat3x3<f32>,
+}
+
+struct Outer {
+ a : array<Inner, 4>,
+}
+
+var<workgroup> v : Outer;
+
+fn f() {
+ let r = workgroupUniformLoad(&v);
+}
+)";
+
+ auto* expect = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+fn tint_workgroupUniformLoad(p : ptr<workgroup, Outer>) -> Outer {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+struct Inner {
+ b : bool,
+ v : vec4<i32>,
+ m : mat3x3<f32>,
+}
+
+struct Outer {
+ a : array<Inner, 4>,
+}
+
+var<workgroup> v : Outer;
+
+fn f() {
+ let r = tint_workgroupUniformLoad(&(v));
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillWorkgroupUniformLoad());
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, WorkgroupUniformLoad_AvoidDuplicateEnables) {
+ auto* src = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+var<workgroup> a : i32;
+var<workgroup> b : u32;
+var<workgroup> c : f32;
+
+fn f() {
+ let ra = workgroupUniformLoad(&a);
+ let rb = workgroupUniformLoad(&b);
+ let rc = workgroupUniformLoad(&c);
+}
+)";
+
+ auto* expect = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+fn tint_workgroupUniformLoad(p : ptr<workgroup, i32>) -> i32 {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+fn tint_workgroupUniformLoad_1(p : ptr<workgroup, u32>) -> u32 {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+fn tint_workgroupUniformLoad_2(p : ptr<workgroup, f32>) -> f32 {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+var<workgroup> a : i32;
+
+var<workgroup> b : u32;
+
+var<workgroup> c : f32;
+
+fn f() {
+ let ra = tint_workgroupUniformLoad(&(a));
+ let rb = tint_workgroupUniformLoad_1(&(b));
+ let rc = tint_workgroupUniformLoad_2(&(c));
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillWorkgroupUniformLoad());
+
+ EXPECT_EQ(expect, str(got));
+}
+
+////////////////////////////////////////////////////////////////////////////////
// quantizeToF16
////////////////////////////////////////////////////////////////////////////////
DataMap polyfillQuantizeToF16_2d_f32() {
diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc
index 41705cf..8450be3 100644
--- a/src/tint/writer/glsl/generator_impl.cc
+++ b/src/tint/writer/glsl/generator_impl.cc
@@ -200,6 +200,7 @@
polyfills.int_div_mod = true;
polyfills.saturate = true;
polyfills.texture_sample_base_clamp_to_edge_2d_f32 = true;
+ polyfills.workgroup_uniform_load = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc
index 93589e5..8e8f1ed 100644
--- a/src/tint/writer/hlsl/generator_impl.cc
+++ b/src/tint/writer/hlsl/generator_impl.cc
@@ -178,6 +178,7 @@
polyfills.insert_bits = transform::BuiltinPolyfill::Level::kFull;
polyfills.int_div_mod = true;
polyfills.texture_sample_base_clamp_to_edge_2d_f32 = true;
+ polyfills.workgroup_uniform_load = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
diff --git a/src/tint/writer/msl/generator_impl.cc b/src/tint/writer/msl/generator_impl.cc
index ab18316..fae6682 100644
--- a/src/tint/writer/msl/generator_impl.cc
+++ b/src/tint/writer/msl/generator_impl.cc
@@ -183,6 +183,7 @@
polyfills.int_div_mod = true;
polyfills.sign_int = true;
polyfills.texture_sample_base_clamp_to_edge_2d_f32 = true;
+ polyfills.workgroup_uniform_load = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
diff --git a/src/tint/writer/spirv/generator_impl.cc b/src/tint/writer/spirv/generator_impl.cc
index 7bd37f2..9133703 100644
--- a/src/tint/writer/spirv/generator_impl.cc
+++ b/src/tint/writer/spirv/generator_impl.cc
@@ -69,6 +69,7 @@
polyfills.saturate = true;
polyfills.texture_sample_base_clamp_to_edge_2d_f32 = true;
polyfills.quantize_to_vec_f16 = true; // crbug.com/tint/1741
+ polyfills.workgroup_uniform_load = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl
new file mode 100644
index 0000000..ff17877
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl
@@ -0,0 +1,33 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+var<workgroup> arg_0: u32;
+
+// fn workgroupUniformLoad(ptr<workgroup, u32, read_write>) -> u32
+fn workgroupUniformLoad_37307c() {
+ var res: u32 = workgroupUniformLoad(&arg_0);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_37307c();
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..26bb61f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,30 @@
+groupshared uint arg_0;
+
+uint tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const uint result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_37307c() {
+ uint res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0u;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_37307c();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..26bb61f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,30 @@
+groupshared uint arg_0;
+
+uint tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const uint result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_37307c() {
+ uint res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0u;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_37307c();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.glsl
new file mode 100644
index 0000000..5b51b2d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.glsl
@@ -0,0 +1,27 @@
+#version 310 es
+
+shared uint arg_0;
+uint tint_workgroupUniformLoad_arg_0() {
+ barrier();
+ uint result = arg_0;
+ barrier();
+ return result;
+}
+
+void workgroupUniformLoad_37307c() {
+ uint res = tint_workgroupUniformLoad_arg_0();
+}
+
+void compute_main(uint local_invocation_index) {
+ {
+ arg_0 = 0u;
+ }
+ barrier();
+ workgroupUniformLoad_37307c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main(gl_LocalInvocationIndex);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.msl b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.msl
new file mode 100644
index 0000000..3553390
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+uint tint_workgroupUniformLoad(threadgroup uint* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ uint const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void workgroupUniformLoad_37307c(threadgroup uint* const tint_symbol) {
+ uint res = tint_workgroupUniformLoad(tint_symbol);
+}
+
+void compute_main_inner(uint local_invocation_index, threadgroup uint* const tint_symbol_1) {
+ {
+ *(tint_symbol_1) = 0u;
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ workgroupUniformLoad_37307c(tint_symbol_1);
+}
+
+kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
+ threadgroup uint tint_symbol_2;
+ compute_main_inner(local_invocation_index, &(tint_symbol_2));
+ return;
+}
+
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.spvasm
new file mode 100644
index 0000000..b3755dc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.spvasm
@@ -0,0 +1,59 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 32
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %local_invocation_index_1 "local_invocation_index_1"
+ OpName %arg_0 "arg_0"
+ OpName %tint_workgroupUniformLoad_arg_0 "tint_workgroupUniformLoad_arg_0"
+ OpName %workgroupUniformLoad_37307c "workgroupUniformLoad_37307c"
+ OpName %res "res"
+ OpName %compute_main_inner "compute_main_inner"
+ OpName %local_invocation_index "local_invocation_index"
+ OpName %compute_main "compute_main"
+ OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
+ %uint = OpTypeInt 32 0
+%_ptr_Input_uint = OpTypePointer Input %uint
+%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
+%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
+ %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
+ %6 = OpTypeFunction %uint
+ %void = OpTypeVoid
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %15 = OpTypeFunction %void
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %21 = OpConstantNull %uint
+ %22 = OpTypeFunction %void %uint
+%tint_workgroupUniformLoad_arg_0 = OpFunction %uint None %6
+ %8 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %13 = OpLoad %uint %arg_0
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %13
+ OpFunctionEnd
+%workgroupUniformLoad_37307c = OpFunction %void None %15
+ %17 = OpLabel
+ %res = OpVariable %_ptr_Function_uint Function %21
+ %18 = OpFunctionCall %uint %tint_workgroupUniformLoad_arg_0
+ OpStore %res %18
+ OpReturn
+ OpFunctionEnd
+%compute_main_inner = OpFunction %void None %22
+%local_invocation_index = OpFunctionParameter %uint
+ %25 = OpLabel
+ OpStore %arg_0 %21
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %27 = OpFunctionCall %void %workgroupUniformLoad_37307c
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %15
+ %29 = OpLabel
+ %31 = OpLoad %uint %local_invocation_index_1
+ %30 = OpFunctionCall %void %compute_main_inner %31
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.wgsl
new file mode 100644
index 0000000..f4d48fa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.wgsl
@@ -0,0 +1,10 @@
+var<workgroup> arg_0 : u32;
+
+fn workgroupUniformLoad_37307c() {
+ var res : u32 = workgroupUniformLoad(&(arg_0));
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_37307c();
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl
new file mode 100644
index 0000000..c5cf95e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl
@@ -0,0 +1,33 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+var<workgroup> arg_0: f32;
+
+// fn workgroupUniformLoad(ptr<workgroup, f32, read_write>) -> f32
+fn workgroupUniformLoad_7a857c() {
+ var res: f32 = workgroupUniformLoad(&arg_0);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_7a857c();
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..fe6d27e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,30 @@
+groupshared float arg_0;
+
+float tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const float result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_7a857c() {
+ float res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0.0f;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_7a857c();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fe6d27e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,30 @@
+groupshared float arg_0;
+
+float tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const float result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_7a857c() {
+ float res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0.0f;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_7a857c();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.glsl
new file mode 100644
index 0000000..bfdeb87
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.glsl
@@ -0,0 +1,27 @@
+#version 310 es
+
+shared float arg_0;
+float tint_workgroupUniformLoad_arg_0() {
+ barrier();
+ float result = arg_0;
+ barrier();
+ return result;
+}
+
+void workgroupUniformLoad_7a857c() {
+ float res = tint_workgroupUniformLoad_arg_0();
+}
+
+void compute_main(uint local_invocation_index) {
+ {
+ arg_0 = 0.0f;
+ }
+ barrier();
+ workgroupUniformLoad_7a857c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main(gl_LocalInvocationIndex);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.msl b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.msl
new file mode 100644
index 0000000..7637172
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+float tint_workgroupUniformLoad(threadgroup float* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ float const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void workgroupUniformLoad_7a857c(threadgroup float* const tint_symbol) {
+ float res = tint_workgroupUniformLoad(tint_symbol);
+}
+
+void compute_main_inner(uint local_invocation_index, threadgroup float* const tint_symbol_1) {
+ {
+ *(tint_symbol_1) = 0.0f;
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ workgroupUniformLoad_7a857c(tint_symbol_1);
+}
+
+kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
+ threadgroup float tint_symbol_2;
+ compute_main_inner(local_invocation_index, &(tint_symbol_2));
+ return;
+}
+
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.spvasm
new file mode 100644
index 0000000..abd0f6a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.spvasm
@@ -0,0 +1,60 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 33
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %local_invocation_index_1 "local_invocation_index_1"
+ OpName %arg_0 "arg_0"
+ OpName %tint_workgroupUniformLoad_arg_0 "tint_workgroupUniformLoad_arg_0"
+ OpName %workgroupUniformLoad_7a857c "workgroupUniformLoad_7a857c"
+ OpName %res "res"
+ OpName %compute_main_inner "compute_main_inner"
+ OpName %local_invocation_index "local_invocation_index"
+ OpName %compute_main "compute_main"
+ OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
+ %uint = OpTypeInt 32 0
+%_ptr_Input_uint = OpTypePointer Input %uint
+%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
+ %float = OpTypeFloat 32
+%_ptr_Workgroup_float = OpTypePointer Workgroup %float
+ %arg_0 = OpVariable %_ptr_Workgroup_float Workgroup
+ %7 = OpTypeFunction %float
+ %void = OpTypeVoid
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %16 = OpTypeFunction %void
+%_ptr_Function_float = OpTypePointer Function %float
+ %22 = OpConstantNull %float
+ %23 = OpTypeFunction %void %uint
+%tint_workgroupUniformLoad_arg_0 = OpFunction %float None %7
+ %9 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %14 = OpLoad %float %arg_0
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %14
+ OpFunctionEnd
+%workgroupUniformLoad_7a857c = OpFunction %void None %16
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_float Function %22
+ %19 = OpFunctionCall %float %tint_workgroupUniformLoad_arg_0
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%compute_main_inner = OpFunction %void None %23
+%local_invocation_index = OpFunctionParameter %uint
+ %26 = OpLabel
+ OpStore %arg_0 %22
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %28 = OpFunctionCall %void %workgroupUniformLoad_7a857c
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %30 = OpLabel
+ %32 = OpLoad %uint %local_invocation_index_1
+ %31 = OpFunctionCall %void %compute_main_inner %32
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.wgsl
new file mode 100644
index 0000000..2fd46aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.wgsl
@@ -0,0 +1,10 @@
+var<workgroup> arg_0 : f32;
+
+fn workgroupUniformLoad_7a857c() {
+ var res : f32 = workgroupUniformLoad(&(arg_0));
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_7a857c();
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl
new file mode 100644
index 0000000..6ebb067
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl
@@ -0,0 +1,33 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+var<workgroup> arg_0: i32;
+
+// fn workgroupUniformLoad(ptr<workgroup, i32, read_write>) -> i32
+fn workgroupUniformLoad_9d33de() {
+ var res: i32 = workgroupUniformLoad(&arg_0);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_9d33de();
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..87cf14c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.dxc.hlsl
@@ -0,0 +1,30 @@
+groupshared int arg_0;
+
+int tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_9d33de() {
+ int res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_9d33de();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..87cf14c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.fxc.hlsl
@@ -0,0 +1,30 @@
+groupshared int arg_0;
+
+int tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_9d33de() {
+ int res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_9d33de();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.glsl
new file mode 100644
index 0000000..31ae3f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.glsl
@@ -0,0 +1,27 @@
+#version 310 es
+
+shared int arg_0;
+int tint_workgroupUniformLoad_arg_0() {
+ barrier();
+ int result = arg_0;
+ barrier();
+ return result;
+}
+
+void workgroupUniformLoad_9d33de() {
+ int res = tint_workgroupUniformLoad_arg_0();
+}
+
+void compute_main(uint local_invocation_index) {
+ {
+ arg_0 = 0;
+ }
+ barrier();
+ workgroupUniformLoad_9d33de();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main(gl_LocalInvocationIndex);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.msl b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.msl
new file mode 100644
index 0000000..4ef9721
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int tint_workgroupUniformLoad(threadgroup int* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ int const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void workgroupUniformLoad_9d33de(threadgroup int* const tint_symbol) {
+ int res = tint_workgroupUniformLoad(tint_symbol);
+}
+
+void compute_main_inner(uint local_invocation_index, threadgroup int* const tint_symbol_1) {
+ {
+ *(tint_symbol_1) = 0;
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ workgroupUniformLoad_9d33de(tint_symbol_1);
+}
+
+kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
+ threadgroup int tint_symbol_2;
+ compute_main_inner(local_invocation_index, &(tint_symbol_2));
+ return;
+}
+
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.spvasm
new file mode 100644
index 0000000..50b0e3f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.spvasm
@@ -0,0 +1,60 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 33
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %local_invocation_index_1 "local_invocation_index_1"
+ OpName %arg_0 "arg_0"
+ OpName %tint_workgroupUniformLoad_arg_0 "tint_workgroupUniformLoad_arg_0"
+ OpName %workgroupUniformLoad_9d33de "workgroupUniformLoad_9d33de"
+ OpName %res "res"
+ OpName %compute_main_inner "compute_main_inner"
+ OpName %local_invocation_index "local_invocation_index"
+ OpName %compute_main "compute_main"
+ OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
+ %uint = OpTypeInt 32 0
+%_ptr_Input_uint = OpTypePointer Input %uint
+%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
+ %int = OpTypeInt 32 1
+%_ptr_Workgroup_int = OpTypePointer Workgroup %int
+ %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
+ %7 = OpTypeFunction %int
+ %void = OpTypeVoid
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %16 = OpTypeFunction %void
+%_ptr_Function_int = OpTypePointer Function %int
+ %22 = OpConstantNull %int
+ %23 = OpTypeFunction %void %uint
+%tint_workgroupUniformLoad_arg_0 = OpFunction %int None %7
+ %9 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %14 = OpLoad %int %arg_0
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %14
+ OpFunctionEnd
+%workgroupUniformLoad_9d33de = OpFunction %void None %16
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_int Function %22
+ %19 = OpFunctionCall %int %tint_workgroupUniformLoad_arg_0
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%compute_main_inner = OpFunction %void None %23
+%local_invocation_index = OpFunctionParameter %uint
+ %26 = OpLabel
+ OpStore %arg_0 %22
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %28 = OpFunctionCall %void %workgroupUniformLoad_9d33de
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %30 = OpLabel
+ %32 = OpLoad %uint %local_invocation_index_1
+ %31 = OpFunctionCall %void %compute_main_inner %32
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.wgsl
new file mode 100644
index 0000000..5228ac7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.wgsl
@@ -0,0 +1,10 @@
+var<workgroup> arg_0 : i32;
+
+fn workgroupUniformLoad_9d33de() {
+ var res : i32 = workgroupUniformLoad(&(arg_0));
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_9d33de();
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl
new file mode 100644
index 0000000..a0820bb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl
@@ -0,0 +1,35 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable f16;
+var<workgroup> arg_0: f16;
+
+// fn workgroupUniformLoad(ptr<workgroup, f16, read_write>) -> f16
+fn workgroupUniformLoad_e07d08() {
+ var res: f16 = workgroupUniformLoad(&arg_0);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_e07d08();
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d34a7c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.dxc.hlsl
@@ -0,0 +1,30 @@
+groupshared float16_t arg_0;
+
+float16_t tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const float16_t result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_e07d08() {
+ float16_t res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = float16_t(0.0h);
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_e07d08();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..bd76914
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+groupshared float16_t arg_0;
+
+float16_t tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const float16_t result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_e07d08() {
+ float16_t res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = float16_t(0.0h);
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_e07d08();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
+
+FXC validation failure:
+T:\tmp\dawn-temp\dawn-src\test\tint\Shader@0x000001D7B7FE0DC0(1,13-21): error X3000: unrecognized identifier 'float16_t'
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.glsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.glsl
new file mode 100644
index 0000000..0b882bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.glsl
@@ -0,0 +1,28 @@
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float : require
+
+shared float16_t arg_0;
+float16_t tint_workgroupUniformLoad_arg_0() {
+ barrier();
+ float16_t result = arg_0;
+ barrier();
+ return result;
+}
+
+void workgroupUniformLoad_e07d08() {
+ float16_t res = tint_workgroupUniformLoad_arg_0();
+}
+
+void compute_main(uint local_invocation_index) {
+ {
+ arg_0 = 0.0hf;
+ }
+ barrier();
+ workgroupUniformLoad_e07d08();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main(gl_LocalInvocationIndex);
+ return;
+}
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.msl b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.msl
new file mode 100644
index 0000000..c4c40c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+half tint_workgroupUniformLoad(threadgroup half* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ half const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void workgroupUniformLoad_e07d08(threadgroup half* const tint_symbol) {
+ half res = tint_workgroupUniformLoad(tint_symbol);
+}
+
+void compute_main_inner(uint local_invocation_index, threadgroup half* const tint_symbol_1) {
+ {
+ *(tint_symbol_1) = 0.0h;
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ workgroupUniformLoad_e07d08(tint_symbol_1);
+}
+
+kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
+ threadgroup half tint_symbol_2;
+ compute_main_inner(local_invocation_index, &(tint_symbol_2));
+ return;
+}
+
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.spvasm
new file mode 100644
index 0000000..9c5cf13
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.spvasm
@@ -0,0 +1,64 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 33
+; Schema: 0
+ OpCapability Shader
+ OpCapability Float16
+ OpCapability UniformAndStorageBuffer16BitAccess
+ OpCapability StorageBuffer16BitAccess
+ OpCapability StorageInputOutput16
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %local_invocation_index_1 "local_invocation_index_1"
+ OpName %arg_0 "arg_0"
+ OpName %tint_workgroupUniformLoad_arg_0 "tint_workgroupUniformLoad_arg_0"
+ OpName %workgroupUniformLoad_e07d08 "workgroupUniformLoad_e07d08"
+ OpName %res "res"
+ OpName %compute_main_inner "compute_main_inner"
+ OpName %local_invocation_index "local_invocation_index"
+ OpName %compute_main "compute_main"
+ OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
+ %uint = OpTypeInt 32 0
+%_ptr_Input_uint = OpTypePointer Input %uint
+%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
+ %half = OpTypeFloat 16
+%_ptr_Workgroup_half = OpTypePointer Workgroup %half
+ %arg_0 = OpVariable %_ptr_Workgroup_half Workgroup
+ %7 = OpTypeFunction %half
+ %void = OpTypeVoid
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %16 = OpTypeFunction %void
+%_ptr_Function_half = OpTypePointer Function %half
+ %22 = OpConstantNull %half
+ %23 = OpTypeFunction %void %uint
+%tint_workgroupUniformLoad_arg_0 = OpFunction %half None %7
+ %9 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %14 = OpLoad %half %arg_0
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %14
+ OpFunctionEnd
+%workgroupUniformLoad_e07d08 = OpFunction %void None %16
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_half Function %22
+ %19 = OpFunctionCall %half %tint_workgroupUniformLoad_arg_0
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%compute_main_inner = OpFunction %void None %23
+%local_invocation_index = OpFunctionParameter %uint
+ %26 = OpLabel
+ OpStore %arg_0 %22
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %28 = OpFunctionCall %void %workgroupUniformLoad_e07d08
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %30 = OpLabel
+ %32 = OpLoad %uint %local_invocation_index_1
+ %31 = OpFunctionCall %void %compute_main_inner %32
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.wgsl
new file mode 100644
index 0000000..79b6a47
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable f16;
+
+var<workgroup> arg_0 : f16;
+
+fn workgroupUniformLoad_e07d08() {
+ var res : f16 = workgroupUniformLoad(&(arg_0));
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_e07d08();
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl
new file mode 100644
index 0000000..ff17877
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl
@@ -0,0 +1,33 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+var<workgroup> arg_0: u32;
+
+// fn workgroupUniformLoad(ptr<workgroup, u32, read_write>) -> u32
+fn workgroupUniformLoad_37307c() {
+ var res: u32 = workgroupUniformLoad(&arg_0);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_37307c();
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..26bb61f
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,30 @@
+groupshared uint arg_0;
+
+uint tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const uint result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_37307c() {
+ uint res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0u;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_37307c();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..26bb61f
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,30 @@
+groupshared uint arg_0;
+
+uint tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const uint result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_37307c() {
+ uint res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0u;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_37307c();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.glsl b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.glsl
new file mode 100644
index 0000000..5b51b2d
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.glsl
@@ -0,0 +1,27 @@
+#version 310 es
+
+shared uint arg_0;
+uint tint_workgroupUniformLoad_arg_0() {
+ barrier();
+ uint result = arg_0;
+ barrier();
+ return result;
+}
+
+void workgroupUniformLoad_37307c() {
+ uint res = tint_workgroupUniformLoad_arg_0();
+}
+
+void compute_main(uint local_invocation_index) {
+ {
+ arg_0 = 0u;
+ }
+ barrier();
+ workgroupUniformLoad_37307c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main(gl_LocalInvocationIndex);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.msl b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.msl
new file mode 100644
index 0000000..3553390
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+uint tint_workgroupUniformLoad(threadgroup uint* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ uint const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void workgroupUniformLoad_37307c(threadgroup uint* const tint_symbol) {
+ uint res = tint_workgroupUniformLoad(tint_symbol);
+}
+
+void compute_main_inner(uint local_invocation_index, threadgroup uint* const tint_symbol_1) {
+ {
+ *(tint_symbol_1) = 0u;
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ workgroupUniformLoad_37307c(tint_symbol_1);
+}
+
+kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
+ threadgroup uint tint_symbol_2;
+ compute_main_inner(local_invocation_index, &(tint_symbol_2));
+ return;
+}
+
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.spvasm
new file mode 100644
index 0000000..b3755dc
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.spvasm
@@ -0,0 +1,59 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 32
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %local_invocation_index_1 "local_invocation_index_1"
+ OpName %arg_0 "arg_0"
+ OpName %tint_workgroupUniformLoad_arg_0 "tint_workgroupUniformLoad_arg_0"
+ OpName %workgroupUniformLoad_37307c "workgroupUniformLoad_37307c"
+ OpName %res "res"
+ OpName %compute_main_inner "compute_main_inner"
+ OpName %local_invocation_index "local_invocation_index"
+ OpName %compute_main "compute_main"
+ OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
+ %uint = OpTypeInt 32 0
+%_ptr_Input_uint = OpTypePointer Input %uint
+%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
+%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
+ %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
+ %6 = OpTypeFunction %uint
+ %void = OpTypeVoid
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %15 = OpTypeFunction %void
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %21 = OpConstantNull %uint
+ %22 = OpTypeFunction %void %uint
+%tint_workgroupUniformLoad_arg_0 = OpFunction %uint None %6
+ %8 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %13 = OpLoad %uint %arg_0
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %13
+ OpFunctionEnd
+%workgroupUniformLoad_37307c = OpFunction %void None %15
+ %17 = OpLabel
+ %res = OpVariable %_ptr_Function_uint Function %21
+ %18 = OpFunctionCall %uint %tint_workgroupUniformLoad_arg_0
+ OpStore %res %18
+ OpReturn
+ OpFunctionEnd
+%compute_main_inner = OpFunction %void None %22
+%local_invocation_index = OpFunctionParameter %uint
+ %25 = OpLabel
+ OpStore %arg_0 %21
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %27 = OpFunctionCall %void %workgroupUniformLoad_37307c
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %15
+ %29 = OpLabel
+ %31 = OpLoad %uint %local_invocation_index_1
+ %30 = OpFunctionCall %void %compute_main_inner %31
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.wgsl
new file mode 100644
index 0000000..f4d48fa
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/37307c.wgsl.expected.wgsl
@@ -0,0 +1,10 @@
+var<workgroup> arg_0 : u32;
+
+fn workgroupUniformLoad_37307c() {
+ var res : u32 = workgroupUniformLoad(&(arg_0));
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_37307c();
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl
new file mode 100644
index 0000000..c5cf95e
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl
@@ -0,0 +1,33 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+var<workgroup> arg_0: f32;
+
+// fn workgroupUniformLoad(ptr<workgroup, f32, read_write>) -> f32
+fn workgroupUniformLoad_7a857c() {
+ var res: f32 = workgroupUniformLoad(&arg_0);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_7a857c();
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..fe6d27e
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,30 @@
+groupshared float arg_0;
+
+float tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const float result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_7a857c() {
+ float res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0.0f;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_7a857c();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fe6d27e
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,30 @@
+groupshared float arg_0;
+
+float tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const float result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_7a857c() {
+ float res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0.0f;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_7a857c();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.glsl b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.glsl
new file mode 100644
index 0000000..bfdeb87
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.glsl
@@ -0,0 +1,27 @@
+#version 310 es
+
+shared float arg_0;
+float tint_workgroupUniformLoad_arg_0() {
+ barrier();
+ float result = arg_0;
+ barrier();
+ return result;
+}
+
+void workgroupUniformLoad_7a857c() {
+ float res = tint_workgroupUniformLoad_arg_0();
+}
+
+void compute_main(uint local_invocation_index) {
+ {
+ arg_0 = 0.0f;
+ }
+ barrier();
+ workgroupUniformLoad_7a857c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main(gl_LocalInvocationIndex);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.msl b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.msl
new file mode 100644
index 0000000..7637172
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+float tint_workgroupUniformLoad(threadgroup float* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ float const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void workgroupUniformLoad_7a857c(threadgroup float* const tint_symbol) {
+ float res = tint_workgroupUniformLoad(tint_symbol);
+}
+
+void compute_main_inner(uint local_invocation_index, threadgroup float* const tint_symbol_1) {
+ {
+ *(tint_symbol_1) = 0.0f;
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ workgroupUniformLoad_7a857c(tint_symbol_1);
+}
+
+kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
+ threadgroup float tint_symbol_2;
+ compute_main_inner(local_invocation_index, &(tint_symbol_2));
+ return;
+}
+
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.spvasm
new file mode 100644
index 0000000..abd0f6a
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.spvasm
@@ -0,0 +1,60 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 33
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %local_invocation_index_1 "local_invocation_index_1"
+ OpName %arg_0 "arg_0"
+ OpName %tint_workgroupUniformLoad_arg_0 "tint_workgroupUniformLoad_arg_0"
+ OpName %workgroupUniformLoad_7a857c "workgroupUniformLoad_7a857c"
+ OpName %res "res"
+ OpName %compute_main_inner "compute_main_inner"
+ OpName %local_invocation_index "local_invocation_index"
+ OpName %compute_main "compute_main"
+ OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
+ %uint = OpTypeInt 32 0
+%_ptr_Input_uint = OpTypePointer Input %uint
+%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
+ %float = OpTypeFloat 32
+%_ptr_Workgroup_float = OpTypePointer Workgroup %float
+ %arg_0 = OpVariable %_ptr_Workgroup_float Workgroup
+ %7 = OpTypeFunction %float
+ %void = OpTypeVoid
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %16 = OpTypeFunction %void
+%_ptr_Function_float = OpTypePointer Function %float
+ %22 = OpConstantNull %float
+ %23 = OpTypeFunction %void %uint
+%tint_workgroupUniformLoad_arg_0 = OpFunction %float None %7
+ %9 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %14 = OpLoad %float %arg_0
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %14
+ OpFunctionEnd
+%workgroupUniformLoad_7a857c = OpFunction %void None %16
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_float Function %22
+ %19 = OpFunctionCall %float %tint_workgroupUniformLoad_arg_0
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%compute_main_inner = OpFunction %void None %23
+%local_invocation_index = OpFunctionParameter %uint
+ %26 = OpLabel
+ OpStore %arg_0 %22
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %28 = OpFunctionCall %void %workgroupUniformLoad_7a857c
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %30 = OpLabel
+ %32 = OpLoad %uint %local_invocation_index_1
+ %31 = OpFunctionCall %void %compute_main_inner %32
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.wgsl
new file mode 100644
index 0000000..2fd46aa
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/7a857c.wgsl.expected.wgsl
@@ -0,0 +1,10 @@
+var<workgroup> arg_0 : f32;
+
+fn workgroupUniformLoad_7a857c() {
+ var res : f32 = workgroupUniformLoad(&(arg_0));
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_7a857c();
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl
new file mode 100644
index 0000000..6ebb067
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl
@@ -0,0 +1,33 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+var<workgroup> arg_0: i32;
+
+// fn workgroupUniformLoad(ptr<workgroup, i32, read_write>) -> i32
+fn workgroupUniformLoad_9d33de() {
+ var res: i32 = workgroupUniformLoad(&arg_0);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_9d33de();
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..87cf14c
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.dxc.hlsl
@@ -0,0 +1,30 @@
+groupshared int arg_0;
+
+int tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_9d33de() {
+ int res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_9d33de();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..87cf14c
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.fxc.hlsl
@@ -0,0 +1,30 @@
+groupshared int arg_0;
+
+int tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_9d33de() {
+ int res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = 0;
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_9d33de();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.glsl b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.glsl
new file mode 100644
index 0000000..31ae3f9
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.glsl
@@ -0,0 +1,27 @@
+#version 310 es
+
+shared int arg_0;
+int tint_workgroupUniformLoad_arg_0() {
+ barrier();
+ int result = arg_0;
+ barrier();
+ return result;
+}
+
+void workgroupUniformLoad_9d33de() {
+ int res = tint_workgroupUniformLoad_arg_0();
+}
+
+void compute_main(uint local_invocation_index) {
+ {
+ arg_0 = 0;
+ }
+ barrier();
+ workgroupUniformLoad_9d33de();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main(gl_LocalInvocationIndex);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.msl b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.msl
new file mode 100644
index 0000000..4ef9721
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int tint_workgroupUniformLoad(threadgroup int* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ int const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void workgroupUniformLoad_9d33de(threadgroup int* const tint_symbol) {
+ int res = tint_workgroupUniformLoad(tint_symbol);
+}
+
+void compute_main_inner(uint local_invocation_index, threadgroup int* const tint_symbol_1) {
+ {
+ *(tint_symbol_1) = 0;
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ workgroupUniformLoad_9d33de(tint_symbol_1);
+}
+
+kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
+ threadgroup int tint_symbol_2;
+ compute_main_inner(local_invocation_index, &(tint_symbol_2));
+ return;
+}
+
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.spvasm b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.spvasm
new file mode 100644
index 0000000..50b0e3f
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.spvasm
@@ -0,0 +1,60 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 33
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %local_invocation_index_1 "local_invocation_index_1"
+ OpName %arg_0 "arg_0"
+ OpName %tint_workgroupUniformLoad_arg_0 "tint_workgroupUniformLoad_arg_0"
+ OpName %workgroupUniformLoad_9d33de "workgroupUniformLoad_9d33de"
+ OpName %res "res"
+ OpName %compute_main_inner "compute_main_inner"
+ OpName %local_invocation_index "local_invocation_index"
+ OpName %compute_main "compute_main"
+ OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
+ %uint = OpTypeInt 32 0
+%_ptr_Input_uint = OpTypePointer Input %uint
+%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
+ %int = OpTypeInt 32 1
+%_ptr_Workgroup_int = OpTypePointer Workgroup %int
+ %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
+ %7 = OpTypeFunction %int
+ %void = OpTypeVoid
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %16 = OpTypeFunction %void
+%_ptr_Function_int = OpTypePointer Function %int
+ %22 = OpConstantNull %int
+ %23 = OpTypeFunction %void %uint
+%tint_workgroupUniformLoad_arg_0 = OpFunction %int None %7
+ %9 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %14 = OpLoad %int %arg_0
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %14
+ OpFunctionEnd
+%workgroupUniformLoad_9d33de = OpFunction %void None %16
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_int Function %22
+ %19 = OpFunctionCall %int %tint_workgroupUniformLoad_arg_0
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%compute_main_inner = OpFunction %void None %23
+%local_invocation_index = OpFunctionParameter %uint
+ %26 = OpLabel
+ OpStore %arg_0 %22
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %28 = OpFunctionCall %void %workgroupUniformLoad_9d33de
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %30 = OpLabel
+ %32 = OpLoad %uint %local_invocation_index_1
+ %31 = OpFunctionCall %void %compute_main_inner %32
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.wgsl b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.wgsl
new file mode 100644
index 0000000..5228ac7
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/9d33de.wgsl.expected.wgsl
@@ -0,0 +1,10 @@
+var<workgroup> arg_0 : i32;
+
+fn workgroupUniformLoad_9d33de() {
+ var res : i32 = workgroupUniformLoad(&(arg_0));
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_9d33de();
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl
new file mode 100644
index 0000000..a0820bb
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl
@@ -0,0 +1,35 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable f16;
+var<workgroup> arg_0: f16;
+
+// fn workgroupUniformLoad(ptr<workgroup, f16, read_write>) -> f16
+fn workgroupUniformLoad_e07d08() {
+ var res: f16 = workgroupUniformLoad(&arg_0);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_e07d08();
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d34a7c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.dxc.hlsl
@@ -0,0 +1,30 @@
+groupshared float16_t arg_0;
+
+float16_t tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const float16_t result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_e07d08() {
+ float16_t res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = float16_t(0.0h);
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_e07d08();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..8b6f290
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+groupshared float16_t arg_0;
+
+float16_t tint_workgroupUniformLoad_arg_0() {
+ GroupMemoryBarrierWithGroupSync();
+ const float16_t result = arg_0;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void workgroupUniformLoad_e07d08() {
+ float16_t res = tint_workgroupUniformLoad_arg_0();
+}
+
+struct tint_symbol_1 {
+ uint local_invocation_index : SV_GroupIndex;
+};
+
+void compute_main_inner(uint local_invocation_index) {
+ {
+ arg_0 = float16_t(0.0h);
+ }
+ GroupMemoryBarrierWithGroupSync();
+ workgroupUniformLoad_e07d08();
+}
+
+[numthreads(1, 1, 1)]
+void compute_main(tint_symbol_1 tint_symbol) {
+ compute_main_inner(tint_symbol.local_invocation_index);
+ return;
+}
+
+FXC validation failure:
+T:\tmp\dawn-temp\dawn-src\test\tint\Shader@0x000001D6A00D1F90(1,13-21): error X3000: unrecognized identifier 'float16_t'
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.glsl b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.glsl
new file mode 100644
index 0000000..0b882bd
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.glsl
@@ -0,0 +1,28 @@
+#version 310 es
+#extension GL_AMD_gpu_shader_half_float : require
+
+shared float16_t arg_0;
+float16_t tint_workgroupUniformLoad_arg_0() {
+ barrier();
+ float16_t result = arg_0;
+ barrier();
+ return result;
+}
+
+void workgroupUniformLoad_e07d08() {
+ float16_t res = tint_workgroupUniformLoad_arg_0();
+}
+
+void compute_main(uint local_invocation_index) {
+ {
+ arg_0 = 0.0hf;
+ }
+ barrier();
+ workgroupUniformLoad_e07d08();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main(gl_LocalInvocationIndex);
+ return;
+}
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.msl b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.msl
new file mode 100644
index 0000000..c4c40c9
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+half tint_workgroupUniformLoad(threadgroup half* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ half const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void workgroupUniformLoad_e07d08(threadgroup half* const tint_symbol) {
+ half res = tint_workgroupUniformLoad(tint_symbol);
+}
+
+void compute_main_inner(uint local_invocation_index, threadgroup half* const tint_symbol_1) {
+ {
+ *(tint_symbol_1) = 0.0h;
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ workgroupUniformLoad_e07d08(tint_symbol_1);
+}
+
+kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
+ threadgroup half tint_symbol_2;
+ compute_main_inner(local_invocation_index, &(tint_symbol_2));
+ return;
+}
+
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.spvasm b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.spvasm
new file mode 100644
index 0000000..9c5cf13
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.spvasm
@@ -0,0 +1,64 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 33
+; Schema: 0
+ OpCapability Shader
+ OpCapability Float16
+ OpCapability UniformAndStorageBuffer16BitAccess
+ OpCapability StorageBuffer16BitAccess
+ OpCapability StorageInputOutput16
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %local_invocation_index_1 "local_invocation_index_1"
+ OpName %arg_0 "arg_0"
+ OpName %tint_workgroupUniformLoad_arg_0 "tint_workgroupUniformLoad_arg_0"
+ OpName %workgroupUniformLoad_e07d08 "workgroupUniformLoad_e07d08"
+ OpName %res "res"
+ OpName %compute_main_inner "compute_main_inner"
+ OpName %local_invocation_index "local_invocation_index"
+ OpName %compute_main "compute_main"
+ OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
+ %uint = OpTypeInt 32 0
+%_ptr_Input_uint = OpTypePointer Input %uint
+%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
+ %half = OpTypeFloat 16
+%_ptr_Workgroup_half = OpTypePointer Workgroup %half
+ %arg_0 = OpVariable %_ptr_Workgroup_half Workgroup
+ %7 = OpTypeFunction %half
+ %void = OpTypeVoid
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %16 = OpTypeFunction %void
+%_ptr_Function_half = OpTypePointer Function %half
+ %22 = OpConstantNull %half
+ %23 = OpTypeFunction %void %uint
+%tint_workgroupUniformLoad_arg_0 = OpFunction %half None %7
+ %9 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %14 = OpLoad %half %arg_0
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %14
+ OpFunctionEnd
+%workgroupUniformLoad_e07d08 = OpFunction %void None %16
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_half Function %22
+ %19 = OpFunctionCall %half %tint_workgroupUniformLoad_arg_0
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%compute_main_inner = OpFunction %void None %23
+%local_invocation_index = OpFunctionParameter %uint
+ %26 = OpLabel
+ OpStore %arg_0 %22
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %28 = OpFunctionCall %void %workgroupUniformLoad_e07d08
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %30 = OpLabel
+ %32 = OpLoad %uint %local_invocation_index_1
+ %31 = OpFunctionCall %void %compute_main_inner %32
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.wgsl b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.wgsl
new file mode 100644
index 0000000..79b6a47
--- /dev/null
+++ b/test/tint/builtins/gen/var/workgroupUniformLoad/e07d08.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable f16;
+
+var<workgroup> arg_0 : f16;
+
+fn workgroupUniformLoad_e07d08() {
+ var res : f16 = workgroupUniformLoad(&(arg_0));
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ workgroupUniformLoad_e07d08();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array.wgsl b/test/tint/builtins/workgroupUniformLoad/array.wgsl
new file mode 100644
index 0000000..bdc07fc
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array.wgsl
@@ -0,0 +1,5 @@
+var<workgroup> v : array<i32, 4>;
+
+fn foo() -> array<i32, 4> {
+ return workgroupUniformLoad(&v);
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a9b6ea5
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.dxc.hlsl
@@ -0,0 +1,19 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int v[4];
+
+typedef int tint_workgroupUniformLoad_v_ret[4];
+tint_workgroupUniformLoad_v_ret tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result[4] = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+typedef int foo_ret[4];
+foo_ret foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a9b6ea5
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.fxc.hlsl
@@ -0,0 +1,19 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int v[4];
+
+typedef int tint_workgroupUniformLoad_v_ret[4];
+tint_workgroupUniformLoad_v_ret tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result[4] = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+typedef int foo_ret[4];
+foo_ret foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.glsl
new file mode 100644
index 0000000..cda9b79
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.glsl
@@ -0,0 +1,18 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+shared int v[4];
+int[4] tint_workgroupUniformLoad_v() {
+ barrier();
+ int result[4] = v;
+ barrier();
+ return result;
+}
+
+int[4] foo() {
+ return tint_workgroupUniformLoad_v();
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.msl
new file mode 100644
index 0000000..a349a06
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.msl
@@ -0,0 +1,27 @@
+#include <metal_stdlib>
+
+using namespace metal;
+
+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_array<int, 4> tint_workgroupUniformLoad(threadgroup tint_array<int, 4>* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ tint_array<int, 4> const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+tint_array<int, 4> foo(threadgroup tint_array<int, 4>* const tint_symbol) {
+ return tint_workgroupUniformLoad(tint_symbol);
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.spvasm
new file mode 100644
index 0000000..9e7b9d1
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.spvasm
@@ -0,0 +1,41 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 22
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %v "v"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_v "tint_workgroupUniformLoad_v"
+ OpName %foo "foo"
+ OpDecorate %_arr_int_uint_4 ArrayStride 4
+ %int = OpTypeInt 32 1
+ %uint = OpTypeInt 32 0
+ %uint_4 = OpConstant %uint 4
+%_arr_int_uint_4 = OpTypeArray %int %uint_4
+%_ptr_Workgroup__arr_int_uint_4 = OpTypePointer Workgroup %_arr_int_uint_4
+ %v = OpVariable %_ptr_Workgroup__arr_int_uint_4 Workgroup
+ %void = OpTypeVoid
+ %7 = OpTypeFunction %void
+ %11 = OpTypeFunction %_arr_int_uint_4
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+%unused_entry_point = OpFunction %void None %7
+ %10 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_v = OpFunction %_arr_int_uint_4 None %11
+ %13 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %17 = OpLoad %_arr_int_uint_4 %v
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %17
+ OpFunctionEnd
+ %foo = OpFunction %_arr_int_uint_4 None %11
+ %20 = OpLabel
+ %21 = OpFunctionCall %_arr_int_uint_4 %tint_workgroupUniformLoad_v
+ OpReturnValue %21
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.wgsl
new file mode 100644
index 0000000..15fde7d
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.wgsl
@@ -0,0 +1,5 @@
+var<workgroup> v : array<i32, 4>;
+
+fn foo() -> array<i32, 4> {
+ return workgroupUniformLoad(&(v));
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl
new file mode 100644
index 0000000..d1f5bda
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl
@@ -0,0 +1,7 @@
+// flags: --overrides wgsize=64
+override wgsize : i32;
+var<workgroup> v : array<i32, wgsize * 2>;
+
+fn foo() -> i32 {
+ return workgroupUniformLoad(&v)[0];
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a42cbe5
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.dxc.hlsl
@@ -0,0 +1,19 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int v[128];
+
+typedef int tint_workgroupUniformLoad_v_ret[128];
+tint_workgroupUniformLoad_v_ret tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result[128] = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+int foo() {
+ const int tint_symbol[128] = tint_workgroupUniformLoad_v();
+ return tint_symbol[0];
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a42cbe5
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.fxc.hlsl
@@ -0,0 +1,19 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int v[128];
+
+typedef int tint_workgroupUniformLoad_v_ret[128];
+tint_workgroupUniformLoad_v_ret tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result[128] = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+int foo() {
+ const int tint_symbol[128] = tint_workgroupUniformLoad_v();
+ return tint_symbol[0];
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.glsl
new file mode 100644
index 0000000..6e551e8
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.glsl
@@ -0,0 +1,19 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+shared int v[128];
+int[128] tint_workgroupUniformLoad_v() {
+ barrier();
+ int result[128] = v;
+ barrier();
+ return result;
+}
+
+int foo() {
+ int tint_symbol[128] = tint_workgroupUniformLoad_v();
+ return tint_symbol[0];
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.msl
new file mode 100644
index 0000000..aeee60c
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+
+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_array<int, 128> tint_workgroupUniformLoad(threadgroup tint_array<int, 128>* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ tint_array<int, 128> const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+int foo(threadgroup tint_array<int, 128>* const tint_symbol_1) {
+ tint_array<int, 128> const tint_symbol = tint_workgroupUniformLoad(tint_symbol_1);
+ return tint_symbol[0];
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.spvasm
new file mode 100644
index 0000000..8789073
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.spvasm
@@ -0,0 +1,44 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 25
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %v "v"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_v "tint_workgroupUniformLoad_v"
+ OpName %foo "foo"
+ OpDecorate %_arr_int_uint_128 ArrayStride 4
+ %int = OpTypeInt 32 1
+ %uint = OpTypeInt 32 0
+ %uint_128 = OpConstant %uint 128
+%_arr_int_uint_128 = OpTypeArray %int %uint_128
+%_ptr_Workgroup__arr_int_uint_128 = OpTypePointer Workgroup %_arr_int_uint_128
+ %v = OpVariable %_ptr_Workgroup__arr_int_uint_128 Workgroup
+ %void = OpTypeVoid
+ %7 = OpTypeFunction %void
+ %11 = OpTypeFunction %_arr_int_uint_128
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %19 = OpTypeFunction %int
+ %23 = OpConstantNull %int
+%unused_entry_point = OpFunction %void None %7
+ %10 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_v = OpFunction %_arr_int_uint_128 None %11
+ %13 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %17 = OpLoad %_arr_int_uint_128 %v
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %17
+ OpFunctionEnd
+ %foo = OpFunction %int None %19
+ %21 = OpLabel
+ %22 = OpFunctionCall %_arr_int_uint_128 %tint_workgroupUniformLoad_v
+ %24 = OpCompositeExtract %int %22 0
+ OpReturnValue %24
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.wgsl
new file mode 100644
index 0000000..3afe732
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.wgsl
@@ -0,0 +1,7 @@
+const wgsize : i32 = 64i;
+
+var<workgroup> v : array<i32, (wgsize * 2)>;
+
+fn foo() -> i32 {
+ return workgroupUniformLoad(&(v))[0];
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl
new file mode 100644
index 0000000..f9d42d8
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl
@@ -0,0 +1,8 @@
+// flags: --overrides wgsize=64
+override wgsize : i32;
+type Array = array<i32, wgsize * 2>;
+var<workgroup> v : Array;
+
+fn foo() -> i32 {
+ return workgroupUniformLoad(&v)[0];
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a42cbe5
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.dxc.hlsl
@@ -0,0 +1,19 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int v[128];
+
+typedef int tint_workgroupUniformLoad_v_ret[128];
+tint_workgroupUniformLoad_v_ret tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result[128] = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+int foo() {
+ const int tint_symbol[128] = tint_workgroupUniformLoad_v();
+ return tint_symbol[0];
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a42cbe5
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.fxc.hlsl
@@ -0,0 +1,19 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int v[128];
+
+typedef int tint_workgroupUniformLoad_v_ret[128];
+tint_workgroupUniformLoad_v_ret tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result[128] = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+int foo() {
+ const int tint_symbol[128] = tint_workgroupUniformLoad_v();
+ return tint_symbol[0];
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.glsl
new file mode 100644
index 0000000..6e551e8
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.glsl
@@ -0,0 +1,19 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+shared int v[128];
+int[128] tint_workgroupUniformLoad_v() {
+ barrier();
+ int result[128] = v;
+ barrier();
+ return result;
+}
+
+int foo() {
+ int tint_symbol[128] = tint_workgroupUniformLoad_v();
+ return tint_symbol[0];
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.msl
new file mode 100644
index 0000000..aeee60c
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.msl
@@ -0,0 +1,28 @@
+#include <metal_stdlib>
+
+using namespace metal;
+
+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_array<int, 128> tint_workgroupUniformLoad(threadgroup tint_array<int, 128>* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ tint_array<int, 128> const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+int foo(threadgroup tint_array<int, 128>* const tint_symbol_1) {
+ tint_array<int, 128> const tint_symbol = tint_workgroupUniformLoad(tint_symbol_1);
+ return tint_symbol[0];
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.spvasm
new file mode 100644
index 0000000..8789073
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.spvasm
@@ -0,0 +1,44 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 25
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %v "v"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_v "tint_workgroupUniformLoad_v"
+ OpName %foo "foo"
+ OpDecorate %_arr_int_uint_128 ArrayStride 4
+ %int = OpTypeInt 32 1
+ %uint = OpTypeInt 32 0
+ %uint_128 = OpConstant %uint 128
+%_arr_int_uint_128 = OpTypeArray %int %uint_128
+%_ptr_Workgroup__arr_int_uint_128 = OpTypePointer Workgroup %_arr_int_uint_128
+ %v = OpVariable %_ptr_Workgroup__arr_int_uint_128 Workgroup
+ %void = OpTypeVoid
+ %7 = OpTypeFunction %void
+ %11 = OpTypeFunction %_arr_int_uint_128
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %19 = OpTypeFunction %int
+ %23 = OpConstantNull %int
+%unused_entry_point = OpFunction %void None %7
+ %10 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_v = OpFunction %_arr_int_uint_128 None %11
+ %13 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %17 = OpLoad %_arr_int_uint_128 %v
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %17
+ OpFunctionEnd
+ %foo = OpFunction %int None %19
+ %21 = OpLabel
+ %22 = OpFunctionCall %_arr_int_uint_128 %tint_workgroupUniformLoad_v
+ %24 = OpCompositeExtract %int %22 0
+ OpReturnValue %24
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.wgsl
new file mode 100644
index 0000000..df6498e
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.wgsl
@@ -0,0 +1,9 @@
+const wgsize : i32 = 64i;
+
+type Array = array<i32, (wgsize * 2)>;
+
+var<workgroup> v : Array;
+
+fn foo() -> i32 {
+ return workgroupUniformLoad(&(v))[0];
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/bool.wgsl b/test/tint/builtins/workgroupUniformLoad/bool.wgsl
new file mode 100644
index 0000000..1fb9c02
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/bool.wgsl
@@ -0,0 +1,5 @@
+var<workgroup> v : bool;
+
+fn foo() -> bool {
+ return workgroupUniformLoad(&v);
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..afb3e79
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.dxc.hlsl
@@ -0,0 +1,17 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared bool v;
+
+bool tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const bool result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+bool foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..afb3e79
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.fxc.hlsl
@@ -0,0 +1,17 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared bool v;
+
+bool tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const bool result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+bool foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.glsl
new file mode 100644
index 0000000..4962454
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.glsl
@@ -0,0 +1,18 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+shared bool v;
+bool tint_workgroupUniformLoad_v() {
+ barrier();
+ bool result = v;
+ barrier();
+ return result;
+}
+
+bool foo() {
+ return tint_workgroupUniformLoad_v();
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.msl
new file mode 100644
index 0000000..f593e45
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.msl
@@ -0,0 +1,14 @@
+#include <metal_stdlib>
+
+using namespace metal;
+bool tint_workgroupUniformLoad(threadgroup bool* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ bool const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+bool foo(threadgroup bool* const tint_symbol) {
+ return tint_workgroupUniformLoad(tint_symbol);
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.spvasm
new file mode 100644
index 0000000..df9773b
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.spvasm
@@ -0,0 +1,38 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 20
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %v "v"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_v "tint_workgroupUniformLoad_v"
+ OpName %foo "foo"
+ %bool = OpTypeBool
+%_ptr_Workgroup_bool = OpTypePointer Workgroup %bool
+ %v = OpVariable %_ptr_Workgroup_bool Workgroup
+ %void = OpTypeVoid
+ %4 = OpTypeFunction %void
+ %8 = OpTypeFunction %bool
+ %uint = OpTypeInt 32 0
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+%unused_entry_point = OpFunction %void None %4
+ %7 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_v = OpFunction %bool None %8
+ %10 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %15 = OpLoad %bool %v
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %15
+ OpFunctionEnd
+ %foo = OpFunction %bool None %8
+ %18 = OpLabel
+ %19 = OpFunctionCall %bool %tint_workgroupUniformLoad_v
+ OpReturnValue %19
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.wgsl
new file mode 100644
index 0000000..f5a2a83
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/bool.wgsl.expected.wgsl
@@ -0,0 +1,5 @@
+var<workgroup> v : bool;
+
+fn foo() -> bool {
+ return workgroupUniformLoad(&(v));
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl
new file mode 100644
index 0000000..5de56d5
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl
@@ -0,0 +1,7 @@
+var<workgroup> a : i32;
+var<workgroup> b : i32;
+
+fn foo() {
+ for (var i = 0; i < workgroupUniformLoad(&a); i += workgroupUniformLoad(&b)) {
+ }
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ec23355
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.dxc.hlsl
@@ -0,0 +1,42 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int a;
+
+int tint_workgroupUniformLoad_a() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = a;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+groupshared int b;
+
+int tint_workgroupUniformLoad_b() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = b;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void foo() {
+ {
+ int i = 0;
+ while (true) {
+ const int tint_symbol = i;
+ const int tint_symbol_1 = tint_workgroupUniformLoad_a();
+ if (!((tint_symbol < tint_symbol_1))) {
+ break;
+ }
+ {
+ }
+ {
+ const int tint_symbol_2 = i;
+ const int tint_symbol_3 = tint_workgroupUniformLoad_b();
+ i = (tint_symbol_2 + tint_symbol_3);
+ }
+ }
+ }
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ec23355
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.fxc.hlsl
@@ -0,0 +1,42 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int a;
+
+int tint_workgroupUniformLoad_a() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = a;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+groupshared int b;
+
+int tint_workgroupUniformLoad_b() {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = b;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+void foo() {
+ {
+ int i = 0;
+ while (true) {
+ const int tint_symbol = i;
+ const int tint_symbol_1 = tint_workgroupUniformLoad_a();
+ if (!((tint_symbol < tint_symbol_1))) {
+ break;
+ }
+ {
+ }
+ {
+ const int tint_symbol_2 = i;
+ const int tint_symbol_3 = tint_workgroupUniformLoad_b();
+ i = (tint_symbol_2 + tint_symbol_3);
+ }
+ }
+ }
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.glsl
new file mode 100644
index 0000000..09c4abe
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.glsl
@@ -0,0 +1,42 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+shared int a;
+int tint_workgroupUniformLoad_a() {
+ barrier();
+ int result = a;
+ barrier();
+ return result;
+}
+
+shared int b;
+int tint_workgroupUniformLoad_b() {
+ barrier();
+ int result = b;
+ barrier();
+ return result;
+}
+
+void foo() {
+ {
+ int i = 0;
+ while (true) {
+ int tint_symbol = i;
+ int tint_symbol_1 = tint_workgroupUniformLoad_a();
+ if (!((tint_symbol < tint_symbol_1))) {
+ break;
+ }
+ {
+ }
+ {
+ int tint_symbol_2 = i;
+ int tint_symbol_3 = tint_workgroupUniformLoad_b();
+ i = (tint_symbol_2 + tint_symbol_3);
+ }
+ }
+ }
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.msl
new file mode 100644
index 0000000..57923b6
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.msl
@@ -0,0 +1,30 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int tint_workgroupUniformLoad(threadgroup int* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ int const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void foo(threadgroup int* const tint_symbol_4, threadgroup int* const tint_symbol_5) {
+ {
+ int i = 0;
+ while (true) {
+ int const tint_symbol = i;
+ int const tint_symbol_1 = tint_workgroupUniformLoad(tint_symbol_4);
+ if (!((tint_symbol < tint_symbol_1))) {
+ break;
+ }
+ {
+ }
+ {
+ int const tint_symbol_2 = i;
+ int const tint_symbol_3 = tint_workgroupUniformLoad(tint_symbol_5);
+ i = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(tint_symbol_3)));
+ }
+ }
+ }
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.spvasm
new file mode 100644
index 0000000..55f1f12
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.spvasm
@@ -0,0 +1,75 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 42
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %a "a"
+ OpName %b "b"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_a "tint_workgroupUniformLoad_a"
+ OpName %tint_workgroupUniformLoad_b "tint_workgroupUniformLoad_b"
+ OpName %foo "foo"
+ OpName %i "i"
+ %int = OpTypeInt 32 1
+%_ptr_Workgroup_int = OpTypePointer Workgroup %int
+ %a = OpVariable %_ptr_Workgroup_int Workgroup
+ %b = OpVariable %_ptr_Workgroup_int Workgroup
+ %void = OpTypeVoid
+ %5 = OpTypeFunction %void
+ %9 = OpTypeFunction %int
+ %uint = OpTypeInt 32 0
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %25 = OpConstantNull %int
+%_ptr_Function_int = OpTypePointer Function %int
+ %bool = OpTypeBool
+%unused_entry_point = OpFunction %void None %5
+ %8 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_a = OpFunction %int None %9
+ %11 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %16 = OpLoad %int %a
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %16
+ OpFunctionEnd
+%tint_workgroupUniformLoad_b = OpFunction %int None %9
+ %19 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %21 = OpLoad %int %b
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %21
+ OpFunctionEnd
+ %foo = OpFunction %void None %5
+ %24 = OpLabel
+ %i = OpVariable %_ptr_Function_int Function %25
+ OpStore %i %25
+ OpBranch %28
+ %28 = OpLabel
+ OpLoopMerge %29 %30 None
+ OpBranch %31
+ %31 = OpLabel
+ %32 = OpLoad %int %i
+ %33 = OpFunctionCall %int %tint_workgroupUniformLoad_a
+ %35 = OpSLessThan %bool %32 %33
+ %34 = OpLogicalNot %bool %35
+ OpSelectionMerge %37 None
+ OpBranchConditional %34 %38 %37
+ %38 = OpLabel
+ OpBranch %29
+ %37 = OpLabel
+ OpBranch %30
+ %30 = OpLabel
+ %39 = OpLoad %int %i
+ %40 = OpFunctionCall %int %tint_workgroupUniformLoad_b
+ %41 = OpIAdd %int %39 %40
+ OpStore %i %41
+ OpBranch %28
+ %29 = OpLabel
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.wgsl
new file mode 100644
index 0000000..1de7b54
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/for_loop.wgsl.expected.wgsl
@@ -0,0 +1,8 @@
+var<workgroup> a : i32;
+
+var<workgroup> b : i32;
+
+fn foo() {
+ for(var i = 0; (i < workgroupUniformLoad(&(a))); i += workgroupUniformLoad(&(b))) {
+ }
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/for_loops.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/for_loops.wgsl.expected.msl
new file mode 100644
index 0000000..57923b6
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/for_loops.wgsl.expected.msl
@@ -0,0 +1,30 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int tint_workgroupUniformLoad(threadgroup int* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ int const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+void foo(threadgroup int* const tint_symbol_4, threadgroup int* const tint_symbol_5) {
+ {
+ int i = 0;
+ while (true) {
+ int const tint_symbol = i;
+ int const tint_symbol_1 = tint_workgroupUniformLoad(tint_symbol_4);
+ if (!((tint_symbol < tint_symbol_1))) {
+ break;
+ }
+ {
+ }
+ {
+ int const tint_symbol_2 = i;
+ int const tint_symbol_3 = tint_workgroupUniformLoad(tint_symbol_5);
+ i = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(tint_symbol_3)));
+ }
+ }
+ }
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl
new file mode 100644
index 0000000..8592270
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl
@@ -0,0 +1,8 @@
+var<workgroup> v : bool;
+
+fn foo() -> i32 {
+ if (workgroupUniformLoad(&v)) {
+ return 42;
+ }
+ return 0;
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..48a589f
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.dxc.hlsl
@@ -0,0 +1,20 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared bool v;
+
+bool tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const bool result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+int foo() {
+ if (tint_workgroupUniformLoad_v()) {
+ return 42;
+ }
+ return 0;
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48a589f
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.fxc.hlsl
@@ -0,0 +1,20 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared bool v;
+
+bool tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const bool result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+int foo() {
+ if (tint_workgroupUniformLoad_v()) {
+ return 42;
+ }
+ return 0;
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.glsl
new file mode 100644
index 0000000..ad15d25
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.glsl
@@ -0,0 +1,21 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+shared bool v;
+bool tint_workgroupUniformLoad_v() {
+ barrier();
+ bool result = v;
+ barrier();
+ return result;
+}
+
+int foo() {
+ if (tint_workgroupUniformLoad_v()) {
+ return 42;
+ }
+ return 0;
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.msl
new file mode 100644
index 0000000..a55470c
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.msl
@@ -0,0 +1,17 @@
+#include <metal_stdlib>
+
+using namespace metal;
+bool tint_workgroupUniformLoad(threadgroup bool* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ bool const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+int foo(threadgroup bool* const tint_symbol) {
+ if (tint_workgroupUniformLoad(tint_symbol)) {
+ return 42;
+ }
+ return 0;
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.spvasm
new file mode 100644
index 0000000..083d997
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.spvasm
@@ -0,0 +1,67 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 37
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %v "v"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_v "tint_workgroupUniformLoad_v"
+ OpName %foo "foo"
+ OpName %tint_return_flag "tint_return_flag"
+ OpName %tint_return_value "tint_return_value"
+ %bool = OpTypeBool
+%_ptr_Workgroup_bool = OpTypePointer Workgroup %bool
+ %v = OpVariable %_ptr_Workgroup_bool Workgroup
+ %void = OpTypeVoid
+ %4 = OpTypeFunction %void
+ %8 = OpTypeFunction %bool
+ %uint = OpTypeInt 32 0
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %int = OpTypeInt 32 1
+ %17 = OpTypeFunction %int
+%_ptr_Function_bool = OpTypePointer Function %bool
+ %23 = OpConstantNull %bool
+%_ptr_Function_int = OpTypePointer Function %int
+ %26 = OpConstantNull %int
+ %true = OpConstantTrue %bool
+ %int_42 = OpConstant %int 42
+%unused_entry_point = OpFunction %void None %4
+ %7 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_v = OpFunction %bool None %8
+ %10 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %15 = OpLoad %bool %v
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %15
+ OpFunctionEnd
+ %foo = OpFunction %int None %17
+ %20 = OpLabel
+%tint_return_flag = OpVariable %_ptr_Function_bool Function %23
+%tint_return_value = OpVariable %_ptr_Function_int Function %26
+ %27 = OpFunctionCall %bool %tint_workgroupUniformLoad_v
+ OpSelectionMerge %28 None
+ OpBranchConditional %27 %29 %28
+ %29 = OpLabel
+ OpStore %tint_return_flag %true
+ OpStore %tint_return_value %int_42
+ OpBranch %28
+ %28 = OpLabel
+ %33 = OpLoad %bool %tint_return_flag
+ %32 = OpLogicalNot %bool %33
+ OpSelectionMerge %34 None
+ OpBranchConditional %32 %35 %34
+ %35 = OpLabel
+ OpStore %tint_return_flag %true
+ OpStore %tint_return_value %26
+ OpBranch %34
+ %34 = OpLabel
+ %36 = OpLoad %int %tint_return_value
+ OpReturnValue %36
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.wgsl
new file mode 100644
index 0000000..8e5a28b
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/if_condition.wgsl.expected.wgsl
@@ -0,0 +1,8 @@
+var<workgroup> v : bool;
+
+fn foo() -> i32 {
+ if (workgroupUniformLoad(&(v))) {
+ return 42;
+ }
+ return 0;
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/matrix.wgsl b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl
new file mode 100644
index 0000000..97cf5ac
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl
@@ -0,0 +1,5 @@
+var<workgroup> v : mat3x3<f32>;
+
+fn foo() -> mat3x3<f32> {
+ return workgroupUniformLoad(&v);
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1b22b46
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.dxc.hlsl
@@ -0,0 +1,17 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared float3x3 v;
+
+float3x3 tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const float3x3 result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+float3x3 foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1b22b46
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.fxc.hlsl
@@ -0,0 +1,17 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared float3x3 v;
+
+float3x3 tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const float3x3 result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+float3x3 foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.glsl
new file mode 100644
index 0000000..ac70b34a
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.glsl
@@ -0,0 +1,18 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+shared mat3 v;
+mat3 tint_workgroupUniformLoad_v() {
+ barrier();
+ mat3 result = v;
+ barrier();
+ return result;
+}
+
+mat3 foo() {
+ return tint_workgroupUniformLoad_v();
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.msl
new file mode 100644
index 0000000..c37c301
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.msl
@@ -0,0 +1,14 @@
+#include <metal_stdlib>
+
+using namespace metal;
+float3x3 tint_workgroupUniformLoad(threadgroup float3x3* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ float3x3 const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+float3x3 foo(threadgroup float3x3* const tint_symbol) {
+ return tint_workgroupUniformLoad(tint_symbol);
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.spvasm
new file mode 100644
index 0000000..e77b58f
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.spvasm
@@ -0,0 +1,40 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 22
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %v "v"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_v "tint_workgroupUniformLoad_v"
+ OpName %foo "foo"
+ %float = OpTypeFloat 32
+ %v3float = OpTypeVector %float 3
+%mat3v3float = OpTypeMatrix %v3float 3
+%_ptr_Workgroup_mat3v3float = OpTypePointer Workgroup %mat3v3float
+ %v = OpVariable %_ptr_Workgroup_mat3v3float Workgroup
+ %void = OpTypeVoid
+ %6 = OpTypeFunction %void
+ %10 = OpTypeFunction %mat3v3float
+ %uint = OpTypeInt 32 0
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+%unused_entry_point = OpFunction %void None %6
+ %9 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_v = OpFunction %mat3v3float None %10
+ %12 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %17 = OpLoad %mat3v3float %v
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %17
+ OpFunctionEnd
+ %foo = OpFunction %mat3v3float None %10
+ %20 = OpLabel
+ %21 = OpFunctionCall %mat3v3float %tint_workgroupUniformLoad_v
+ OpReturnValue %21
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.wgsl
new file mode 100644
index 0000000..4f4dbb0
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/matrix.wgsl.expected.wgsl
@@ -0,0 +1,5 @@
+var<workgroup> v : mat3x3<f32>;
+
+fn foo() -> mat3x3<f32> {
+ return workgroupUniformLoad(&(v));
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/structures.wgsl b/test/tint/builtins/workgroupUniformLoad/structures.wgsl
new file mode 100644
index 0000000..d8ae634
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/structures.wgsl
@@ -0,0 +1,15 @@
+struct Inner {
+ b : bool,
+ v : vec4<i32>,
+ m : mat3x3<f32>,
+}
+
+struct Outer {
+ a : array<Inner, 4>,
+}
+
+var<workgroup> v : Outer;
+
+fn foo() -> Outer {
+ return workgroupUniformLoad(&v);
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..eb3a52c
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+struct Inner {
+ bool b;
+ int4 v;
+ float3x3 m;
+};
+struct Outer {
+ Inner a[4];
+};
+
+groupshared Outer v;
+
+Outer tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const Outer result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+Outer foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..eb3a52c
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+struct Inner {
+ bool b;
+ int4 v;
+ float3x3 m;
+};
+struct Outer {
+ Inner a[4];
+};
+
+groupshared Outer v;
+
+Outer tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const Outer result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+Outer foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.glsl
new file mode 100644
index 0000000..7f9766a
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.glsl
@@ -0,0 +1,28 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+struct Inner {
+ bool b;
+ ivec4 v;
+ mat3 m;
+};
+
+struct Outer {
+ Inner a[4];
+};
+
+shared Outer v;
+Outer tint_workgroupUniformLoad_v() {
+ barrier();
+ Outer result = v;
+ barrier();
+ return result;
+}
+
+Outer foo() {
+ return tint_workgroupUniformLoad_v();
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.msl
new file mode 100644
index 0000000..09b35ef
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+
+using namespace metal;
+
+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];
+};
+
+struct Inner {
+ bool b;
+ int4 v;
+ float3x3 m;
+};
+
+struct Outer {
+ tint_array<Inner, 4> a;
+};
+
+Outer tint_workgroupUniformLoad(threadgroup Outer* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ Outer const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+Outer foo(threadgroup Outer* const tint_symbol) {
+ return tint_workgroupUniformLoad(tint_symbol);
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.spvasm
new file mode 100644
index 0000000..1d5be36
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.spvasm
@@ -0,0 +1,60 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 29
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %Outer "Outer"
+ OpMemberName %Outer 0 "a"
+ OpName %Inner "Inner"
+ OpMemberName %Inner 0 "b"
+ OpMemberName %Inner 1 "v"
+ OpMemberName %Inner 2 "m"
+ OpName %v "v"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_v "tint_workgroupUniformLoad_v"
+ OpName %foo "foo"
+ OpMemberDecorate %Outer 0 Offset 0
+ OpMemberDecorate %Inner 0 Offset 0
+ OpMemberDecorate %Inner 1 Offset 16
+ OpMemberDecorate %Inner 2 Offset 32
+ OpMemberDecorate %Inner 2 ColMajor
+ OpMemberDecorate %Inner 2 MatrixStride 16
+ OpDecorate %_arr_Inner_uint_4 ArrayStride 80
+ %bool = OpTypeBool
+ %int = OpTypeInt 32 1
+ %v4int = OpTypeVector %int 4
+ %float = OpTypeFloat 32
+ %v3float = OpTypeVector %float 3
+%mat3v3float = OpTypeMatrix %v3float 3
+ %Inner = OpTypeStruct %bool %v4int %mat3v3float
+ %uint = OpTypeInt 32 0
+ %uint_4 = OpConstant %uint 4
+%_arr_Inner_uint_4 = OpTypeArray %Inner %uint_4
+ %Outer = OpTypeStruct %_arr_Inner_uint_4
+%_ptr_Workgroup_Outer = OpTypePointer Workgroup %Outer
+ %v = OpVariable %_ptr_Workgroup_Outer Workgroup
+ %void = OpTypeVoid
+ %14 = OpTypeFunction %void
+ %18 = OpTypeFunction %Outer
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+%unused_entry_point = OpFunction %void None %14
+ %17 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_v = OpFunction %Outer None %18
+ %20 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %24 = OpLoad %Outer %v
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %24
+ OpFunctionEnd
+ %foo = OpFunction %Outer None %18
+ %27 = OpLabel
+ %28 = OpFunctionCall %Outer %tint_workgroupUniformLoad_v
+ OpReturnValue %28
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.wgsl
new file mode 100644
index 0000000..ece72ad
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+struct Inner {
+ b : bool,
+ v : vec4<i32>,
+ m : mat3x3<f32>,
+}
+
+struct Outer {
+ a : array<Inner, 4>,
+}
+
+var<workgroup> v : Outer;
+
+fn foo() -> Outer {
+ return workgroupUniformLoad(&(v));
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/vec.wgsl b/test/tint/builtins/workgroupUniformLoad/vec.wgsl
new file mode 100644
index 0000000..ca04431
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/vec.wgsl
@@ -0,0 +1,5 @@
+var<workgroup> v : vec4<f32>;
+
+fn foo() -> vec4<f32> {
+ return workgroupUniformLoad(&v);
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..80cd6df
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.dxc.hlsl
@@ -0,0 +1,17 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared float4 v;
+
+float4 tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const float4 result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+float4 foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..80cd6df
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.fxc.hlsl
@@ -0,0 +1,17 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared float4 v;
+
+float4 tint_workgroupUniformLoad_v() {
+ GroupMemoryBarrierWithGroupSync();
+ const float4 result = v;
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+float4 foo() {
+ return tint_workgroupUniformLoad_v();
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.glsl
new file mode 100644
index 0000000..f4dc643
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.glsl
@@ -0,0 +1,18 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+shared vec4 v;
+vec4 tint_workgroupUniformLoad_v() {
+ barrier();
+ vec4 result = v;
+ barrier();
+ return result;
+}
+
+vec4 foo() {
+ return tint_workgroupUniformLoad_v();
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.msl
new file mode 100644
index 0000000..29f6e72
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.msl
@@ -0,0 +1,14 @@
+#include <metal_stdlib>
+
+using namespace metal;
+float4 tint_workgroupUniformLoad(threadgroup float4* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ float4 const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+float4 foo(threadgroup float4* const tint_symbol) {
+ return tint_workgroupUniformLoad(tint_symbol);
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.spvasm
new file mode 100644
index 0000000..8b2ea4e
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.spvasm
@@ -0,0 +1,39 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 21
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %v "v"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_v "tint_workgroupUniformLoad_v"
+ OpName %foo "foo"
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+%_ptr_Workgroup_v4float = OpTypePointer Workgroup %v4float
+ %v = OpVariable %_ptr_Workgroup_v4float Workgroup
+ %void = OpTypeVoid
+ %5 = OpTypeFunction %void
+ %9 = OpTypeFunction %v4float
+ %uint = OpTypeInt 32 0
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+%unused_entry_point = OpFunction %void None %5
+ %8 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_v = OpFunction %v4float None %9
+ %11 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %16 = OpLoad %v4float %v
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %16
+ OpFunctionEnd
+ %foo = OpFunction %v4float None %9
+ %19 = OpLabel
+ %20 = OpFunctionCall %v4float %tint_workgroupUniformLoad_v
+ OpReturnValue %20
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.wgsl
new file mode 100644
index 0000000..e3eea9b
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/vec.wgsl.expected.wgsl
@@ -0,0 +1,5 @@
+var<workgroup> v : vec4<f32>;
+
+fn foo() -> vec4<f32> {
+ return workgroupUniformLoad(&(v));
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/via_param.wgsl b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl
new file mode 100644
index 0000000..59f5e8b
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl
@@ -0,0 +1,11 @@
+enable chromium_experimental_full_ptr_parameters;
+
+var<workgroup> v : array<i32, 4>;
+
+fn foo(p : ptr<workgroup, i32>) -> i32 {
+ return workgroupUniformLoad(p);
+}
+
+fn bar() -> i32 {
+ return foo(&(v[0]));
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..de20d9c
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.dxc.hlsl
@@ -0,0 +1,23 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int v[4];
+
+int tint_workgroupUniformLoad_v_X(uint p[1]) {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = v[p[0]];
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+int foo_v_X(uint p[1]) {
+ const uint tint_symbol[1] = {p[0u]};
+ return tint_workgroupUniformLoad_v_X(tint_symbol);
+}
+
+int bar() {
+ const uint tint_symbol_1[1] = (uint[1])0;
+ return foo_v_X(tint_symbol_1);
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..de20d9c
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.fxc.hlsl
@@ -0,0 +1,23 @@
+[numthreads(1, 1, 1)]
+void unused_entry_point() {
+ return;
+}
+
+groupshared int v[4];
+
+int tint_workgroupUniformLoad_v_X(uint p[1]) {
+ GroupMemoryBarrierWithGroupSync();
+ const int result = v[p[0]];
+ GroupMemoryBarrierWithGroupSync();
+ return result;
+}
+
+int foo_v_X(uint p[1]) {
+ const uint tint_symbol[1] = {p[0u]};
+ return tint_workgroupUniformLoad_v_X(tint_symbol);
+}
+
+int bar() {
+ const uint tint_symbol_1[1] = (uint[1])0;
+ return foo_v_X(tint_symbol_1);
+}
diff --git a/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.glsl b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.glsl
new file mode 100644
index 0000000..7555463
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.glsl
@@ -0,0 +1,24 @@
+#version 310 es
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void unused_entry_point() {
+ return;
+}
+shared int v[4];
+int tint_workgroupUniformLoad_v_X(uint p[1]) {
+ barrier();
+ int result = v[p[0]];
+ barrier();
+ return result;
+}
+
+int foo_v_X(uint p[1]) {
+ uint tint_symbol[1] = uint[1](p[0u]);
+ return tint_workgroupUniformLoad_v_X(tint_symbol);
+}
+
+int bar() {
+ uint tint_symbol_1[1] = uint[1](0u);
+ return foo_v_X(tint_symbol_1);
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.msl b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.msl
new file mode 100644
index 0000000..f666133
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.msl
@@ -0,0 +1,31 @@
+#include <metal_stdlib>
+
+using namespace metal;
+
+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];
+};
+
+int tint_workgroupUniformLoad(threadgroup int* const p) {
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ int const result = *(p);
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ return result;
+}
+
+int foo(threadgroup int* const p) {
+ return tint_workgroupUniformLoad(p);
+}
+
+int bar(threadgroup tint_array<int, 4>* const tint_symbol) {
+ return foo(&((*(tint_symbol))[0]));
+}
+
diff --git a/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.spvasm b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.spvasm
new file mode 100644
index 0000000..439d8d2
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.spvasm
@@ -0,0 +1,63 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 38
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
+ OpExecutionMode %unused_entry_point LocalSize 1 1 1
+ OpName %v "v"
+ OpName %unused_entry_point "unused_entry_point"
+ OpName %tint_workgroupUniformLoad_v_X "tint_workgroupUniformLoad_v_X"
+ OpName %p "p"
+ OpName %foo_v_X "foo_v_X"
+ OpName %p_0 "p"
+ OpName %bar "bar"
+ OpDecorate %_arr_int_uint_4 ArrayStride 4
+ OpDecorate %_arr_uint_uint_1 ArrayStride 4
+ %int = OpTypeInt 32 1
+ %uint = OpTypeInt 32 0
+ %uint_4 = OpConstant %uint 4
+%_arr_int_uint_4 = OpTypeArray %int %uint_4
+%_ptr_Workgroup__arr_int_uint_4 = OpTypePointer Workgroup %_arr_int_uint_4
+ %v = OpVariable %_ptr_Workgroup__arr_int_uint_4 Workgroup
+ %void = OpTypeVoid
+ %7 = OpTypeFunction %void
+ %uint_1 = OpConstant %uint 1
+%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
+ %11 = OpTypeFunction %int %_arr_uint_uint_1
+ %uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
+ %20 = OpConstantNull %int
+%_ptr_Workgroup_int = OpTypePointer Workgroup %int
+ %30 = OpConstantNull %uint
+ %33 = OpTypeFunction %int
+ %37 = OpConstantNull %_arr_uint_uint_1
+%unused_entry_point = OpFunction %void None %7
+ %10 = OpLabel
+ OpReturn
+ OpFunctionEnd
+%tint_workgroupUniformLoad_v_X = OpFunction %int None %11
+ %p = OpFunctionParameter %_arr_uint_uint_1
+ %16 = OpLabel
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ %21 = OpCompositeExtract %uint %p 0
+ %23 = OpAccessChain %_ptr_Workgroup_int %v %21
+ %24 = OpLoad %int %23
+ OpControlBarrier %uint_2 %uint_2 %uint_264
+ OpReturnValue %24
+ OpFunctionEnd
+ %foo_v_X = OpFunction %int None %11
+ %p_0 = OpFunctionParameter %_arr_uint_uint_1
+ %28 = OpLabel
+ %31 = OpCompositeExtract %uint %p_0 0
+ %32 = OpCompositeConstruct %_arr_uint_uint_1 %31
+ %29 = OpFunctionCall %int %tint_workgroupUniformLoad_v_X %32
+ OpReturnValue %29
+ OpFunctionEnd
+ %bar = OpFunction %int None %33
+ %35 = OpLabel
+ %36 = OpFunctionCall %int %foo_v_X %37
+ OpReturnValue %36
+ OpFunctionEnd
diff --git a/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.wgsl b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.wgsl
new file mode 100644
index 0000000..59f5e8b
--- /dev/null
+++ b/test/tint/builtins/workgroupUniformLoad/via_param.wgsl.expected.wgsl
@@ -0,0 +1,11 @@
+enable chromium_experimental_full_ptr_parameters;
+
+var<workgroup> v : array<i32, 4>;
+
+fn foo(p : ptr<workgroup, i32>) -> i32 {
+ return workgroupUniformLoad(p);
+}
+
+fn bar() -> i32 {
+ return foo(&(v[0]));
+}