From e0362cf1a77248558d83cd62bef5325927c25b72 Mon Sep 17 00:00:00 2001 From: James Price Date: Wed, 5 Feb 2025 13:36:45 -0800 Subject: [PATCH] [msl] Handle subgroupMatrixStore builtins Replace them with simdgroup_store intrinsics in the builtin polyfill transform. The MSL intrinsics take a pointer to the first element, and have a `matrix_origin` parameter that must be a `ulong2`. Bug: 348702031 Change-Id: If45047dc291174c8d605ad1f29b449a6f8bde884 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/224254 Commit-Queue: James Price Reviewed-by: dan sinclair --- src/tint/lang/core/intrinsic/type_matchers.h | 9 + .../ir/transform/remove_terminator_args.h | 1 + .../lang/core/ir/transform/rename_conflicts.h | 1 + .../lang/core/ir/transform/value_to_let.h | 1 + src/tint/lang/msl/builtin_fn.cc | 3 + src/tint/lang/msl/builtin_fn.cc.tmpl | 1 + src/tint/lang/msl/builtin_fn.h | 1 + src/tint/lang/msl/intrinsic/data.cc | 2528 +++++++++-------- src/tint/lang/msl/msl.def | 12 + .../lang/msl/writer/raise/builtin_polyfill.cc | 36 + .../msl/writer/raise/builtin_polyfill_test.cc | 74 + src/tint/lang/msl/writer/writer.cc | 9 + .../09c565.wgsl.expected.ir.msl | 12 +- .../0d6927.wgsl.expected.ir.msl | 58 +- .../27338e.wgsl.expected.ir.msl | 12 +- .../2e04bd.wgsl.expected.ir.msl | 12 +- .../3208c3.wgsl.expected.ir.msl | 12 +- .../321539.wgsl.expected.ir.msl | 12 +- .../494f4e.wgsl.expected.ir.msl | 12 +- .../5644c4.wgsl.expected.ir.msl | 12 +- .../6dbaa2.wgsl.expected.ir.msl | 58 +- .../7954ee.wgsl.expected.ir.msl | 38 +- .../7a4769.wgsl.expected.ir.msl | 38 +- .../8d55ef.wgsl.expected.ir.msl | 58 +- .../9856cd.wgsl.expected.ir.msl | 58 +- .../9d8fcc.wgsl.expected.ir.msl | 12 +- .../aa2174.wgsl.expected.ir.msl | 38 +- .../ba3ee8.wgsl.expected.ir.msl | 12 +- .../cd3e65.wgsl.expected.ir.msl | 58 +- .../db58ad.wgsl.expected.ir.msl | 12 +- .../eb6865.wgsl.expected.ir.msl | 38 +- .../f2a4a2.wgsl.expected.ir.msl | 38 +- .../f9dcbf.wgsl.expected.ir.msl | 38 +- .../f9f8e7.wgsl.expected.ir.msl | 12 +- .../fbb29b.wgsl.expected.ir.msl | 58 +- .../fd08c0.wgsl.expected.ir.msl | 12 +- .../09c565.wgsl.expected.ir.msl | 12 +- .../0d6927.wgsl.expected.ir.msl | 62 +- .../27338e.wgsl.expected.ir.msl | 12 +- .../2e04bd.wgsl.expected.ir.msl | 12 +- .../3208c3.wgsl.expected.ir.msl | 12 +- .../321539.wgsl.expected.ir.msl | 12 +- .../494f4e.wgsl.expected.ir.msl | 12 +- .../5644c4.wgsl.expected.ir.msl | 12 +- .../6dbaa2.wgsl.expected.ir.msl | 62 +- .../7954ee.wgsl.expected.ir.msl | 42 +- .../7a4769.wgsl.expected.ir.msl | 42 +- .../8d55ef.wgsl.expected.ir.msl | 62 +- .../9856cd.wgsl.expected.ir.msl | 62 +- .../9d8fcc.wgsl.expected.ir.msl | 12 +- .../aa2174.wgsl.expected.ir.msl | 42 +- .../ba3ee8.wgsl.expected.ir.msl | 12 +- .../cd3e65.wgsl.expected.ir.msl | 62 +- .../db58ad.wgsl.expected.ir.msl | 12 +- .../eb6865.wgsl.expected.ir.msl | 42 +- .../f2a4a2.wgsl.expected.ir.msl | 42 +- .../f9dcbf.wgsl.expected.ir.msl | 42 +- .../f9f8e7.wgsl.expected.ir.msl | 12 +- .../fbb29b.wgsl.expected.ir.msl | 62 +- .../fd08c0.wgsl.expected.ir.msl | 12 +- 60 files changed, 2559 insertions(+), 1605 deletions(-) diff --git a/src/tint/lang/core/intrinsic/type_matchers.h b/src/tint/lang/core/intrinsic/type_matchers.h index 67dbada050..181df101e0 100644 --- a/src/tint/lang/core/intrinsic/type_matchers.h +++ b/src/tint/lang/core/intrinsic/type_matchers.h @@ -54,6 +54,7 @@ #include "src/tint/lang/core/type/storage_texture.h" #include "src/tint/lang/core/type/texture_dimension.h" #include "src/tint/lang/core/type/u32.h" +#include "src/tint/lang/core/type/u64.h" #include "src/tint/lang/core/type/u8.h" #include "src/tint/lang/core/type/vector.h" @@ -109,6 +110,14 @@ inline bool MatchU32(intrinsic::MatchState&, const type::Type* ty) { return ty->IsAnyOf(); } +inline const type::U64* BuildU64(intrinsic::MatchState& state, const type::Type*) { + return state.types.u64(); +} + +inline bool MatchU64(intrinsic::MatchState&, const type::Type* ty) { + return ty->IsAnyOf(); +} + inline const type::U8* BuildU8(intrinsic::MatchState& state, const type::Type*) { return state.types.u8(); } diff --git a/src/tint/lang/core/ir/transform/remove_terminator_args.h b/src/tint/lang/core/ir/transform/remove_terminator_args.h index 7a768eff00..2aa83a8d53 100644 --- a/src/tint/lang/core/ir/transform/remove_terminator_args.h +++ b/src/tint/lang/core/ir/transform/remove_terminator_args.h @@ -41,6 +41,7 @@ namespace tint::core::ir::transform { /// The capabilities that the transform can support. const core::ir::Capabilities kRemoveTerminatorArgsCapabilities{ core::ir::Capability::kAllow8BitIntegers, + core::ir::Capability::kAllow64BitIntegers, core::ir::Capability::kAllowPointersAndHandlesInStructures, core::ir::Capability::kAllowVectorElementPointer, core::ir::Capability::kAllowHandleVarsWithoutBindings, diff --git a/src/tint/lang/core/ir/transform/rename_conflicts.h b/src/tint/lang/core/ir/transform/rename_conflicts.h index 5dfafafaf9..579834f26f 100644 --- a/src/tint/lang/core/ir/transform/rename_conflicts.h +++ b/src/tint/lang/core/ir/transform/rename_conflicts.h @@ -41,6 +41,7 @@ namespace tint::core::ir::transform { /// The capabilities that the transform can support. const core::ir::Capabilities kRenameConflictsCapabilities{ core::ir::Capability::kAllow8BitIntegers, + core::ir::Capability::kAllow64BitIntegers, core::ir::Capability::kAllowPointersAndHandlesInStructures, core::ir::Capability::kAllowVectorElementPointer, core::ir::Capability::kAllowHandleVarsWithoutBindings, diff --git a/src/tint/lang/core/ir/transform/value_to_let.h b/src/tint/lang/core/ir/transform/value_to_let.h index 7cc799247c..ac088bb2c3 100644 --- a/src/tint/lang/core/ir/transform/value_to_let.h +++ b/src/tint/lang/core/ir/transform/value_to_let.h @@ -42,6 +42,7 @@ namespace tint::core::ir::transform { /// The capabilities that the transform can support. const core::ir::Capabilities kValueToLetCapabilities{ core::ir::Capability::kAllow8BitIntegers, + core::ir::Capability::kAllow64BitIntegers, core::ir::Capability::kAllowPointersAndHandlesInStructures, core::ir::Capability::kAllowVectorElementPointer, core::ir::Capability::kAllowHandleVarsWithoutBindings, diff --git a/src/tint/lang/msl/builtin_fn.cc b/src/tint/lang/msl/builtin_fn.cc index 13c4a698f0..55c2dcca89 100644 --- a/src/tint/lang/msl/builtin_fn.cc +++ b/src/tint/lang/msl/builtin_fn.cc @@ -112,6 +112,8 @@ const char* str(BuiltinFn i) { return "quad_shuffle_xor"; case BuiltinFn::kConvert: return "convert"; + case BuiltinFn::kSimdgroupStore: + return "simdgroup_store"; } return ""; } @@ -144,6 +146,7 @@ tint::core::ir::Instruction::Accesses GetSideEffects(BuiltinFn fn) { return core::ir::Instruction::Accesses{core::ir::Instruction::Access::kLoad}; case BuiltinFn::kWrite: + case BuiltinFn::kSimdgroupStore: return core::ir::Instruction::Accesses{core::ir::Instruction::Access::kStore}; case BuiltinFn::kDistance: diff --git a/src/tint/lang/msl/builtin_fn.cc.tmpl b/src/tint/lang/msl/builtin_fn.cc.tmpl index 22abdcfdc5..5409b7c76c 100644 --- a/src/tint/lang/msl/builtin_fn.cc.tmpl +++ b/src/tint/lang/msl/builtin_fn.cc.tmpl @@ -55,6 +55,7 @@ tint::core::ir::Instruction::Accesses GetSideEffects(BuiltinFn fn) { return core::ir::Instruction::Accesses{core::ir::Instruction::Access::kLoad}; case BuiltinFn::kWrite: + case BuiltinFn::kSimdgroupStore: return core::ir::Instruction::Accesses{core::ir::Instruction::Access::kStore}; case BuiltinFn::kDistance: diff --git a/src/tint/lang/msl/builtin_fn.h b/src/tint/lang/msl/builtin_fn.h index 2de005637b..1e0a789a26 100644 --- a/src/tint/lang/msl/builtin_fn.h +++ b/src/tint/lang/msl/builtin_fn.h @@ -83,6 +83,7 @@ enum class BuiltinFn : uint8_t { kSimdBallot, kQuadShuffleXor, kConvert, + kSimdgroupStore, kNone, }; diff --git a/src/tint/lang/msl/intrinsic/data.cc b/src/tint/lang/msl/intrinsic/data.cc index 48f0854fea..c5ca611064 100644 --- a/src/tint/lang/msl/intrinsic/data.cc +++ b/src/tint/lang/msl/intrinsic/data.cc @@ -131,6 +131,20 @@ constexpr TypeMatcher kU32Matcher { }; +/// TypeMatcher for 'type u64' +constexpr TypeMatcher kU64Matcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + if (!MatchU64(state, ty)) { + return nullptr; + } + return BuildU64(state, ty); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) { + out << style::Type("u64"); + } +}; + + /// TypeMatcher for 'type u8' constexpr TypeMatcher kU8Matcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -653,6 +667,44 @@ constexpr TypeMatcher kTextureStorage3DMatcher { }; +/// TypeMatcher for 'type subgroup_matrix' +constexpr TypeMatcher kSubgroupMatrixMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + Number S = Number::invalid; + const Type* T = nullptr; + Number C = Number::invalid; + Number R = Number::invalid; + if (!MatchSubgroupMatrix(state, ty, S, T, C, R)) { + return nullptr; + } + S = state.Num(S); + if (!S.IsValid()) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + C = state.Num(C); + if (!C.IsValid()) { + return nullptr; + } + R = state.Num(R); + if (!R.IsValid()) { + return nullptr; + } + return BuildSubgroupMatrix(state, ty, S, T, C, R); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText S; + state->PrintNum(S);StyledText T; + state->PrintType(T);StyledText C; + state->PrintNum(C);StyledText R; + state->PrintNum(R); + out << style::Type("subgroup_matrix", "<", S, ", ", T, ", ", C, ", ", R, ">"); + } +}; + + /// TypeMatcher for 'type bias' constexpr TypeMatcher kBiasMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -971,6 +1023,45 @@ constexpr NumberMatcher kU32TexelFormatMatcher { } }; +/// EnumMatcher for 'match subgroup_matrix_kind_left' +constexpr NumberMatcher kSubgroupMatrixKindLeftMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::SubgroupMatrixKind::kLeft)) { + return Number(static_cast(core::SubgroupMatrixKind::kLeft)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("left"); + } +}; + +/// EnumMatcher for 'match subgroup_matrix_kind_right' +constexpr NumberMatcher kSubgroupMatrixKindRightMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::SubgroupMatrixKind::kRight)) { + return Number(static_cast(core::SubgroupMatrixKind::kRight)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("right"); + } +}; + +/// EnumMatcher for 'match subgroup_matrix_kind_result' +constexpr NumberMatcher kSubgroupMatrixKindResultMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::SubgroupMatrixKind::kResult)) { + return Number(static_cast(core::SubgroupMatrixKind::kResult)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("result"); + } +}; + /// Type and number matchers /// The template types, types, and type matchers @@ -978,48 +1069,51 @@ constexpr TypeMatcher kTypeMatchers[] = { /* [0] */ TemplateTypeMatcher<0>::matcher, /* [1] */ TemplateTypeMatcher<1>::matcher, /* [2] */ TemplateTypeMatcher<2>::matcher, - /* [3] */ kBoolMatcher, - /* [4] */ kI32Matcher, - /* [5] */ kI8Matcher, - /* [6] */ kU32Matcher, - /* [7] */ kU8Matcher, - /* [8] */ kF32Matcher, - /* [9] */ kF16Matcher, - /* [10] */ kVec2Matcher, - /* [11] */ kVec3Matcher, - /* [12] */ kVec4Matcher, - /* [13] */ kVecMatcher, - /* [14] */ kAtomicMatcher, - /* [15] */ kPtrMatcher, - /* [16] */ kSamplerMatcher, - /* [17] */ kSamplerComparisonMatcher, - /* [18] */ kTexture1DMatcher, - /* [19] */ kTexture2DMatcher, - /* [20] */ kTexture2DArrayMatcher, - /* [21] */ kTexture3DMatcher, - /* [22] */ kTextureCubeMatcher, - /* [23] */ kTextureCubeArrayMatcher, - /* [24] */ kTextureDepth2DMatcher, - /* [25] */ kTextureDepth2DArrayMatcher, - /* [26] */ kTextureDepthCubeMatcher, - /* [27] */ kTextureDepthCubeArrayMatcher, - /* [28] */ kTextureDepthMultisampled2DMatcher, - /* [29] */ kTextureMultisampled2DMatcher, - /* [30] */ kTextureStorage1DMatcher, - /* [31] */ kTextureStorage2DMatcher, - /* [32] */ kTextureStorage2DArrayMatcher, - /* [33] */ kTextureStorage3DMatcher, - /* [34] */ kBiasMatcher, - /* [35] */ kGradient2DMatcher, - /* [36] */ kGradient3DMatcher, - /* [37] */ kGradientcubeMatcher, - /* [38] */ kLevelMatcher, - /* [39] */ kPackedVec3Matcher, - /* [40] */ kIu32Matcher, - /* [41] */ kFiu32Matcher, - /* [42] */ kF32F16Matcher, - /* [43] */ kFiu32F16Matcher, - /* [44] */ kIu8Matcher, + /* [3] */ TemplateTypeMatcher<3>::matcher, + /* [4] */ kBoolMatcher, + /* [5] */ kI32Matcher, + /* [6] */ kI8Matcher, + /* [7] */ kU32Matcher, + /* [8] */ kU64Matcher, + /* [9] */ kU8Matcher, + /* [10] */ kF32Matcher, + /* [11] */ kF16Matcher, + /* [12] */ kVec2Matcher, + /* [13] */ kVec3Matcher, + /* [14] */ kVec4Matcher, + /* [15] */ kVecMatcher, + /* [16] */ kAtomicMatcher, + /* [17] */ kPtrMatcher, + /* [18] */ kSamplerMatcher, + /* [19] */ kSamplerComparisonMatcher, + /* [20] */ kTexture1DMatcher, + /* [21] */ kTexture2DMatcher, + /* [22] */ kTexture2DArrayMatcher, + /* [23] */ kTexture3DMatcher, + /* [24] */ kTextureCubeMatcher, + /* [25] */ kTextureCubeArrayMatcher, + /* [26] */ kTextureDepth2DMatcher, + /* [27] */ kTextureDepth2DArrayMatcher, + /* [28] */ kTextureDepthCubeMatcher, + /* [29] */ kTextureDepthCubeArrayMatcher, + /* [30] */ kTextureDepthMultisampled2DMatcher, + /* [31] */ kTextureMultisampled2DMatcher, + /* [32] */ kTextureStorage1DMatcher, + /* [33] */ kTextureStorage2DMatcher, + /* [34] */ kTextureStorage2DArrayMatcher, + /* [35] */ kTextureStorage3DMatcher, + /* [36] */ kSubgroupMatrixMatcher, + /* [37] */ kBiasMatcher, + /* [38] */ kGradient2DMatcher, + /* [39] */ kGradient3DMatcher, + /* [40] */ kGradientcubeMatcher, + /* [41] */ kLevelMatcher, + /* [42] */ kPackedVec3Matcher, + /* [43] */ kIu32Matcher, + /* [44] */ kFiu32Matcher, + /* [45] */ kF32F16Matcher, + /* [46] */ kFiu32F16Matcher, + /* [47] */ kIu8Matcher, }; /// The template numbers, and number matchers @@ -1027,189 +1121,204 @@ constexpr NumberMatcher kNumberMatchers[] = { /* [0] */ TemplateNumberMatcher<0>::matcher, /* [1] */ TemplateNumberMatcher<1>::matcher, /* [2] */ TemplateNumberMatcher<2>::matcher, - /* [3] */ kReadWriteMatcher, - /* [4] */ kReadableMatcher, - /* [5] */ kWritableMatcher, - /* [6] */ kFunctionMatcher, - /* [7] */ kWorkgroupOrStorageMatcher, - /* [8] */ kF32TexelFormatMatcher, - /* [9] */ kI32TexelFormatMatcher, - /* [10] */ kU32TexelFormatMatcher, + /* [3] */ TemplateNumberMatcher<3>::matcher, + /* [4] */ kReadWriteMatcher, + /* [5] */ kReadableMatcher, + /* [6] */ kWritableMatcher, + /* [7] */ kFunctionMatcher, + /* [8] */ kWorkgroupOrStorageMatcher, + /* [9] */ kF32TexelFormatMatcher, + /* [10] */ kI32TexelFormatMatcher, + /* [11] */ kU32TexelFormatMatcher, + /* [12] */ kSubgroupMatrixKindLeftMatcher, + /* [13] */ kSubgroupMatrixKindRightMatcher, + /* [14] */ kSubgroupMatrixKindResultMatcher, }; constexpr MatcherIndex kMatcherIndices[] = { - /* [0] */ MatcherIndex(15), + /* [0] */ MatcherIndex(17), /* [1] */ MatcherIndex(1), - /* [2] */ MatcherIndex(14), + /* [2] */ MatcherIndex(16), /* [3] */ MatcherIndex(0), - /* [4] */ MatcherIndex(3), - /* [5] */ MatcherIndex(15), - /* [6] */ MatcherIndex(6), - /* [7] */ MatcherIndex(0), - /* [8] */ MatcherIndex(3), - /* [9] */ MatcherIndex(30), - /* [10] */ MatcherIndex(0), - /* [11] */ MatcherIndex(1), - /* [12] */ MatcherIndex(31), - /* [13] */ MatcherIndex(0), - /* [14] */ MatcherIndex(1), - /* [15] */ MatcherIndex(32), - /* [16] */ MatcherIndex(0), - /* [17] */ MatcherIndex(1), - /* [18] */ MatcherIndex(33), + /* [4] */ MatcherIndex(4), + /* [5] */ MatcherIndex(36), + /* [6] */ MatcherIndex(0), + /* [7] */ MatcherIndex(1), + /* [8] */ MatcherIndex(2), + /* [9] */ MatcherIndex(3), + /* [10] */ MatcherIndex(17), + /* [11] */ MatcherIndex(7), + /* [12] */ MatcherIndex(0), + /* [13] */ MatcherIndex(4), + /* [14] */ MatcherIndex(17), + /* [15] */ MatcherIndex(8), + /* [16] */ MatcherIndex(1), + /* [17] */ MatcherIndex(6), + /* [18] */ MatcherIndex(32), /* [19] */ MatcherIndex(0), /* [20] */ MatcherIndex(1), - /* [21] */ MatcherIndex(30), - /* [22] */ MatcherIndex(8), - /* [23] */ MatcherIndex(4), - /* [24] */ MatcherIndex(31), - /* [25] */ MatcherIndex(8), - /* [26] */ MatcherIndex(4), - /* [27] */ MatcherIndex(32), - /* [28] */ MatcherIndex(8), - /* [29] */ MatcherIndex(4), - /* [30] */ MatcherIndex(33), - /* [31] */ MatcherIndex(8), - /* [32] */ MatcherIndex(4), - /* [33] */ MatcherIndex(30), + /* [21] */ MatcherIndex(33), + /* [22] */ MatcherIndex(0), + /* [23] */ MatcherIndex(1), + /* [24] */ MatcherIndex(34), + /* [25] */ MatcherIndex(0), + /* [26] */ MatcherIndex(1), + /* [27] */ MatcherIndex(35), + /* [28] */ MatcherIndex(0), + /* [29] */ MatcherIndex(1), + /* [30] */ MatcherIndex(32), + /* [31] */ MatcherIndex(9), + /* [32] */ MatcherIndex(5), + /* [33] */ MatcherIndex(33), /* [34] */ MatcherIndex(9), - /* [35] */ MatcherIndex(4), - /* [36] */ MatcherIndex(31), + /* [35] */ MatcherIndex(5), + /* [36] */ MatcherIndex(34), /* [37] */ MatcherIndex(9), - /* [38] */ MatcherIndex(4), - /* [39] */ MatcherIndex(32), + /* [38] */ MatcherIndex(5), + /* [39] */ MatcherIndex(35), /* [40] */ MatcherIndex(9), - /* [41] */ MatcherIndex(4), - /* [42] */ MatcherIndex(33), - /* [43] */ MatcherIndex(9), - /* [44] */ MatcherIndex(4), - /* [45] */ MatcherIndex(30), + /* [41] */ MatcherIndex(5), + /* [42] */ MatcherIndex(32), + /* [43] */ MatcherIndex(10), + /* [44] */ MatcherIndex(5), + /* [45] */ MatcherIndex(33), /* [46] */ MatcherIndex(10), - /* [47] */ MatcherIndex(4), - /* [48] */ MatcherIndex(31), + /* [47] */ MatcherIndex(5), + /* [48] */ MatcherIndex(34), /* [49] */ MatcherIndex(10), - /* [50] */ MatcherIndex(4), - /* [51] */ MatcherIndex(32), + /* [50] */ MatcherIndex(5), + /* [51] */ MatcherIndex(35), /* [52] */ MatcherIndex(10), - /* [53] */ MatcherIndex(4), - /* [54] */ MatcherIndex(33), - /* [55] */ MatcherIndex(10), - /* [56] */ MatcherIndex(4), - /* [57] */ MatcherIndex(30), - /* [58] */ MatcherIndex(8), + /* [53] */ MatcherIndex(5), + /* [54] */ MatcherIndex(32), + /* [55] */ MatcherIndex(11), + /* [56] */ MatcherIndex(5), + /* [57] */ MatcherIndex(33), + /* [58] */ MatcherIndex(11), /* [59] */ MatcherIndex(5), - /* [60] */ MatcherIndex(31), - /* [61] */ MatcherIndex(8), + /* [60] */ MatcherIndex(34), + /* [61] */ MatcherIndex(11), /* [62] */ MatcherIndex(5), - /* [63] */ MatcherIndex(32), - /* [64] */ MatcherIndex(8), + /* [63] */ MatcherIndex(35), + /* [64] */ MatcherIndex(11), /* [65] */ MatcherIndex(5), - /* [66] */ MatcherIndex(33), - /* [67] */ MatcherIndex(8), - /* [68] */ MatcherIndex(5), - /* [69] */ MatcherIndex(30), + /* [66] */ MatcherIndex(32), + /* [67] */ MatcherIndex(9), + /* [68] */ MatcherIndex(6), + /* [69] */ MatcherIndex(33), /* [70] */ MatcherIndex(9), - /* [71] */ MatcherIndex(5), - /* [72] */ MatcherIndex(31), + /* [71] */ MatcherIndex(6), + /* [72] */ MatcherIndex(34), /* [73] */ MatcherIndex(9), - /* [74] */ MatcherIndex(5), - /* [75] */ MatcherIndex(32), + /* [74] */ MatcherIndex(6), + /* [75] */ MatcherIndex(35), /* [76] */ MatcherIndex(9), - /* [77] */ MatcherIndex(5), - /* [78] */ MatcherIndex(33), - /* [79] */ MatcherIndex(9), - /* [80] */ MatcherIndex(5), - /* [81] */ MatcherIndex(30), + /* [77] */ MatcherIndex(6), + /* [78] */ MatcherIndex(32), + /* [79] */ MatcherIndex(10), + /* [80] */ MatcherIndex(6), + /* [81] */ MatcherIndex(33), /* [82] */ MatcherIndex(10), - /* [83] */ MatcherIndex(5), - /* [84] */ MatcherIndex(31), + /* [83] */ MatcherIndex(6), + /* [84] */ MatcherIndex(34), /* [85] */ MatcherIndex(10), - /* [86] */ MatcherIndex(5), - /* [87] */ MatcherIndex(32), + /* [86] */ MatcherIndex(6), + /* [87] */ MatcherIndex(35), /* [88] */ MatcherIndex(10), - /* [89] */ MatcherIndex(5), - /* [90] */ MatcherIndex(33), - /* [91] */ MatcherIndex(10), - /* [92] */ MatcherIndex(5), - /* [93] */ MatcherIndex(13), - /* [94] */ MatcherIndex(0), - /* [95] */ MatcherIndex(1), - /* [96] */ MatcherIndex(13), - /* [97] */ MatcherIndex(0), - /* [98] */ MatcherIndex(4), - /* [99] */ MatcherIndex(12), - /* [100] */ MatcherIndex(0), - /* [101] */ MatcherIndex(19), - /* [102] */ MatcherIndex(0), - /* [103] */ MatcherIndex(10), - /* [104] */ MatcherIndex(8), - /* [105] */ MatcherIndex(20), + /* [89] */ MatcherIndex(6), + /* [90] */ MatcherIndex(32), + /* [91] */ MatcherIndex(11), + /* [92] */ MatcherIndex(6), + /* [93] */ MatcherIndex(33), + /* [94] */ MatcherIndex(11), + /* [95] */ MatcherIndex(6), + /* [96] */ MatcherIndex(34), + /* [97] */ MatcherIndex(11), + /* [98] */ MatcherIndex(6), + /* [99] */ MatcherIndex(35), + /* [100] */ MatcherIndex(11), + /* [101] */ MatcherIndex(6), + /* [102] */ MatcherIndex(15), + /* [103] */ MatcherIndex(0), + /* [104] */ MatcherIndex(1), + /* [105] */ MatcherIndex(15), /* [106] */ MatcherIndex(0), - /* [107] */ MatcherIndex(22), - /* [108] */ MatcherIndex(0), - /* [109] */ MatcherIndex(11), - /* [110] */ MatcherIndex(8), - /* [111] */ MatcherIndex(23), - /* [112] */ MatcherIndex(0), - /* [113] */ MatcherIndex(12), - /* [114] */ MatcherIndex(8), - /* [115] */ MatcherIndex(18), - /* [116] */ MatcherIndex(0), - /* [117] */ MatcherIndex(21), - /* [118] */ MatcherIndex(0), - /* [119] */ MatcherIndex(29), - /* [120] */ MatcherIndex(0), + /* [107] */ MatcherIndex(5), + /* [108] */ MatcherIndex(14), + /* [109] */ MatcherIndex(0), + /* [110] */ MatcherIndex(21), + /* [111] */ MatcherIndex(0), + /* [112] */ MatcherIndex(12), + /* [113] */ MatcherIndex(10), + /* [114] */ MatcherIndex(12), + /* [115] */ MatcherIndex(5), + /* [116] */ MatcherIndex(22), + /* [117] */ MatcherIndex(0), + /* [118] */ MatcherIndex(24), + /* [119] */ MatcherIndex(0), + /* [120] */ MatcherIndex(13), /* [121] */ MatcherIndex(10), - /* [122] */ MatcherIndex(6), - /* [123] */ MatcherIndex(11), - /* [124] */ MatcherIndex(6), - /* [125] */ MatcherIndex(12), - /* [126] */ MatcherIndex(4), - /* [127] */ MatcherIndex(12), - /* [128] */ MatcherIndex(6), - /* [129] */ MatcherIndex(18), - /* [130] */ MatcherIndex(8), - /* [131] */ MatcherIndex(19), - /* [132] */ MatcherIndex(8), - /* [133] */ MatcherIndex(20), - /* [134] */ MatcherIndex(8), - /* [135] */ MatcherIndex(21), - /* [136] */ MatcherIndex(8), - /* [137] */ MatcherIndex(11), - /* [138] */ MatcherIndex(4), - /* [139] */ MatcherIndex(22), - /* [140] */ MatcherIndex(8), - /* [141] */ MatcherIndex(23), - /* [142] */ MatcherIndex(8), - /* [143] */ MatcherIndex(39), - /* [144] */ MatcherIndex(6), - /* [145] */ MatcherIndex(39), - /* [146] */ MatcherIndex(4), - /* [147] */ MatcherIndex(39), - /* [148] */ MatcherIndex(8), - /* [149] */ MatcherIndex(11), - /* [150] */ MatcherIndex(9), - /* [151] */ MatcherIndex(39), - /* [152] */ MatcherIndex(9), - /* [153] */ MatcherIndex(40), - /* [154] */ MatcherIndex(7), - /* [155] */ MatcherIndex(41), - /* [156] */ MatcherIndex(16), - /* [157] */ MatcherIndex(24), - /* [158] */ MatcherIndex(25), - /* [159] */ MatcherIndex(26), - /* [160] */ MatcherIndex(27), - /* [161] */ MatcherIndex(17), - /* [162] */ MatcherIndex(28), - /* [163] */ MatcherIndex(2), - /* [164] */ MatcherIndex(38), - /* [165] */ MatcherIndex(34), - /* [166] */ MatcherIndex(35), - /* [167] */ MatcherIndex(36), - /* [168] */ MatcherIndex(37), - /* [169] */ MatcherIndex(42), - /* [170] */ MatcherIndex(43), - /* [171] */ MatcherIndex(44), + /* [122] */ MatcherIndex(25), + /* [123] */ MatcherIndex(0), + /* [124] */ MatcherIndex(14), + /* [125] */ MatcherIndex(10), + /* [126] */ MatcherIndex(20), + /* [127] */ MatcherIndex(0), + /* [128] */ MatcherIndex(23), + /* [129] */ MatcherIndex(0), + /* [130] */ MatcherIndex(31), + /* [131] */ MatcherIndex(0), + /* [132] */ MatcherIndex(12), + /* [133] */ MatcherIndex(7), + /* [134] */ MatcherIndex(13), + /* [135] */ MatcherIndex(7), + /* [136] */ MatcherIndex(14), + /* [137] */ MatcherIndex(5), + /* [138] */ MatcherIndex(14), + /* [139] */ MatcherIndex(7), + /* [140] */ MatcherIndex(20), + /* [141] */ MatcherIndex(10), + /* [142] */ MatcherIndex(21), + /* [143] */ MatcherIndex(10), + /* [144] */ MatcherIndex(22), + /* [145] */ MatcherIndex(10), + /* [146] */ MatcherIndex(23), + /* [147] */ MatcherIndex(10), + /* [148] */ MatcherIndex(13), + /* [149] */ MatcherIndex(5), + /* [150] */ MatcherIndex(24), + /* [151] */ MatcherIndex(10), + /* [152] */ MatcherIndex(25), + /* [153] */ MatcherIndex(10), + /* [154] */ MatcherIndex(42), + /* [155] */ MatcherIndex(7), + /* [156] */ MatcherIndex(42), + /* [157] */ MatcherIndex(5), + /* [158] */ MatcherIndex(42), + /* [159] */ MatcherIndex(10), + /* [160] */ MatcherIndex(13), + /* [161] */ MatcherIndex(11), + /* [162] */ MatcherIndex(42), + /* [163] */ MatcherIndex(11), + /* [164] */ MatcherIndex(12), + /* [165] */ MatcherIndex(8), + /* [166] */ MatcherIndex(43), + /* [167] */ MatcherIndex(44), + /* [168] */ MatcherIndex(18), + /* [169] */ MatcherIndex(26), + /* [170] */ MatcherIndex(27), + /* [171] */ MatcherIndex(28), + /* [172] */ MatcherIndex(29), + /* [173] */ MatcherIndex(19), + /* [174] */ MatcherIndex(30), + /* [175] */ MatcherIndex(41), + /* [176] */ MatcherIndex(37), + /* [177] */ MatcherIndex(38), + /* [178] */ MatcherIndex(39), + /* [179] */ MatcherIndex(40), + /* [180] */ MatcherIndex(45), + /* [181] */ MatcherIndex(46), + /* [182] */ MatcherIndex(47), }; static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices), @@ -1219,17 +1328,17 @@ constexpr ParameterInfo kParameters[] = { { /* [0] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(158), + /* matcher_indices */ MatcherIndicesIndex(170), }, { /* [1] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(161), + /* matcher_indices */ MatcherIndicesIndex(173), }, { /* [2] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [3] */ @@ -1239,32 +1348,32 @@ constexpr ParameterInfo kParameters[] = { { /* [4] */ /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(22), + /* matcher_indices */ MatcherIndicesIndex(43), }, { /* [5] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [6] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [7] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(105), + /* matcher_indices */ MatcherIndicesIndex(116), }, { /* [8] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [9] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [10] */ @@ -1274,27 +1383,27 @@ constexpr ParameterInfo kParameters[] = { { /* [11] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [12] */ /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [13] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(158), + /* matcher_indices */ MatcherIndicesIndex(170), }, { /* [14] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(161), + /* matcher_indices */ MatcherIndicesIndex(173), }, { /* [15] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [16] */ @@ -1304,27 +1413,27 @@ constexpr ParameterInfo kParameters[] = { { /* [17] */ /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(22), + /* matcher_indices */ MatcherIndicesIndex(43), }, { /* [18] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [19] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(133), + /* matcher_indices */ MatcherIndicesIndex(144), }, { /* [20] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [21] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [22] */ @@ -1334,27 +1443,27 @@ constexpr ParameterInfo kParameters[] = { { /* [23] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [24] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [25] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(158), + /* matcher_indices */ MatcherIndicesIndex(170), }, { /* [26] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [27] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [28] */ @@ -1364,27 +1473,27 @@ constexpr ParameterInfo kParameters[] = { { /* [29] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [30] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [31] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(133), + /* matcher_indices */ MatcherIndicesIndex(144), }, { /* [32] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [33] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [34] */ @@ -1394,27 +1503,27 @@ constexpr ParameterInfo kParameters[] = { { /* [35] */ /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(165), + /* matcher_indices */ MatcherIndicesIndex(176), }, { /* [36] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [37] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(133), + /* matcher_indices */ MatcherIndicesIndex(144), }, { /* [38] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [39] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [40] */ @@ -1424,57 +1533,57 @@ constexpr ParameterInfo kParameters[] = { { /* [41] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(166), + /* matcher_indices */ MatcherIndicesIndex(177), }, { /* [42] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [43] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(157), + /* matcher_indices */ MatcherIndicesIndex(169), }, { /* [44] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(161), + /* matcher_indices */ MatcherIndicesIndex(173), }, { /* [45] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [46] */ /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(22), + /* matcher_indices */ MatcherIndicesIndex(43), }, { /* [47] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [48] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [49] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(160), + /* matcher_indices */ MatcherIndicesIndex(172), }, { /* [50] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(161), + /* matcher_indices */ MatcherIndicesIndex(173), }, { /* [51] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [52] */ @@ -1484,12 +1593,12 @@ constexpr ParameterInfo kParameters[] = { { /* [53] */ /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(22), + /* matcher_indices */ MatcherIndicesIndex(43), }, { /* [54] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [55] */ @@ -1499,7 +1608,7 @@ constexpr ParameterInfo kParameters[] = { { /* [56] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(5), + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [57] */ @@ -1509,52 +1618,52 @@ constexpr ParameterInfo kParameters[] = { { /* [58] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [59] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [60] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(101), + /* matcher_indices */ MatcherIndicesIndex(110), }, { /* [61] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [62] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [63] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [64] */ /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [65] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(111), + /* matcher_indices */ MatcherIndicesIndex(122), }, { /* [66] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [67] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [68] */ @@ -1564,22 +1673,22 @@ constexpr ParameterInfo kParameters[] = { { /* [69] */ /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [70] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(158), + /* matcher_indices */ MatcherIndicesIndex(170), }, { /* [71] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [72] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [73] */ @@ -1589,47 +1698,47 @@ constexpr ParameterInfo kParameters[] = { { /* [74] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [75] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(157), + /* matcher_indices */ MatcherIndicesIndex(169), }, { /* [76] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(161), + /* matcher_indices */ MatcherIndicesIndex(173), }, { /* [77] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [78] */ /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(22), + /* matcher_indices */ MatcherIndicesIndex(43), }, { /* [79] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [80] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(133), + /* matcher_indices */ MatcherIndicesIndex(144), }, { /* [81] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [82] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [83] */ @@ -1639,72 +1748,72 @@ constexpr ParameterInfo kParameters[] = { { /* [84] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [85] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(131), + /* matcher_indices */ MatcherIndicesIndex(142), }, { /* [86] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [87] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [88] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [89] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [90] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(135), + /* matcher_indices */ MatcherIndicesIndex(146), }, { /* [91] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [92] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [93] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [94] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(137), + /* matcher_indices */ MatcherIndicesIndex(148), }, { /* [95] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(141), + /* matcher_indices */ MatcherIndicesIndex(152), }, { /* [96] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [97] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [98] */ @@ -1714,47 +1823,47 @@ constexpr ParameterInfo kParameters[] = { { /* [99] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [100] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(157), + /* matcher_indices */ MatcherIndicesIndex(169), }, { /* [101] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [102] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [103] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [104] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [105] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(160), + /* matcher_indices */ MatcherIndicesIndex(172), }, { /* [106] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [107] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [108] */ @@ -1764,72 +1873,72 @@ constexpr ParameterInfo kParameters[] = { { /* [109] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [110] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(131), + /* matcher_indices */ MatcherIndicesIndex(142), }, { /* [111] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [112] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [113] */ /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(165), + /* matcher_indices */ MatcherIndicesIndex(176), }, { /* [114] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [115] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(135), + /* matcher_indices */ MatcherIndicesIndex(146), }, { /* [116] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [117] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [118] */ /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(165), + /* matcher_indices */ MatcherIndicesIndex(176), }, { /* [119] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(137), + /* matcher_indices */ MatcherIndicesIndex(148), }, { /* [120] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(141), + /* matcher_indices */ MatcherIndicesIndex(152), }, { /* [121] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [122] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [123] */ @@ -1839,72 +1948,72 @@ constexpr ParameterInfo kParameters[] = { { /* [124] */ /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(165), + /* matcher_indices */ MatcherIndicesIndex(176), }, { /* [125] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(131), + /* matcher_indices */ MatcherIndicesIndex(142), }, { /* [126] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [127] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [128] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(166), + /* matcher_indices */ MatcherIndicesIndex(177), }, { /* [129] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [130] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(135), + /* matcher_indices */ MatcherIndicesIndex(146), }, { /* [131] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [132] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [133] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(167), + /* matcher_indices */ MatcherIndicesIndex(178), }, { /* [134] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(137), + /* matcher_indices */ MatcherIndicesIndex(148), }, { /* [135] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(141), + /* matcher_indices */ MatcherIndicesIndex(152), }, { /* [136] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [137] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [138] */ @@ -1914,907 +2023,927 @@ constexpr ParameterInfo kParameters[] = { { /* [139] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(168), + /* matcher_indices */ MatcherIndicesIndex(179), }, { /* [140] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(159), + /* matcher_indices */ MatcherIndicesIndex(171), }, { /* [141] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(161), + /* matcher_indices */ MatcherIndicesIndex(173), }, { /* [142] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [143] */ /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(22), + /* matcher_indices */ MatcherIndicesIndex(43), }, { /* [144] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [145] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(107), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(5), }, { /* [146] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(14), }, { /* [147] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(15), }, { /* [148] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(164), }, { /* [149] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(157), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(4), }, { /* [150] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(118), }, { /* [151] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* usage */ core::ParameterUsage::kSampler, + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [152] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [153] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(105), + /* usage */ core::ParameterUsage::kComponent, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [154] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(169), }, { /* [155] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(1), + /* usage */ core::ParameterUsage::kSampler, + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [156] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(163), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [157] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(158), + /* usage */ core::ParameterUsage::kOffset, + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [158] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(116), }, { /* [159] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [160] */ - /* usage */ core::ParameterUsage::kLevel, + /* usage */ core::ParameterUsage::kArrayIndex, /* matcher_indices */ MatcherIndicesIndex(1), }, { /* [161] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(131), + /* usage */ core::ParameterUsage::kLevel, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [162] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(170), }, { /* [163] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(103), + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [164] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(46), + /* usage */ core::ParameterUsage::kArrayIndex, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [165] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(135), + /* usage */ core::ParameterUsage::kLevel, + /* matcher_indices */ MatcherIndicesIndex(1), }, { /* [166] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(142), }, { /* [167] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kSampler, + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [168] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(137), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [169] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(139), + /* usage */ core::ParameterUsage::kOffset, + /* matcher_indices */ MatcherIndicesIndex(114), }, { /* [170] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(146), }, { /* [171] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kSampler, + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [172] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [173] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(159), + /* usage */ core::ParameterUsage::kOffset, + /* matcher_indices */ MatcherIndicesIndex(148), }, { /* [174] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(150), }, { /* [175] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kSampler, + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [176] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(164), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [177] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(139), + /* usage */ core::ParameterUsage::kLevel, + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [178] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(171), }, { /* [179] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kSampler, + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [180] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(165), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [181] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(139), + /* usage */ core::ParameterUsage::kLevel, + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [182] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(150), }, { /* [183] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kSampler, + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [184] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(168), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [185] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(63), + /* usage */ core::ParameterUsage::kBias, + /* matcher_indices */ MatcherIndicesIndex(176), }, { /* [186] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(113), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(150), }, { /* [187] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kSampler, + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [188] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [189] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(75), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(179), }, { /* [190] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(125), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(72), }, { /* [191] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kValue, + /* matcher_indices */ MatcherIndicesIndex(124), }, { /* [192] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [193] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(87), + /* usage */ core::ParameterUsage::kArrayIndex, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [194] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(127), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(84), }, { /* [195] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kValue, + /* matcher_indices */ MatcherIndicesIndex(136), }, { /* [196] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [197] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(0), + /* usage */ core::ParameterUsage::kArrayIndex, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [198] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(96), }, { /* [199] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kValue, + /* matcher_indices */ MatcherIndicesIndex(138), }, { /* [200] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(101), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [201] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kArrayIndex, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [202] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(1), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(0), }, { /* [203] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(117), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [204] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(123), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [205] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(1), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(110), }, { /* [206] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(119), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [207] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kLevel, + /* matcher_indices */ MatcherIndicesIndex(1), }, { /* [208] */ - /* usage */ core::ParameterUsage::kSampleIndex, - /* matcher_indices */ MatcherIndicesIndex(1), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(128), }, { /* [209] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(157), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(134), }, { /* [210] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kLevel, + /* matcher_indices */ MatcherIndicesIndex(1), }, { /* [211] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(130), }, { /* [212] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(162), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [213] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kSampleIndex, + /* matcher_indices */ MatcherIndicesIndex(1), }, { /* [214] */ - /* usage */ core::ParameterUsage::kSampleIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(169), }, { /* [215] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [216] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kLevel, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [217] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(174), }, { /* [218] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(39), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [219] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kSampleIndex, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [220] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(36), }, { /* [221] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(51), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [222] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kArrayIndex, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [223] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [224] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(129), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [225] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(156), + /* usage */ core::ParameterUsage::kArrayIndex, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [226] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(22), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(60), }, { /* [227] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(57), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [228] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(113), + /* usage */ core::ParameterUsage::kArrayIndex, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [229] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(140), }, { /* [230] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(60), + /* usage */ core::ParameterUsage::kSampler, + /* matcher_indices */ MatcherIndicesIndex(168), }, { /* [231] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(113), - }, - { - /* [232] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* matcher_indices */ MatcherIndicesIndex(43), }, { - /* [233] */ + /* [232] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(66), }, { - /* [234] */ + /* [233] */ /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(113), + /* matcher_indices */ MatcherIndicesIndex(124), }, { - /* [235] */ + /* [234] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(123), + /* matcher_indices */ MatcherIndicesIndex(11), }, { - /* [236] */ + /* [235] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(69), }, { - /* [237] */ + /* [236] */ /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(125), + /* matcher_indices */ MatcherIndicesIndex(124), }, { - /* [238] */ + /* [237] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(132), }, { - /* [239] */ + /* [238] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(72), + /* matcher_indices */ MatcherIndicesIndex(75), }, { - /* [240] */ + /* [239] */ /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(125), + /* matcher_indices */ MatcherIndicesIndex(124), }, { - /* [241] */ + /* [240] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* matcher_indices */ MatcherIndicesIndex(134), }, { - /* [242] */ + /* [241] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(78), }, { - /* [243] */ + /* [242] */ /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(125), + /* matcher_indices */ MatcherIndicesIndex(136), }, { - /* [244] */ + /* [243] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(123), + /* matcher_indices */ MatcherIndicesIndex(11), }, { - /* [245] */ + /* [244] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(81), }, { - /* [246] */ + /* [245] */ /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(127), + /* matcher_indices */ MatcherIndicesIndex(136), }, { - /* [247] */ + /* [246] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(132), }, { - /* [248] */ + /* [247] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(84), + /* matcher_indices */ MatcherIndicesIndex(87), }, { - /* [249] */ + /* [248] */ /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(127), + /* matcher_indices */ MatcherIndicesIndex(136), }, { - /* [250] */ + /* [249] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* matcher_indices */ MatcherIndicesIndex(134), }, { - /* [251] */ + /* [250] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(90), }, { - /* [252] */ + /* [251] */ /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(127), + /* matcher_indices */ MatcherIndicesIndex(138), }, { - /* [253] */ + /* [252] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(123), + /* matcher_indices */ MatcherIndicesIndex(11), + }, + { + /* [253] */ + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(93), }, { /* [254] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(0), + /* usage */ core::ParameterUsage::kValue, + /* matcher_indices */ MatcherIndicesIndex(138), }, { /* [255] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [256] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(101), + /* matcher_indices */ MatcherIndicesIndex(99), }, { /* [257] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kValue, + /* matcher_indices */ MatcherIndicesIndex(138), }, { /* [258] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(105), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(134), }, { /* [259] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(0), }, { /* [260] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(117), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [261] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(110), }, { /* [262] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(107), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [263] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(116), }, { /* [264] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(111), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [265] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(128), }, { /* [266] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(157), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [267] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(118), }, { /* [268] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(158), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [269] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(122), }, { /* [270] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(159), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [271] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(169), }, { /* [272] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(160), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [273] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(170), }, { /* [274] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(12), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [275] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(171), }, { /* [276] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(15), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [277] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(172), }, { /* [278] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(18), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [279] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(21), }, { /* [280] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(115), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [281] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(24), }, { /* [282] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [283] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(27), }, { /* [284] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [285] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(126), }, { /* [286] */ + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(11), + }, + { + /* [287] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(30), }, { - /* [287] */ + /* [288] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(123), + /* matcher_indices */ MatcherIndicesIndex(11), }, { - /* [288] */ + /* [289] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(33), }, { - /* [289] */ + /* [290] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(132), }, { - /* [290] */ + /* [291] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(36), + /* matcher_indices */ MatcherIndicesIndex(39), }, { - /* [291] */ + /* [292] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* matcher_indices */ MatcherIndicesIndex(134), }, { - /* [292] */ + /* [293] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(42), }, { - /* [293] */ + /* [294] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(123), + /* matcher_indices */ MatcherIndicesIndex(11), }, { - /* [294] */ + /* [295] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(45), }, { - /* [295] */ + /* [296] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(132), }, { - /* [296] */ + /* [297] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(48), + /* matcher_indices */ MatcherIndicesIndex(51), }, { - /* [297] */ + /* [298] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(121), + /* matcher_indices */ MatcherIndicesIndex(134), }, { - /* [298] */ + /* [299] */ /* usage */ core::ParameterUsage::kTexture, /* matcher_indices */ MatcherIndicesIndex(54), }, - { - /* [299] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(123), - }, { /* [300] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(93), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(11), }, { - /* [301] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(93), + /* [301] */ + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(57), }, { /* [302] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(132), }, { /* [303] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(93), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(63), }, { /* [304] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(96), + /* usage */ core::ParameterUsage::kCoords, + /* matcher_indices */ MatcherIndicesIndex(134), }, { /* [305] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(3), + /* matcher_indices */ MatcherIndicesIndex(102), }, { /* [306] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(3), + /* matcher_indices */ MatcherIndicesIndex(102), }, { /* [307] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(23), + /* matcher_indices */ MatcherIndicesIndex(1), }, { /* [308] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(93), + /* matcher_indices */ MatcherIndicesIndex(102), }, { /* [309] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(105), }, { /* [310] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [311] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(4), + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [312] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(143), + /* matcher_indices */ MatcherIndicesIndex(32), }, { /* [313] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(145), + /* matcher_indices */ MatcherIndicesIndex(102), }, { /* [314] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(147), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [315] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(151), + /* usage */ core::ParameterUsage::kTexture, + /* matcher_indices */ MatcherIndicesIndex(18), }, { /* [316] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(123), + /* matcher_indices */ MatcherIndicesIndex(154), }, { /* [317] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(137), + /* matcher_indices */ MatcherIndicesIndex(156), }, { /* [318] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), + /* matcher_indices */ MatcherIndicesIndex(158), }, { /* [319] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(149), + /* matcher_indices */ MatcherIndicesIndex(162), + }, + { + /* [320] */ + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(134), + }, + { + /* [321] */ + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(148), + }, + { + /* [322] */ + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(120), + }, + { + /* [323] */ + /* usage */ core::ParameterUsage::kNone, + /* matcher_indices */ MatcherIndicesIndex(160), }, }; @@ -2824,98 +2953,122 @@ static_assert(ParameterIndex::CanIndex(kParameters), constexpr TemplateInfo kTemplates[] = { { /* [0] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [1] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(180), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [2] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [3] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [4] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(155), + /* matcher_indices */ MatcherIndicesIndex(167), /* kind */ TemplateInfo::Kind::kType, }, { - /* [1] */ + /* [5] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(153), + /* matcher_indices */ MatcherIndicesIndex(166), /* kind */ TemplateInfo::Kind::kType, }, { - /* [2] */ + /* [6] */ /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(153), + /* matcher_indices */ MatcherIndicesIndex(166), /* kind */ TemplateInfo::Kind::kType, }, { - /* [3] */ + /* [7] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(153), + /* matcher_indices */ MatcherIndicesIndex(166), /* kind */ TemplateInfo::Kind::kType, }, { - /* [4] */ + /* [8] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(154), + /* matcher_indices */ MatcherIndicesIndex(15), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [5] */ + /* [9] */ /* name */ "F", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [6] */ + /* [10] */ /* name */ "A", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [7] */ + /* [11] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(155), + /* matcher_indices */ MatcherIndicesIndex(167), /* kind */ TemplateInfo::Kind::kType, }, { - /* [8] */ + /* [12] */ /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(153), + /* matcher_indices */ MatcherIndicesIndex(166), /* kind */ TemplateInfo::Kind::kType, }, { - /* [9] */ + /* [13] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(155), + /* matcher_indices */ MatcherIndicesIndex(167), /* kind */ TemplateInfo::Kind::kType, }, { - /* [10] */ + /* [14] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(153), + /* matcher_indices */ MatcherIndicesIndex(166), /* kind */ TemplateInfo::Kind::kType, }, { - /* [11] */ + /* [15] */ /* name */ "N", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [12] */ + /* [16] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(169), + /* matcher_indices */ MatcherIndicesIndex(180), /* kind */ TemplateInfo::Kind::kType, }, { - /* [13] */ + /* [17] */ /* name */ "N", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [14] */ + /* [18] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(170), + /* matcher_indices */ MatcherIndicesIndex(181), /* kind */ TemplateInfo::Kind::kType, }, { - /* [15] */ + /* [19] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(171), + /* matcher_indices */ MatcherIndicesIndex(182), /* kind */ TemplateInfo::Kind::kType, }, }; @@ -2931,8 +3084,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(224), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(229), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -2943,7 +3096,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(85), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -2953,8 +3106,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(161), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(166), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -2963,9 +3116,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -2974,9 +3127,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(80), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -2987,7 +3140,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(90), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -2997,8 +3150,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(165), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(170), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3008,8 +3161,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(169), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(174), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3018,9 +3171,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(95), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3031,7 +3184,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(100), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3041,8 +3194,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(149), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* parameters */ ParameterIndex(154), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3051,9 +3204,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(25), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3062,9 +3215,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(70), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3074,8 +3227,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(173), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* parameters */ ParameterIndex(178), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3084,9 +3237,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(105), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3097,7 +3250,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(85), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3108,7 +3261,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(85), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3117,9 +3270,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3128,9 +3281,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3141,7 +3294,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(90), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3152,7 +3305,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(90), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3162,8 +3315,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(169), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(174), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3172,9 +3325,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(95), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3185,7 +3338,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(100), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3196,7 +3349,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(100), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3205,9 +3358,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(25), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3216,9 +3369,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(25), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3228,8 +3381,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(173), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* parameters */ ParameterIndex(178), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3238,9 +3391,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(105), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3251,7 +3404,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(110), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3262,7 +3415,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(110), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3271,9 +3424,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(31), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3282,9 +3435,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(31), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3295,7 +3448,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(115), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3306,7 +3459,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(115), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3316,8 +3469,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(177), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(182), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3326,9 +3479,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(120), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3339,7 +3492,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(125), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3350,7 +3503,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(125), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3359,9 +3512,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(37), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3370,9 +3523,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(37), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3383,7 +3536,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(130), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3394,7 +3547,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(130), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3404,8 +3557,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(181), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(186), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3414,9 +3567,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(135), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3425,9 +3578,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(280), - /* return_matcher_indices */ MatcherIndicesIndex(99), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(285), + /* return_matcher_indices */ MatcherIndicesIndex(108), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3436,9 +3589,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(200), - /* return_matcher_indices */ MatcherIndicesIndex(99), + /* templates */ TemplateIndex(11), + /* parameters */ ParameterIndex(205), + /* return_matcher_indices */ MatcherIndicesIndex(108), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3447,9 +3600,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(153), - /* return_matcher_indices */ MatcherIndicesIndex(99), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(158), + /* return_matcher_indices */ MatcherIndicesIndex(108), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3458,9 +3611,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(203), - /* return_matcher_indices */ MatcherIndicesIndex(99), + /* templates */ TemplateIndex(11), + /* parameters */ ParameterIndex(208), + /* return_matcher_indices */ MatcherIndicesIndex(108), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3469,9 +3622,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(9), - /* parameters */ ParameterIndex(206), - /* return_matcher_indices */ MatcherIndicesIndex(99), + /* templates */ TemplateIndex(13), + /* parameters */ ParameterIndex(211), + /* return_matcher_indices */ MatcherIndicesIndex(108), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3480,9 +3633,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(2), - /* parameters */ ParameterIndex(209), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* templates */ TemplateIndex(6), + /* parameters */ ParameterIndex(214), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3491,9 +3644,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(157), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3502,9 +3655,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(212), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* templates */ TemplateIndex(14), + /* parameters */ ParameterIndex(217), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3514,8 +3667,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(282), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(287), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3525,8 +3678,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(289), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3535,9 +3688,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(215), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(220), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3547,8 +3700,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(286), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(291), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3558,8 +3711,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(288), - /* return_matcher_indices */ MatcherIndicesIndex(125), + /* parameters */ ParameterIndex(293), + /* return_matcher_indices */ MatcherIndicesIndex(136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3569,8 +3722,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(290), - /* return_matcher_indices */ MatcherIndicesIndex(125), + /* parameters */ ParameterIndex(295), + /* return_matcher_indices */ MatcherIndicesIndex(136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3579,9 +3732,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(218), - /* return_matcher_indices */ MatcherIndicesIndex(125), + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(223), + /* return_matcher_indices */ MatcherIndicesIndex(136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3591,8 +3744,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(292), - /* return_matcher_indices */ MatcherIndicesIndex(125), + /* parameters */ ParameterIndex(297), + /* return_matcher_indices */ MatcherIndicesIndex(136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3602,8 +3755,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(294), - /* return_matcher_indices */ MatcherIndicesIndex(127), + /* parameters */ ParameterIndex(299), + /* return_matcher_indices */ MatcherIndicesIndex(138), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3613,8 +3766,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(296), - /* return_matcher_indices */ MatcherIndicesIndex(127), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(138), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3623,9 +3776,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(221), - /* return_matcher_indices */ MatcherIndicesIndex(127), + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(226), + /* return_matcher_indices */ MatcherIndicesIndex(138), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3635,8 +3788,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(298), - /* return_matcher_indices */ MatcherIndicesIndex(127), + /* parameters */ ParameterIndex(303), + /* return_matcher_indices */ MatcherIndicesIndex(138), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3645,9 +3798,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(280), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(285), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3656,9 +3809,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(256), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(261), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3667,9 +3820,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(258), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(263), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3678,9 +3831,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(260), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(265), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3689,9 +3842,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(262), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(267), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3700,9 +3853,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(264), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(269), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3711,9 +3864,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(206), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(211), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3723,8 +3876,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(266), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(271), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3734,8 +3887,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(268), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(273), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3745,8 +3898,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(270), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(275), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3756,8 +3909,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(272), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(277), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3767,8 +3920,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(212), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(217), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3777,9 +3930,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(310), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(315), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3788,9 +3941,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(274), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(279), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3799,9 +3952,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(276), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(281), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3810,9 +3963,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(278), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(283), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3821,9 +3974,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(256), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(261), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3832,9 +3985,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(258), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(263), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3843,9 +3996,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(260), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(265), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3854,9 +4007,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(262), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(267), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3865,9 +4018,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(264), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(269), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3876,9 +4029,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(206), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(211), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3888,8 +4041,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(266), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(271), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3899,8 +4052,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(268), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(273), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3910,8 +4063,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(270), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(275), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3921,8 +4074,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(272), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(277), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3932,8 +4085,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(212), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(217), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3942,9 +4095,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(274), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(279), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3953,9 +4106,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(276), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(281), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3964,9 +4117,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(278), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(283), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3977,7 +4130,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(43), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3988,7 +4141,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(75), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -3997,9 +4150,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4008,9 +4161,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(13), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4021,7 +4174,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(140), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4030,9 +4183,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(49), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4043,7 +4196,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(43), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4054,7 +4207,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(43), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4063,9 +4216,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4074,9 +4227,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 7, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4087,7 +4240,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(140), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4096,9 +4249,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(49), - /* return_matcher_indices */ MatcherIndicesIndex(22), + /* return_matcher_indices */ MatcherIndicesIndex(43), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4108,7 +4261,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(227), + /* parameters */ ParameterIndex(232), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4119,7 +4272,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(230), + /* parameters */ ParameterIndex(235), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4129,8 +4282,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(185), + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(190), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4141,7 +4294,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(233), + /* parameters */ ParameterIndex(238), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4152,7 +4305,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(236), + /* parameters */ ParameterIndex(241), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4163,7 +4316,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(239), + /* parameters */ ParameterIndex(244), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4173,8 +4326,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(189), + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(194), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4185,7 +4338,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(242), + /* parameters */ ParameterIndex(247), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4196,7 +4349,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(245), + /* parameters */ ParameterIndex(250), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4207,7 +4360,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(248), + /* parameters */ ParameterIndex(253), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4217,8 +4370,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(193), + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(198), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4229,7 +4382,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(251), + /* parameters */ ParameterIndex(256), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4239,9 +4392,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(280), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(285), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4250,9 +4403,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), + /* templates */ TemplateIndex(4), /* parameters */ ParameterIndex(60), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4261,9 +4414,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), + /* templates */ TemplateIndex(4), /* parameters */ ParameterIndex(7), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4272,9 +4425,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(203), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(208), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4283,9 +4436,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(145), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(150), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4294,9 +4447,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), + /* templates */ TemplateIndex(4), /* parameters */ ParameterIndex(65), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4307,7 +4460,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(43), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4318,7 +4471,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4329,7 +4482,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(140), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4340,183 +4493,183 @@ constexpr OverloadInfo kOverloads[] = { /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(49), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [129] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(60), - /* return_matcher_indices */ MatcherIndicesIndex(99), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(316), + /* return_matcher_indices */ MatcherIndicesIndex(134), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [130] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(7), - /* return_matcher_indices */ MatcherIndicesIndex(99), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(317), + /* return_matcher_indices */ MatcherIndicesIndex(148), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [131] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(145), - /* return_matcher_indices */ MatcherIndicesIndex(99), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(318), + /* return_matcher_indices */ MatcherIndicesIndex(120), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [132] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(65), - /* return_matcher_indices */ MatcherIndicesIndex(99), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(319), + /* return_matcher_indices */ MatcherIndicesIndex(160), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [133] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(149), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(320), + /* return_matcher_indices */ MatcherIndicesIndex(154), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [134] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(70), - /* return_matcher_indices */ MatcherIndicesIndex(113), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [135] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(173), - /* return_matcher_indices */ MatcherIndicesIndex(113), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [136] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(105), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(156), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [137] */ + /* [135] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(312), - /* return_matcher_indices */ MatcherIndicesIndex(123), + /* parameters */ ParameterIndex(322), + /* return_matcher_indices */ MatcherIndicesIndex(158), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [138] */ + /* [136] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(313), - /* return_matcher_indices */ MatcherIndicesIndex(137), + /* parameters */ ParameterIndex(323), + /* return_matcher_indices */ MatcherIndicesIndex(162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [139] */ + /* [137] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(314), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* parameters */ ParameterIndex(58), + /* return_matcher_indices */ MatcherIndicesIndex(15), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [138] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(60), + /* return_matcher_indices */ MatcherIndicesIndex(108), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [139] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(7), + /* return_matcher_indices */ MatcherIndicesIndex(108), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [140] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(315), - /* return_matcher_indices */ MatcherIndicesIndex(149), + /* num_templates */ 1, + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(150), + /* return_matcher_indices */ MatcherIndicesIndex(108), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [141] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(316), - /* return_matcher_indices */ MatcherIndicesIndex(143), + /* num_templates */ 2, + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(65), + /* return_matcher_indices */ MatcherIndicesIndex(108), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [142] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(317), - /* return_matcher_indices */ MatcherIndicesIndex(145), + /* parameters */ ParameterIndex(154), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [143] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(318), - /* return_matcher_indices */ MatcherIndicesIndex(147), + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(70), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [144] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(319), - /* return_matcher_indices */ MatcherIndicesIndex(151), + /* parameters */ ParameterIndex(178), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -4524,388 +4677,399 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 4, /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(105), + /* return_matcher_indices */ MatcherIndicesIndex(124), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [146] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(43), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [146] */ + /* [147] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(75), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [147] */ + /* [148] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [148] */ + /* [149] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(13), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [149] */ + /* [150] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(140), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [150] */ + /* [151] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(1), + /* templates */ TemplateIndex(5), /* parameters */ ParameterIndex(49), - /* return_matcher_indices */ MatcherIndicesIndex(113), + /* return_matcher_indices */ MatcherIndicesIndex(124), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [151] */ + /* [152] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), + /* templates */ TemplateIndex(4), /* parameters */ ParameterIndex(7), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [152] */ + /* [153] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), + /* templates */ TemplateIndex(4), /* parameters */ ParameterIndex(65), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [153] */ + /* [154] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [154] */ + /* [155] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(49), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [155] */ + /* [156] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(276), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(281), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [156] */ + /* [157] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(310), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(315), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [157] */ + /* [158] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(274), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(279), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [158] */ + /* [159] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(276), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(281), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [159] */ + /* [160] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(278), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(283), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [160] */ + /* [161] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(305), + /* templates */ TemplateIndex(16), + /* parameters */ ParameterIndex(310), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [161] */ + /* [162] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(11), - /* parameters */ ParameterIndex(300), - /* return_matcher_indices */ MatcherIndicesIndex(93), + /* templates */ TemplateIndex(15), + /* parameters */ ParameterIndex(305), + /* return_matcher_indices */ MatcherIndicesIndex(102), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [162] */ + /* [163] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(11), - /* parameters */ ParameterIndex(302), - /* return_matcher_indices */ MatcherIndicesIndex(93), + /* templates */ TemplateIndex(15), + /* parameters */ ParameterIndex(307), + /* return_matcher_indices */ MatcherIndicesIndex(102), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [163] */ + /* [164] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(11), - /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(93), + /* templates */ TemplateIndex(15), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(102), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [164] */ + /* [165] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(260), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(265), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [165] */ + /* [166] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(278), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(283), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [166] */ + /* [167] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(206), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(4), + /* parameters */ ParameterIndex(211), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [167] */ + /* [168] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(212), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(217), + /* return_matcher_indices */ MatcherIndicesIndex(11), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [168] */ + /* [169] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(306), + /* templates */ TemplateIndex(16), + /* parameters */ ParameterIndex(311), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [169] */ + /* [170] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(11), - /* parameters */ ParameterIndex(303), - /* return_matcher_indices */ MatcherIndicesIndex(93), + /* templates */ TemplateIndex(15), + /* parameters */ ParameterIndex(308), + /* return_matcher_indices */ MatcherIndicesIndex(102), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [170] */ + /* [171] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(12), + /* templates */ TemplateIndex(16), /* parameters */ ParameterIndex(57), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [171] */ + /* [172] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(11), - /* parameters */ ParameterIndex(300), - /* return_matcher_indices */ MatcherIndicesIndex(93), + /* templates */ TemplateIndex(15), + /* parameters */ ParameterIndex(305), + /* return_matcher_indices */ MatcherIndicesIndex(102), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [172] */ + /* [173] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(14), + /* templates */ TemplateIndex(18), /* parameters */ ParameterIndex(57), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [173] */ + /* [174] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(13), - /* parameters */ ParameterIndex(308), - /* return_matcher_indices */ MatcherIndicesIndex(93), + /* templates */ TemplateIndex(17), + /* parameters */ ParameterIndex(313), + /* return_matcher_indices */ MatcherIndicesIndex(102), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [174] */ + /* [175] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(3), + /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(55), /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [175] */ + /* [176] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(3), - /* parameters */ ParameterIndex(197), + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(202), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [176] */ + /* [177] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(3), - /* parameters */ ParameterIndex(254), + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(259), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [177] */ + /* [178] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(3), - /* parameters */ ParameterIndex(197), + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(202), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [178] */ + /* [179] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(11), - /* parameters */ ParameterIndex(300), + /* templates */ TemplateIndex(15), + /* parameters */ ParameterIndex(305), /* return_matcher_indices */ MatcherIndicesIndex(1), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [179] */ + /* [180] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(11), - /* parameters */ ParameterIndex(300), + /* templates */ TemplateIndex(15), + /* parameters */ ParameterIndex(305), /* return_matcher_indices */ MatcherIndicesIndex(1), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [180] */ + /* [181] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, @@ -4916,24 +5080,35 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [181] */ + /* [182] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(311), - /* return_matcher_indices */ MatcherIndicesIndex(121), + /* parameters */ ParameterIndex(149), + /* return_matcher_indices */ MatcherIndicesIndex(132), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [182] */ + /* [183] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(0), + /* parameters */ ParameterIndex(145), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [184] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(15), - /* parameters */ ParameterIndex(305), + /* templates */ TemplateIndex(19), + /* parameters */ ParameterIndex(310), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -4947,67 +5122,67 @@ constexpr IntrinsicInfo kBuiltins[] = { /* [0] */ /* fn atomic_compare_exchange_weak_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, ptr, T, u32, u32) -> bool */ /* num overloads */ 1, - /* overloads */ OverloadIndex(174), + /* overloads */ OverloadIndex(175), }, { /* [1] */ /* fn atomic_exchange_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, u32) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(175), + /* overloads */ OverloadIndex(176), }, { /* [2] */ /* fn atomic_fetch_add_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, u32) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(175), + /* overloads */ OverloadIndex(176), }, { /* [3] */ /* fn atomic_fetch_and_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, u32) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(175), + /* overloads */ OverloadIndex(176), }, { /* [4] */ /* fn atomic_fetch_max_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, u32) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(175), + /* overloads */ OverloadIndex(176), }, { /* [5] */ /* fn atomic_fetch_min_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, u32) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(175), + /* overloads */ OverloadIndex(176), }, { /* [6] */ /* fn atomic_fetch_or_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, u32) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(175), + /* overloads */ OverloadIndex(176), }, { /* [7] */ /* fn atomic_fetch_sub_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, u32) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(175), + /* overloads */ OverloadIndex(176), }, { /* [8] */ /* fn atomic_fetch_xor_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, u32) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(175), + /* overloads */ OverloadIndex(176), }, { /* [9] */ /* fn atomic_load_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, u32) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(176), + /* overloads */ OverloadIndex(177), }, { /* [10] */ /* fn atomic_store_explicit[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, u32) */ /* num overloads */ 1, - /* overloads */ OverloadIndex(177), + /* overloads */ OverloadIndex(178), }, { /* [11] */ @@ -5016,7 +5191,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn fence[F : texel_format, A : access](texture: texture_storage_2d_array) */ /* fn fence[F : texel_format, A : access](texture: texture_storage_3d) */ /* num overloads */ 4, - /* overloads */ OverloadIndex(156), + /* overloads */ OverloadIndex(157), }, { /* [12] */ @@ -5029,7 +5204,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn gather(texture: texture_depth_cube, sampler: sampler, coords: vec3) -> vec4 */ /* fn gather[A : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ /* num overloads */ 8, - /* overloads */ OverloadIndex(129), + /* overloads */ OverloadIndex(138), }, { /* [13] */ @@ -5040,7 +5215,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn gather_compare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> vec4 */ /* fn gather_compare[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: A, depth_ref: f32) -> vec4 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(145), + /* overloads */ OverloadIndex(146), }, { /* [14] */ @@ -5087,7 +5262,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn get_depth[T : fiu32](texture: texture_3d, u32) -> u32 */ /* fn get_depth[F : texel_format, A : access](texture: texture_storage_3d, u32) -> u32 */ /* num overloads */ 2, - /* overloads */ OverloadIndex(164), + /* overloads */ OverloadIndex(165), }, { /* [17] */ @@ -5097,7 +5272,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn get_array_size(texture: texture_depth_cube_array) -> u32 */ /* fn get_array_size[F : texel_format, A : access](texture: texture_storage_2d_array) -> u32 */ /* num overloads */ 5, - /* overloads */ OverloadIndex(151), + /* overloads */ OverloadIndex(152), }, { /* [18] */ @@ -5119,7 +5294,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn get_num_samples[T : fiu32](texture: texture_multisampled_2d) -> u32 */ /* fn get_num_samples(texture: texture_depth_multisampled_2d) -> u32 */ /* num overloads */ 2, - /* overloads */ OverloadIndex(166), + /* overloads */ OverloadIndex(167), }, { /* [20] */ @@ -5234,13 +5409,13 @@ constexpr IntrinsicInfo kBuiltins[] = { /* [24] */ /* fn distance[N : num, T : f32_f16](vec, vec) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(178), + /* overloads */ OverloadIndex(179), }, { /* [25] */ /* fn dot[N : num, T : f32_f16](vec, vec) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(178), + /* overloads */ OverloadIndex(179), }, { /* [26] */ @@ -5249,53 +5424,53 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn fmod[N : num, T : f32_f16](T, vec) -> vec */ /* fn fmod[N : num, T : f32_f16](vec, T) -> vec */ /* num overloads */ 4, - /* overloads */ OverloadIndex(160), + /* overloads */ OverloadIndex(161), }, { /* [27] */ /* fn frexp[T : f32_f16](T, i32) -> T */ /* fn frexp[N : num, T : f32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(168), + /* overloads */ OverloadIndex(169), }, { /* [28] */ /* fn length[N : num, T : f32_f16](vec) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(179), + /* overloads */ OverloadIndex(180), }, { /* [29] */ /* fn modf[T : f32_f16](T, T) -> T */ /* fn modf[N : num, T : f32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(160), + /* overloads */ OverloadIndex(161), }, { /* [30] */ /* fn sign[T : f32_f16](T) -> T */ /* fn sign[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(170), + /* overloads */ OverloadIndex(171), }, { /* [31] */ /* fn threadgroup_barrier(u32) */ /* num overloads */ 1, - /* overloads */ OverloadIndex(180), + /* overloads */ OverloadIndex(181), }, { /* [32] */ /* fn simd_ballot(bool) -> vec2 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(181), + /* overloads */ OverloadIndex(182), }, { /* [33] */ /* fn quad_shuffle_xor[T : fiu32_f16](T, u32) -> T */ /* fn quad_shuffle_xor[N : num, T : fiu32_f16](vec, u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(172), + /* overloads */ OverloadIndex(173), }, { /* [34] */ @@ -5307,8 +5482,15 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn convert(vec3) -> __packed_vec3 */ /* fn convert(vec3) -> __packed_vec3 */ /* fn convert(vec3) -> __packed_vec3 */ - /* num overloads */ 8, - /* overloads */ OverloadIndex(137), + /* fn convert(u32) -> u64 */ + /* num overloads */ 9, + /* overloads */ OverloadIndex(129), + }, + { + /* [35] */ + /* fn simdgroup_store[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](subgroup_matrix, ptr, u64, vec2, bool) */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(183), }, }; @@ -5317,13 +5499,13 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* [0] */ /* op +[T : iu8](T, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(182), + /* overloads */ OverloadIndex(184), }, { /* [1] */ /* op *[T : iu8](T, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(182), + /* overloads */ OverloadIndex(184), }, }; constexpr uint8_t kBinaryOperatorPlus = 0; diff --git a/src/tint/lang/msl/msl.def b/src/tint/lang/msl/msl.def index 009711c91b..a3e87c6256 100644 --- a/src/tint/lang/msl/msl.def +++ b/src/tint/lang/msl/msl.def @@ -37,6 +37,7 @@ import "src/tint/lang/core/access.def" import "src/tint/lang/core/address_space.def" +import "src/tint/lang/core/subgroup_matrix_kind.def" import "src/tint/lang/core/texel_format.def" //////////////////////////////////////////////////////////////////////////////// @@ -86,6 +87,7 @@ type bool type i32 type i8 type u32 +type u64 type u8 type f32 type f16 @@ -114,6 +116,8 @@ type texture_storage_2d type texture_storage_2d_array type texture_storage_3d +type subgroup_matrix + // sampling options types type bias type gradient2d @@ -133,6 +137,10 @@ match f32_f16: f32 | f16 match fiu32_f16: f32 | i32 | u32 | f16 match iu8: i8 | u8 +match subgroup_matrix_kind_left : subgroup_matrix_kind.left +match subgroup_matrix_kind_right : subgroup_matrix_kind.right +match subgroup_matrix_kind_result : subgroup_matrix_kind.result + //////////////////////////////////////////////////////////////////////////////// // Builtin Functions // //////////////////////////////////////////////////////////////////////////////// @@ -355,6 +363,10 @@ fn convert(vec3) -> __packed_vec3 fn convert(vec3) -> __packed_vec3 fn convert(vec3) -> __packed_vec3 +fn convert(u32) -> u64 + +@stage("compute") implicit(K: subgroup_matrix_kind, S: f32_f16, C: num, R: num) fn simdgroup_store(subgroup_matrix, ptr, u64, vec2, bool) + //////////////////////////////////////////////////////////////////////////////// // Binary Operators // //////////////////////////////////////////////////////////////////////////////// diff --git a/src/tint/lang/msl/writer/raise/builtin_polyfill.cc b/src/tint/lang/msl/writer/raise/builtin_polyfill.cc index 62a580c639..a81e06a511 100644 --- a/src/tint/lang/msl/writer/raise/builtin_polyfill.cc +++ b/src/tint/lang/msl/writer/raise/builtin_polyfill.cc @@ -108,6 +108,7 @@ struct State { case core::BuiltinFn::kQuadSwapY: case core::BuiltinFn::kQuantizeToF16: case core::BuiltinFn::kSign: + case core::BuiltinFn::kSubgroupMatrixStore: case core::BuiltinFn::kTextureDimensions: case core::BuiltinFn::kTextureGather: case core::BuiltinFn::kTextureGatherCompare: @@ -269,6 +270,11 @@ struct State { Unpack2x16Float(builtin); break; + // Subgroup matrix builtins. + case core::BuiltinFn::kSubgroupMatrixStore: + SubgroupMatrixStore(builtin); + break; + default: break; } @@ -928,6 +934,36 @@ struct State { }); builtin->Destroy(); } + + /// Replace a subgroupMatrixStore builtin. + /// @param builtin the builtin call instruction + void SubgroupMatrixStore(core::ir::CoreBuiltinCall* builtin) { + b.InsertBefore(builtin, [&] { + auto* p = builtin->Args()[0]; + auto* offset = builtin->Args()[1]; + auto* value = builtin->Args()[2]; + auto* col_major = builtin->Args()[3]; + auto* stride = builtin->Args()[4]; + + auto* ptr = p->Type()->As(); + auto* arr = ptr->StoreType()->As(); + + // Make a pointer to the first element of the array that we will write to. + auto* elem_ptr = ty.ptr(ptr->AddressSpace(), arr->ElemType(), ptr->Access()); + auto* dst = b.Access(elem_ptr, p, offset); + + // Convert the u32 stride to the ulong that MSL expects. + auto* elements_per_row = + b.Call(ty.u64(), msl::BuiltinFn::kConvert, stride); + + // The origin is always (0, 0), as we use `offset` to set the start of the data. + auto* matrix_origin = b.Zero>(); + + b.Call(ty.void_(), msl::BuiltinFn::kSimdgroupStore, value, dst, + elements_per_row, matrix_origin, col_major); + }); + builtin->Destroy(); + } }; } // namespace diff --git a/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc b/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc index 9d63fc469a..1a28a09bac 100644 --- a/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc +++ b/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc @@ -3314,5 +3314,79 @@ TEST_F(MslWriter_BuiltinPolyfillTest, Unpack2x16Float) { EXPECT_EQ(expect, str()); } +TEST_F(MslWriter_BuiltinPolyfillTest, SubgroupMatrixStore_Storage_F32) { + auto* p = b.FunctionParam>>("p"); + auto* m = b.FunctionParam("m", ty.subgroup_matrix_result(ty.f32(), 8, 8)); + auto* func = b.Function("foo", ty.void_()); + func->SetParams({p, m}); + b.Append(func->Block(), [&] { + b.Call(core::BuiltinFn::kSubgroupMatrixStore, p, 64_u, m, false, 32_u); + b.Return(func); + }); + + auto* src = R"( +%foo = func(%p:ptr, read_write>, %m:subgroup_matrix_result):void { + $B1: { + %4:void = subgroupMatrixStore %p, 64u, %m, false, 32u + ret + } +} +)"; + EXPECT_EQ(src, str()); + + auto* expect = R"( +%foo = func(%p:ptr, read_write>, %m:subgroup_matrix_result):void { + $B1: { + %4:ptr = access %p, 64u + %5:u64 = msl.convert 32u + %6:void = msl.simdgroup_store %m, %4, %5, vec2(0u64), false + ret + } +} +)"; + + capabilities.Add(core::ir::Capability::kAllow64BitIntegers); + Run(BuiltinPolyfill); + + EXPECT_EQ(expect, str()); +} + +TEST_F(MslWriter_BuiltinPolyfillTest, SubgroupMatrixStore_Workgroup_F16) { + auto* p = b.FunctionParam>>("p"); + auto* m = b.FunctionParam("m", ty.subgroup_matrix_result(ty.f16(), 8, 8)); + auto* func = b.Function("foo", ty.void_()); + func->SetParams({p, m}); + b.Append(func->Block(), [&] { + b.Call(core::BuiltinFn::kSubgroupMatrixStore, p, 64_u, m, false, 32_u); + b.Return(func); + }); + + auto* src = R"( +%foo = func(%p:ptr, read_write>, %m:subgroup_matrix_result):void { + $B1: { + %4:void = subgroupMatrixStore %p, 64u, %m, false, 32u + ret + } +} +)"; + EXPECT_EQ(src, str()); + + auto* expect = R"( +%foo = func(%p:ptr, read_write>, %m:subgroup_matrix_result):void { + $B1: { + %4:ptr = access %p, 64u + %5:u64 = msl.convert 32u + %6:void = msl.simdgroup_store %m, %4, %5, vec2(0u64), false + ret + } +} +)"; + + capabilities.Add(core::ir::Capability::kAllow64BitIntegers); + Run(BuiltinPolyfill); + + EXPECT_EQ(expect, str()); +} + } // namespace } // namespace tint::msl::writer::raise diff --git a/src/tint/lang/msl/writer/writer.cc b/src/tint/lang/msl/writer/writer.cc index 00d729bd11..7820b8485e 100644 --- a/src/tint/lang/msl/writer/writer.cc +++ b/src/tint/lang/msl/writer/writer.cc @@ -41,6 +41,15 @@ namespace tint::msl::writer { Result CanGenerate(const core::ir::Module& ir, const Options& options) { + // Check for unsupported types. + for (auto* ty : ir.Types()) { + if (auto* m = ty->As()) { + if (!m->Type()->IsAnyOf()) { + return Failure("non-float subgroup matrices are not supported by the MSL backend"); + } + } + } + // Check for unsupported module-scope variable address spaces and types. for (auto* inst : *ir.root_block) { auto* var = inst->As(); diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.msl index 1eb9436ec6..6c50c795b4 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.msl @@ -1,11 +1,51 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_0d6927(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0h; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_0d6927(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.msl index 1eb9436ec6..0fa408e27b 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.msl @@ -1,11 +1,51 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_6dbaa2(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0f; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_6dbaa2(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.ir.msl index 1eb9436ec6..c32124cd11 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.ir.msl @@ -1,11 +1,31 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_7954ee(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_7954ee(tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.msl index 1eb9436ec6..5ac3f54aa1 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.msl @@ -1,11 +1,31 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_7a4769(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_7a4769(tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.msl index 1eb9436ec6..6b7e509d8f 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.msl @@ -1,11 +1,51 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_8d55ef(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0f; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_8d55ef(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.msl index 1eb9436ec6..c81f430fbe 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.msl @@ -1,11 +1,51 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_9856cd(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0h; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_9856cd(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.msl index 1eb9436ec6..c6620be230 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.msl @@ -1,11 +1,31 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_aa2174(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_aa2174(tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.msl index 1eb9436ec6..664562661d 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.msl @@ -1,11 +1,51 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_cd3e65(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0h; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_cd3e65(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.msl index 1eb9436ec6..ce701744f1 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.msl @@ -1,11 +1,31 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_eb6865(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_eb6865(tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.msl index 1eb9436ec6..00b276eca2 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.msl @@ -1,11 +1,31 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_f2a4a2(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_f2a4a2(tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.msl index 1eb9436ec6..49d98fd77d 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.msl @@ -1,11 +1,31 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_f9dcbf(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_f9dcbf(tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.ir.msl index 1eb9436ec6..6653172366 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.ir.msl @@ -1,11 +1,51 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_fbb29b(tint_module_vars_struct tint_module_vars) { + simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0f; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_fbb29b(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.msl index 1eb9436ec6..5dba48c636 100644 --- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.msl index 1eb9436ec6..a630f01de1 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.msl @@ -1,11 +1,55 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_0d6927(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_half8x8 arg_2 = simdgroup_half8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0h; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_0d6927(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.msl index 1eb9436ec6..00c01a4775 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.msl @@ -1,11 +1,55 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_6dbaa2(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_float8x8 arg_2 = simdgroup_float8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0f; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_6dbaa2(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.ir.msl index 1eb9436ec6..b4700889a3 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.ir.msl @@ -1,11 +1,35 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_7954ee(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_float8x8 arg_2 = simdgroup_float8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_7954ee(tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.msl index 1eb9436ec6..5cfb044ec0 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.msl @@ -1,11 +1,35 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_7a4769(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_float8x8 arg_2 = simdgroup_float8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_7a4769(tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.msl index 1eb9436ec6..27858aeea5 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.msl @@ -1,11 +1,55 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_8d55ef(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_float8x8 arg_2 = simdgroup_float8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0f; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_8d55ef(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.msl index 1eb9436ec6..946315a4ed 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.msl @@ -1,11 +1,55 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_9856cd(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_half8x8 arg_2 = simdgroup_half8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0h; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_9856cd(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.msl index 1eb9436ec6..dbe3ec925c 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.msl @@ -1,11 +1,35 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_aa2174(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_half8x8 arg_2 = simdgroup_half8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_aa2174(tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.msl index 1eb9436ec6..e014da2103 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.msl @@ -1,11 +1,55 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_cd3e65(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_half8x8 arg_2 = simdgroup_half8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0h; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_cd3e65(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.msl index 1eb9436ec6..ece05c1842 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.msl @@ -1,11 +1,35 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_eb6865(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_half8x8 arg_2 = simdgroup_half8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_eb6865(tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.msl index 1eb9436ec6..b178032775 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.msl @@ -1,11 +1,35 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_f2a4a2(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_half8x8 arg_2 = simdgroup_half8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_f2a4a2(tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.msl index 1eb9436ec6..2a41b37493 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.msl @@ -1,11 +1,35 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct SB_RW { + /* 0x0000 */ tint_array arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW* sb_rw; +}; + +void subgroupMatrixStore_f9dcbf(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_float8x8 arg_2 = simdgroup_float8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + subgroupMatrixStore_f9dcbf(tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1 diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.ir.msl index 1eb9436ec6..0dddffd905 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.ir.msl @@ -1,11 +1,55 @@ -SKIP: FAILED +#include +using namespace metal; -../../src/tint/lang/msl/writer/printer/printer.cc:1182 internal compiler error: TINT_UNREACHABLE unhandled: subgroupMatrixStore -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; -tint executable returned error: signal: trace/BPT trap +struct tint_module_vars_struct { + threadgroup tint_array* arg_0; +}; + +struct tint_symbol_1 { + tint_array tint_symbol; +}; + +void subgroupMatrixStore_fbb29b(tint_module_vars_struct tint_module_vars) { + uint arg_1 = 1u; + simdgroup_float8x8 arg_2 = simdgroup_float8x8(); + bool arg_3 = true; + uint arg_4 = 1u; + simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3); +} + +void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) { + { + uint v = 0u; + v = tint_local_index; + while(true) { + uint const v_1 = v; + if ((v_1 >= 64u)) { + break; + } + (*tint_module_vars.arg_0)[v_1] = 0.0f; + { + v = (v_1 + 1u); + } + continue; + } + } + threadgroup_barrier(mem_flags::mem_threadgroup); + subgroupMatrixStore_fbb29b(tint_module_vars); +} + +kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)}; + compute_main_inner(tint_local_index, tint_module_vars); +} diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.msl index 73f6a1de62..5dba48c636 100644 --- a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.msl @@ -1,11 +1,5 @@ -SKIP: FAILED +SKIP: INVALID -../../src/tint/lang/msl/writer/printer/printer.cc:1327 internal compiler error: TINT_ASSERT((sm->Type()->IsAnyOf())) -******************************************************************** -* The tint shader compiler has encountered an unexpected error. * -* * -* Please help us fix this issue by submitting a bug report at * -* crbug.com/tint with the source program that triggered the bug. * -******************************************************************** +error: non-float subgroup matrices are not supported by the MSL backend -tint executable returned error: signal: trace/BPT trap +tint executable returned error: exit status 1