Atomic 64 bit (as vec2u in wgsl) for MSL (metal) Atomic 64 max is supported on msl apple silicon for apple 9 and apple 8 on mac. (So not the m1) At this time apple is the most restrictive the atomic64 operations supporting only max/min on u64. These operations also do not yield the value. It is a store only operation to storage (not workgroup). Link to the approved proposal: https://github.com/gpuweb/gpuweb/blob/main/proposals/atomic-64-min-max.md original vulkan cl: https://dawn-review.git.corp.google.com/c/dawn/+/279375 Change-Id: I88033e8292d09cad08f95b5129059747d5ea5634 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/294695 Commit-Queue: Peter McNeeley <petermcneeley@google.com> Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/dawn/native/metal/PhysicalDeviceMTL.mm b/src/dawn/native/metal/PhysicalDeviceMTL.mm index 216b08b..dccab6e 100644 --- a/src/dawn/native/metal/PhysicalDeviceMTL.mm +++ b/src/dawn/native/metal/PhysicalDeviceMTL.mm
@@ -755,6 +755,17 @@ EnableFeature(Feature::TextureComponentSwizzle); } + if ([*mDevice supportsFamily:MTLGPUFamilyApple9]) { + EnableFeature(Feature::AtomicVec2uMinMax); + } + + // Early 64-bit (ulong) support when both mac2 and apple8. (This means the M2) + // See footnote 11 of https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf + if ([*mDevice supportsFamily:MTLGPUFamilyMac2] && + [*mDevice supportsFamily:MTLGPUFamilyApple8]) { + EnableFeature(Feature::AtomicVec2uMinMax); + } + if ([*mDevice readWriteTextureSupport] == MTLReadWriteTextureTier2) { EnableFeature(Feature::TextureFormatsTier2); }
diff --git a/src/dawn/tests/end2end/ArchTierLimitsExhaustive.cpp b/src/dawn/tests/end2end/ArchTierLimitsExhaustive.cpp index 2e5be76..9aadbbd 100644 --- a/src/dawn/tests/end2end/ArchTierLimitsExhaustive.cpp +++ b/src/dawn/tests/end2end/ArchTierLimitsExhaustive.cpp
@@ -430,7 +430,7 @@ AddDevice({1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1}, "Metal_AMD_Radeon_Pro_560X"); // Apple -AddDevice({1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1}, "Metal_Apple_M2"); +AddDevice({1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1}, "Metal_Apple_M2"); // ARM
diff --git a/src/dawn/tests/end2end/ShaderAtomicTests.cpp b/src/dawn/tests/end2end/ShaderAtomicTests.cpp index b2b42ff..db3543f 100644 --- a/src/dawn/tests/end2end/ShaderAtomicTests.cpp +++ b/src/dawn/tests/end2end/ShaderAtomicTests.cpp
@@ -298,7 +298,7 @@ {ShaderAtomicOp::AtomicAdd, ShaderAtomicOp::AtomicCASFakeAdd}); DAWN_INSTANTIATE_TEST_P(ShaderAtomicVec2Tests, - {VulkanBackend()}, + {VulkanBackend(), MetalBackend()}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 15, 16, 31, 32, 53, 64, 111, 128, 137, 173, 256}, /* workgroup size*/ {1, 2, 7, 15} /*dispatch size */
diff --git a/src/tint/cmd/tint/main.cc b/src/tint/cmd/tint/main.cc index 424fe57..ac3d8fa 100644 --- a/src/tint/cmd/tint/main.cc +++ b/src/tint/cmd/tint/main.cc
@@ -487,11 +487,12 @@ // Default to validating against MSL 2.3, which corresponds to macOS 11.0. tint::Vector<EnumName<tint::msl::validate::MslVersion>, 2> msl_version_enum_names{ EnumName(tint::msl::validate::MslVersion::kMsl_2_3, "2.3"), + EnumName(tint::msl::validate::MslVersion::kMsl_2_4, "2.4"), EnumName(tint::msl::validate::MslVersion::kMsl_3_2, "3.2"), }; auto& msl_version = options.Add<EnumOption<tint::msl::validate::MslVersion>>( "msl-version", R"(Specify the MSL version. -Valid values are 2.3 and 3.2)", +Valid values are 2.3, 2.4, and 3.2)", msl_version_enum_names, Default{tint::msl::validate::MslVersion::kMsl_2_3}); TINT_DEFER(opts->msl_version = *msl_version.value); #endif // TINT_BUILD_MSL_WRITER
diff --git a/src/tint/lang/msl/builtin_fn.cc b/src/tint/lang/msl/builtin_fn.cc index dabb45d..6b575f9 100644 --- a/src/tint/lang/msl/builtin_fn.cc +++ b/src/tint/lang/msl/builtin_fn.cc
@@ -66,6 +66,10 @@ return "atomic_load_explicit"; case BuiltinFn::kAtomicStoreExplicit: return "atomic_store_explicit"; + case BuiltinFn::kAtomicMaxExplicit: + return "atomic_max_explicit"; + case BuiltinFn::kAtomicMinExplicit: + return "atomic_min_explicit"; case BuiltinFn::kFence: return "fence"; case BuiltinFn::kGather: @@ -150,6 +154,8 @@ case BuiltinFn::kThreadgroupBarrier: case BuiltinFn::kSimdBallot: case BuiltinFn::kQuadShuffleXor: + case BuiltinFn::kAtomicMaxExplicit: + case BuiltinFn::kAtomicMinExplicit: return core::ir::Instruction::Accesses{core::ir::Instruction::Access::kLoad, core::ir::Instruction::Access::kStore}; case BuiltinFn::kAtomicLoadExplicit:
diff --git a/src/tint/lang/msl/builtin_fn.cc.tmpl b/src/tint/lang/msl/builtin_fn.cc.tmpl index c162b56..22f1547 100644 --- a/src/tint/lang/msl/builtin_fn.cc.tmpl +++ b/src/tint/lang/msl/builtin_fn.cc.tmpl
@@ -47,6 +47,8 @@ case BuiltinFn::kThreadgroupBarrier: case BuiltinFn::kSimdBallot: case BuiltinFn::kQuadShuffleXor: + case BuiltinFn::kAtomicMaxExplicit: + case BuiltinFn::kAtomicMinExplicit: return core::ir::Instruction::Accesses{core::ir::Instruction::Access::kLoad, core::ir::Instruction::Access::kStore}; case BuiltinFn::kAtomicLoadExplicit:
diff --git a/src/tint/lang/msl/builtin_fn.h b/src/tint/lang/msl/builtin_fn.h index c198c81..881fb02 100644 --- a/src/tint/lang/msl/builtin_fn.h +++ b/src/tint/lang/msl/builtin_fn.h
@@ -61,6 +61,8 @@ kAtomicFetchXorExplicit, kAtomicLoadExplicit, kAtomicStoreExplicit, + kAtomicMaxExplicit, + kAtomicMinExplicit, kFence, kGather, kGatherCompare,
diff --git a/src/tint/lang/msl/intrinsic/data.cc b/src/tint/lang/msl/intrinsic/data.cc index 181e654..ffee8a1 100644 --- a/src/tint/lang/msl/intrinsic/data.cc +++ b/src/tint/lang/msl/intrinsic/data.cc
@@ -1247,6 +1247,19 @@ } }; +/// EnumMatcher for 'match storage' +constexpr NumberMatcher kStorageMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::AddressSpace::kStorage)) { + return Number(static_cast<uint32_t>(core::AddressSpace::kStorage)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("storage"); + } +}; + /// EnumMatcher for 'match workgroup_or_storage' constexpr NumberMatcher kWorkgroupOrStorageMatcher { /* match */ [](MatchState&, Number number) -> Number { @@ -1465,13 +1478,14 @@ /* [12] */ kReadableMatcher, /* [13] */ kWritableMatcher, /* [14] */ kFunctionMatcher, - /* [15] */ kWorkgroupOrStorageMatcher, - /* [16] */ kF32TexelFormatMatcher, - /* [17] */ kI32TexelFormatMatcher, - /* [18] */ kU32TexelFormatMatcher, - /* [19] */ kSubgroupMatrixKindLeftMatcher, - /* [20] */ kSubgroupMatrixKindRightMatcher, - /* [21] */ kSubgroupMatrixKindResultMatcher, + /* [15] */ kStorageMatcher, + /* [16] */ kWorkgroupOrStorageMatcher, + /* [17] */ kF32TexelFormatMatcher, + /* [18] */ kI32TexelFormatMatcher, + /* [19] */ kU32TexelFormatMatcher, + /* [20] */ kSubgroupMatrixKindLeftMatcher, + /* [21] */ kSubgroupMatrixKindRightMatcher, + /* [22] */ kSubgroupMatrixKindResultMatcher, }; constexpr MatcherIndex kMatcherIndices[] = { @@ -1480,338 +1494,341 @@ /* [2] */ MatcherIndex(17), /* [3] */ MatcherIndex(0), /* [4] */ MatcherIndex(11), - /* [5] */ MatcherIndex(44), - /* [6] */ MatcherIndex(19), - /* [7] */ MatcherIndex(1), - /* [8] */ MatcherIndex(2), - /* [9] */ MatcherIndex(3), + /* [5] */ MatcherIndex(18), + /* [6] */ MatcherIndex(15), + /* [7] */ MatcherIndex(17), + /* [8] */ MatcherIndex(9), + /* [9] */ MatcherIndex(11), /* [10] */ MatcherIndex(44), - /* [11] */ MatcherIndex(21), + /* [11] */ MatcherIndex(20), /* [12] */ MatcherIndex(1), /* [13] */ MatcherIndex(2), /* [14] */ MatcherIndex(3), /* [15] */ MatcherIndex(44), - /* [16] */ MatcherIndex(20), + /* [16] */ MatcherIndex(22), /* [17] */ MatcherIndex(1), /* [18] */ MatcherIndex(2), /* [19] */ MatcherIndex(3), /* [20] */ MatcherIndex(44), - /* [21] */ MatcherIndex(1), - /* [22] */ MatcherIndex(2), - /* [23] */ MatcherIndex(3), - /* [24] */ MatcherIndex(4), + /* [21] */ MatcherIndex(21), + /* [22] */ MatcherIndex(1), + /* [23] */ MatcherIndex(2), + /* [24] */ MatcherIndex(3), /* [25] */ MatcherIndex(44), - /* [26] */ MatcherIndex(0), - /* [27] */ MatcherIndex(1), - /* [28] */ MatcherIndex(2), - /* [29] */ MatcherIndex(3), + /* [26] */ MatcherIndex(1), + /* [27] */ MatcherIndex(2), + /* [28] */ MatcherIndex(3), + /* [29] */ MatcherIndex(4), /* [30] */ MatcherIndex(44), - /* [31] */ MatcherIndex(21), - /* [32] */ MatcherIndex(0), - /* [33] */ MatcherIndex(1), - /* [34] */ MatcherIndex(2), + /* [31] */ MatcherIndex(0), + /* [32] */ MatcherIndex(1), + /* [33] */ MatcherIndex(2), + /* [34] */ MatcherIndex(3), /* [35] */ MatcherIndex(44), - /* [36] */ MatcherIndex(19), + /* [36] */ MatcherIndex(22), /* [37] */ MatcherIndex(0), - /* [38] */ MatcherIndex(3), + /* [38] */ MatcherIndex(1), /* [39] */ MatcherIndex(2), /* [40] */ MatcherIndex(44), /* [41] */ MatcherIndex(20), /* [42] */ MatcherIndex(0), - /* [43] */ MatcherIndex(1), - /* [44] */ MatcherIndex(3), - /* [45] */ MatcherIndex(18), - /* [46] */ MatcherIndex(14), + /* [43] */ MatcherIndex(3), + /* [44] */ MatcherIndex(2), + /* [45] */ MatcherIndex(44), + /* [46] */ MatcherIndex(21), /* [47] */ MatcherIndex(0), - /* [48] */ MatcherIndex(11), - /* [49] */ MatcherIndex(18), - /* [50] */ MatcherIndex(15), - /* [51] */ MatcherIndex(1), - /* [52] */ MatcherIndex(12), - /* [53] */ MatcherIndex(18), - /* [54] */ MatcherIndex(15), - /* [55] */ MatcherIndex(1), - /* [56] */ MatcherIndex(13), - /* [57] */ MatcherIndex(11), + /* [48] */ MatcherIndex(1), + /* [49] */ MatcherIndex(3), + /* [50] */ MatcherIndex(18), + /* [51] */ MatcherIndex(14), + /* [52] */ MatcherIndex(0), + /* [53] */ MatcherIndex(11), + /* [54] */ MatcherIndex(18), + /* [55] */ MatcherIndex(16), + /* [56] */ MatcherIndex(1), + /* [57] */ MatcherIndex(12), /* [58] */ MatcherIndex(18), - /* [59] */ MatcherIndex(1), - /* [60] */ MatcherIndex(0), - /* [61] */ MatcherIndex(2), - /* [62] */ MatcherIndex(40), - /* [63] */ MatcherIndex(0), + /* [59] */ MatcherIndex(16), + /* [60] */ MatcherIndex(1), + /* [61] */ MatcherIndex(13), + /* [62] */ MatcherIndex(11), + /* [63] */ MatcherIndex(18), /* [64] */ MatcherIndex(1), - /* [65] */ MatcherIndex(41), - /* [66] */ MatcherIndex(0), - /* [67] */ MatcherIndex(1), - /* [68] */ MatcherIndex(42), - /* [69] */ MatcherIndex(0), - /* [70] */ MatcherIndex(1), - /* [71] */ MatcherIndex(43), - /* [72] */ MatcherIndex(0), - /* [73] */ MatcherIndex(1), - /* [74] */ MatcherIndex(29), - /* [75] */ MatcherIndex(0), - /* [76] */ MatcherIndex(1), - /* [77] */ MatcherIndex(29), - /* [78] */ MatcherIndex(0), - /* [79] */ MatcherIndex(5), - /* [80] */ MatcherIndex(29), - /* [81] */ MatcherIndex(0), - /* [82] */ MatcherIndex(6), - /* [83] */ MatcherIndex(30), - /* [84] */ MatcherIndex(0), - /* [85] */ MatcherIndex(2), - /* [86] */ MatcherIndex(30), - /* [87] */ MatcherIndex(0), - /* [88] */ MatcherIndex(5), - /* [89] */ MatcherIndex(30), - /* [90] */ MatcherIndex(0), - /* [91] */ MatcherIndex(6), - /* [92] */ MatcherIndex(32), - /* [93] */ MatcherIndex(0), - /* [94] */ MatcherIndex(1), - /* [95] */ MatcherIndex(32), - /* [96] */ MatcherIndex(0), - /* [97] */ MatcherIndex(5), - /* [98] */ MatcherIndex(32), - /* [99] */ MatcherIndex(0), - /* [100] */ MatcherIndex(6), - /* [101] */ MatcherIndex(33), - /* [102] */ MatcherIndex(0), - /* [103] */ MatcherIndex(2), - /* [104] */ MatcherIndex(33), - /* [105] */ MatcherIndex(0), - /* [106] */ MatcherIndex(5), - /* [107] */ MatcherIndex(33), - /* [108] */ MatcherIndex(0), - /* [109] */ MatcherIndex(6), - /* [110] */ MatcherIndex(28), - /* [111] */ MatcherIndex(0), - /* [112] */ MatcherIndex(1), - /* [113] */ MatcherIndex(30), - /* [114] */ MatcherIndex(0), - /* [115] */ MatcherIndex(1), - /* [116] */ MatcherIndex(31), - /* [117] */ MatcherIndex(0), - /* [118] */ MatcherIndex(1), - /* [119] */ MatcherIndex(33), - /* [120] */ MatcherIndex(0), - /* [121] */ MatcherIndex(1), - /* [122] */ MatcherIndex(29), - /* [123] */ MatcherIndex(0), - /* [124] */ MatcherIndex(2), - /* [125] */ MatcherIndex(30), - /* [126] */ MatcherIndex(0), - /* [127] */ MatcherIndex(3), - /* [128] */ MatcherIndex(31), - /* [129] */ MatcherIndex(0), - /* [130] */ MatcherIndex(2), - /* [131] */ MatcherIndex(40), - /* [132] */ MatcherIndex(16), - /* [133] */ MatcherIndex(12), - /* [134] */ MatcherIndex(41), - /* [135] */ MatcherIndex(16), - /* [136] */ MatcherIndex(12), - /* [137] */ MatcherIndex(42), - /* [138] */ MatcherIndex(16), - /* [139] */ MatcherIndex(12), - /* [140] */ MatcherIndex(43), - /* [141] */ MatcherIndex(16), - /* [142] */ MatcherIndex(12), - /* [143] */ MatcherIndex(40), - /* [144] */ MatcherIndex(17), - /* [145] */ MatcherIndex(12), - /* [146] */ MatcherIndex(41), - /* [147] */ MatcherIndex(17), - /* [148] */ MatcherIndex(12), - /* [149] */ MatcherIndex(42), - /* [150] */ MatcherIndex(17), - /* [151] */ MatcherIndex(12), - /* [152] */ MatcherIndex(43), - /* [153] */ MatcherIndex(17), - /* [154] */ MatcherIndex(12), - /* [155] */ MatcherIndex(40), - /* [156] */ MatcherIndex(18), - /* [157] */ MatcherIndex(12), - /* [158] */ MatcherIndex(41), - /* [159] */ MatcherIndex(18), - /* [160] */ MatcherIndex(12), - /* [161] */ MatcherIndex(42), - /* [162] */ MatcherIndex(18), - /* [163] */ MatcherIndex(12), - /* [164] */ MatcherIndex(43), - /* [165] */ MatcherIndex(18), - /* [166] */ MatcherIndex(12), - /* [167] */ MatcherIndex(28), - /* [168] */ MatcherIndex(11), - /* [169] */ MatcherIndex(0), - /* [170] */ MatcherIndex(28), - /* [171] */ MatcherIndex(11), - /* [172] */ MatcherIndex(5), - /* [173] */ MatcherIndex(28), - /* [174] */ MatcherIndex(11), - /* [175] */ MatcherIndex(6), - /* [176] */ MatcherIndex(29), - /* [177] */ MatcherIndex(11), - /* [178] */ MatcherIndex(0), - /* [179] */ MatcherIndex(29), - /* [180] */ MatcherIndex(11), - /* [181] */ MatcherIndex(5), - /* [182] */ MatcherIndex(29), - /* [183] */ MatcherIndex(11), - /* [184] */ MatcherIndex(6), - /* [185] */ MatcherIndex(30), - /* [186] */ MatcherIndex(11), - /* [187] */ MatcherIndex(1), - /* [188] */ MatcherIndex(30), - /* [189] */ MatcherIndex(11), - /* [190] */ MatcherIndex(5), - /* [191] */ MatcherIndex(30), - /* [192] */ MatcherIndex(11), - /* [193] */ MatcherIndex(6), - /* [194] */ MatcherIndex(31), - /* [195] */ MatcherIndex(11), - /* [196] */ MatcherIndex(0), - /* [197] */ MatcherIndex(31), - /* [198] */ MatcherIndex(11), - /* [199] */ MatcherIndex(5), - /* [200] */ MatcherIndex(31), - /* [201] */ MatcherIndex(11), - /* [202] */ MatcherIndex(6), - /* [203] */ MatcherIndex(32), - /* [204] */ MatcherIndex(11), - /* [205] */ MatcherIndex(0), - /* [206] */ MatcherIndex(32), - /* [207] */ MatcherIndex(11), - /* [208] */ MatcherIndex(5), - /* [209] */ MatcherIndex(32), - /* [210] */ MatcherIndex(11), - /* [211] */ MatcherIndex(6), - /* [212] */ MatcherIndex(33), - /* [213] */ MatcherIndex(11), - /* [214] */ MatcherIndex(1), - /* [215] */ MatcherIndex(33), - /* [216] */ MatcherIndex(11), - /* [217] */ MatcherIndex(5), - /* [218] */ MatcherIndex(33), - /* [219] */ MatcherIndex(11), - /* [220] */ MatcherIndex(6), - /* [221] */ MatcherIndex(40), - /* [222] */ MatcherIndex(16), - /* [223] */ MatcherIndex(13), - /* [224] */ MatcherIndex(6), - /* [225] */ MatcherIndex(41), - /* [226] */ MatcherIndex(16), - /* [227] */ MatcherIndex(13), - /* [228] */ MatcherIndex(8), - /* [229] */ MatcherIndex(42), - /* [230] */ MatcherIndex(16), - /* [231] */ MatcherIndex(13), - /* [232] */ MatcherIndex(9), - /* [233] */ MatcherIndex(43), - /* [234] */ MatcherIndex(16), - /* [235] */ MatcherIndex(13), - /* [236] */ MatcherIndex(40), - /* [237] */ MatcherIndex(17), - /* [238] */ MatcherIndex(13), - /* [239] */ MatcherIndex(41), - /* [240] */ MatcherIndex(17), - /* [241] */ MatcherIndex(13), - /* [242] */ MatcherIndex(42), - /* [243] */ MatcherIndex(17), - /* [244] */ MatcherIndex(13), - /* [245] */ MatcherIndex(43), - /* [246] */ MatcherIndex(17), - /* [247] */ MatcherIndex(13), - /* [248] */ MatcherIndex(40), - /* [249] */ MatcherIndex(18), - /* [250] */ MatcherIndex(13), - /* [251] */ MatcherIndex(41), - /* [252] */ MatcherIndex(18), - /* [253] */ MatcherIndex(13), - /* [254] */ MatcherIndex(42), - /* [255] */ MatcherIndex(18), - /* [256] */ MatcherIndex(13), - /* [257] */ MatcherIndex(43), - /* [258] */ MatcherIndex(18), - /* [259] */ MatcherIndex(13), - /* [260] */ MatcherIndex(16), - /* [261] */ MatcherIndex(0), - /* [262] */ MatcherIndex(1), - /* [263] */ MatcherIndex(16), - /* [264] */ MatcherIndex(0), - /* [265] */ MatcherIndex(6), - /* [266] */ MatcherIndex(15), - /* [267] */ MatcherIndex(0), - /* [268] */ MatcherIndex(23), + /* [65] */ MatcherIndex(0), + /* [66] */ MatcherIndex(2), + /* [67] */ MatcherIndex(40), + /* [68] */ MatcherIndex(0), + /* [69] */ MatcherIndex(1), + /* [70] */ MatcherIndex(41), + /* [71] */ MatcherIndex(0), + /* [72] */ MatcherIndex(1), + /* [73] */ MatcherIndex(42), + /* [74] */ MatcherIndex(0), + /* [75] */ MatcherIndex(1), + /* [76] */ MatcherIndex(43), + /* [77] */ MatcherIndex(0), + /* [78] */ MatcherIndex(1), + /* [79] */ MatcherIndex(29), + /* [80] */ MatcherIndex(0), + /* [81] */ MatcherIndex(1), + /* [82] */ MatcherIndex(29), + /* [83] */ MatcherIndex(0), + /* [84] */ MatcherIndex(5), + /* [85] */ MatcherIndex(29), + /* [86] */ MatcherIndex(0), + /* [87] */ MatcherIndex(6), + /* [88] */ MatcherIndex(30), + /* [89] */ MatcherIndex(0), + /* [90] */ MatcherIndex(2), + /* [91] */ MatcherIndex(30), + /* [92] */ MatcherIndex(0), + /* [93] */ MatcherIndex(5), + /* [94] */ MatcherIndex(30), + /* [95] */ MatcherIndex(0), + /* [96] */ MatcherIndex(6), + /* [97] */ MatcherIndex(32), + /* [98] */ MatcherIndex(0), + /* [99] */ MatcherIndex(1), + /* [100] */ MatcherIndex(32), + /* [101] */ MatcherIndex(0), + /* [102] */ MatcherIndex(5), + /* [103] */ MatcherIndex(32), + /* [104] */ MatcherIndex(0), + /* [105] */ MatcherIndex(6), + /* [106] */ MatcherIndex(33), + /* [107] */ MatcherIndex(0), + /* [108] */ MatcherIndex(2), + /* [109] */ MatcherIndex(33), + /* [110] */ MatcherIndex(0), + /* [111] */ MatcherIndex(5), + /* [112] */ MatcherIndex(33), + /* [113] */ MatcherIndex(0), + /* [114] */ MatcherIndex(6), + /* [115] */ MatcherIndex(28), + /* [116] */ MatcherIndex(0), + /* [117] */ MatcherIndex(1), + /* [118] */ MatcherIndex(30), + /* [119] */ MatcherIndex(0), + /* [120] */ MatcherIndex(1), + /* [121] */ MatcherIndex(31), + /* [122] */ MatcherIndex(0), + /* [123] */ MatcherIndex(1), + /* [124] */ MatcherIndex(33), + /* [125] */ MatcherIndex(0), + /* [126] */ MatcherIndex(1), + /* [127] */ MatcherIndex(29), + /* [128] */ MatcherIndex(0), + /* [129] */ MatcherIndex(2), + /* [130] */ MatcherIndex(30), + /* [131] */ MatcherIndex(0), + /* [132] */ MatcherIndex(3), + /* [133] */ MatcherIndex(31), + /* [134] */ MatcherIndex(0), + /* [135] */ MatcherIndex(2), + /* [136] */ MatcherIndex(40), + /* [137] */ MatcherIndex(17), + /* [138] */ MatcherIndex(12), + /* [139] */ MatcherIndex(41), + /* [140] */ MatcherIndex(17), + /* [141] */ MatcherIndex(12), + /* [142] */ MatcherIndex(42), + /* [143] */ MatcherIndex(17), + /* [144] */ MatcherIndex(12), + /* [145] */ MatcherIndex(43), + /* [146] */ MatcherIndex(17), + /* [147] */ MatcherIndex(12), + /* [148] */ MatcherIndex(40), + /* [149] */ MatcherIndex(18), + /* [150] */ MatcherIndex(12), + /* [151] */ MatcherIndex(41), + /* [152] */ MatcherIndex(18), + /* [153] */ MatcherIndex(12), + /* [154] */ MatcherIndex(42), + /* [155] */ MatcherIndex(18), + /* [156] */ MatcherIndex(12), + /* [157] */ MatcherIndex(43), + /* [158] */ MatcherIndex(18), + /* [159] */ MatcherIndex(12), + /* [160] */ MatcherIndex(40), + /* [161] */ MatcherIndex(19), + /* [162] */ MatcherIndex(12), + /* [163] */ MatcherIndex(41), + /* [164] */ MatcherIndex(19), + /* [165] */ MatcherIndex(12), + /* [166] */ MatcherIndex(42), + /* [167] */ MatcherIndex(19), + /* [168] */ MatcherIndex(12), + /* [169] */ MatcherIndex(43), + /* [170] */ MatcherIndex(19), + /* [171] */ MatcherIndex(12), + /* [172] */ MatcherIndex(28), + /* [173] */ MatcherIndex(11), + /* [174] */ MatcherIndex(0), + /* [175] */ MatcherIndex(28), + /* [176] */ MatcherIndex(11), + /* [177] */ MatcherIndex(5), + /* [178] */ MatcherIndex(28), + /* [179] */ MatcherIndex(11), + /* [180] */ MatcherIndex(6), + /* [181] */ MatcherIndex(29), + /* [182] */ MatcherIndex(11), + /* [183] */ MatcherIndex(0), + /* [184] */ MatcherIndex(29), + /* [185] */ MatcherIndex(11), + /* [186] */ MatcherIndex(5), + /* [187] */ MatcherIndex(29), + /* [188] */ MatcherIndex(11), + /* [189] */ MatcherIndex(6), + /* [190] */ MatcherIndex(30), + /* [191] */ MatcherIndex(11), + /* [192] */ MatcherIndex(1), + /* [193] */ MatcherIndex(30), + /* [194] */ MatcherIndex(11), + /* [195] */ MatcherIndex(5), + /* [196] */ MatcherIndex(30), + /* [197] */ MatcherIndex(11), + /* [198] */ MatcherIndex(6), + /* [199] */ MatcherIndex(31), + /* [200] */ MatcherIndex(11), + /* [201] */ MatcherIndex(0), + /* [202] */ MatcherIndex(31), + /* [203] */ MatcherIndex(11), + /* [204] */ MatcherIndex(5), + /* [205] */ MatcherIndex(31), + /* [206] */ MatcherIndex(11), + /* [207] */ MatcherIndex(6), + /* [208] */ MatcherIndex(32), + /* [209] */ MatcherIndex(11), + /* [210] */ MatcherIndex(0), + /* [211] */ MatcherIndex(32), + /* [212] */ MatcherIndex(11), + /* [213] */ MatcherIndex(5), + /* [214] */ MatcherIndex(32), + /* [215] */ MatcherIndex(11), + /* [216] */ MatcherIndex(6), + /* [217] */ MatcherIndex(33), + /* [218] */ MatcherIndex(11), + /* [219] */ MatcherIndex(1), + /* [220] */ MatcherIndex(33), + /* [221] */ MatcherIndex(11), + /* [222] */ MatcherIndex(5), + /* [223] */ MatcherIndex(33), + /* [224] */ MatcherIndex(11), + /* [225] */ MatcherIndex(6), + /* [226] */ MatcherIndex(40), + /* [227] */ MatcherIndex(17), + /* [228] */ MatcherIndex(13), + /* [229] */ MatcherIndex(6), + /* [230] */ MatcherIndex(41), + /* [231] */ MatcherIndex(17), + /* [232] */ MatcherIndex(13), + /* [233] */ MatcherIndex(8), + /* [234] */ MatcherIndex(42), + /* [235] */ MatcherIndex(17), + /* [236] */ MatcherIndex(13), + /* [237] */ MatcherIndex(9), + /* [238] */ MatcherIndex(43), + /* [239] */ MatcherIndex(17), + /* [240] */ MatcherIndex(13), + /* [241] */ MatcherIndex(40), + /* [242] */ MatcherIndex(18), + /* [243] */ MatcherIndex(13), + /* [244] */ MatcherIndex(41), + /* [245] */ MatcherIndex(18), + /* [246] */ MatcherIndex(13), + /* [247] */ MatcherIndex(42), + /* [248] */ MatcherIndex(18), + /* [249] */ MatcherIndex(13), + /* [250] */ MatcherIndex(43), + /* [251] */ MatcherIndex(18), + /* [252] */ MatcherIndex(13), + /* [253] */ MatcherIndex(40), + /* [254] */ MatcherIndex(19), + /* [255] */ MatcherIndex(13), + /* [256] */ MatcherIndex(41), + /* [257] */ MatcherIndex(19), + /* [258] */ MatcherIndex(13), + /* [259] */ MatcherIndex(42), + /* [260] */ MatcherIndex(19), + /* [261] */ MatcherIndex(13), + /* [262] */ MatcherIndex(43), + /* [263] */ MatcherIndex(19), + /* [264] */ MatcherIndex(13), + /* [265] */ MatcherIndex(16), + /* [266] */ MatcherIndex(0), + /* [267] */ MatcherIndex(1), + /* [268] */ MatcherIndex(16), /* [269] */ MatcherIndex(0), - /* [270] */ MatcherIndex(20), - /* [271] */ MatcherIndex(8), - /* [272] */ MatcherIndex(24), - /* [273] */ MatcherIndex(0), - /* [274] */ MatcherIndex(20), - /* [275] */ MatcherIndex(2), - /* [276] */ MatcherIndex(26), - /* [277] */ MatcherIndex(0), - /* [278] */ MatcherIndex(14), - /* [279] */ MatcherIndex(11), - /* [280] */ MatcherIndex(27), - /* [281] */ MatcherIndex(0), - /* [282] */ MatcherIndex(15), - /* [283] */ MatcherIndex(11), - /* [284] */ MatcherIndex(22), - /* [285] */ MatcherIndex(0), - /* [286] */ MatcherIndex(25), - /* [287] */ MatcherIndex(0), - /* [288] */ MatcherIndex(39), - /* [289] */ MatcherIndex(0), - /* [290] */ MatcherIndex(14), - /* [291] */ MatcherIndex(8), - /* [292] */ MatcherIndex(15), - /* [293] */ MatcherIndex(6), - /* [294] */ MatcherIndex(15), - /* [295] */ MatcherIndex(8), - /* [296] */ MatcherIndex(22), - /* [297] */ MatcherIndex(11), - /* [298] */ MatcherIndex(23), - /* [299] */ MatcherIndex(11), - /* [300] */ MatcherIndex(24), - /* [301] */ MatcherIndex(11), - /* [302] */ MatcherIndex(25), - /* [303] */ MatcherIndex(11), - /* [304] */ MatcherIndex(14), - /* [305] */ MatcherIndex(6), - /* [306] */ MatcherIndex(26), - /* [307] */ MatcherIndex(11), - /* [308] */ MatcherIndex(27), - /* [309] */ MatcherIndex(11), - /* [310] */ MatcherIndex(50), - /* [311] */ MatcherIndex(8), - /* [312] */ MatcherIndex(50), - /* [313] */ MatcherIndex(6), - /* [314] */ MatcherIndex(50), - /* [315] */ MatcherIndex(11), - /* [316] */ MatcherIndex(14), - /* [317] */ MatcherIndex(12), - /* [318] */ MatcherIndex(50), - /* [319] */ MatcherIndex(12), - /* [320] */ MatcherIndex(52), - /* [321] */ MatcherIndex(53), - /* [322] */ MatcherIndex(10), - /* [323] */ MatcherIndex(34), - /* [324] */ MatcherIndex(35), - /* [325] */ MatcherIndex(36), - /* [326] */ MatcherIndex(37), - /* [327] */ MatcherIndex(38), - /* [328] */ MatcherIndex(49), - /* [329] */ MatcherIndex(45), - /* [330] */ MatcherIndex(46), - /* [331] */ MatcherIndex(47), - /* [332] */ MatcherIndex(48), - /* [333] */ MatcherIndex(54), - /* [334] */ MatcherIndex(55), - /* [335] */ MatcherIndex(57), - /* [336] */ MatcherIndex(51), + /* [270] */ MatcherIndex(6), + /* [271] */ MatcherIndex(15), + /* [272] */ MatcherIndex(0), + /* [273] */ MatcherIndex(23), + /* [274] */ MatcherIndex(0), + /* [275] */ MatcherIndex(20), + /* [276] */ MatcherIndex(8), + /* [277] */ MatcherIndex(24), + /* [278] */ MatcherIndex(0), + /* [279] */ MatcherIndex(20), + /* [280] */ MatcherIndex(2), + /* [281] */ MatcherIndex(26), + /* [282] */ MatcherIndex(0), + /* [283] */ MatcherIndex(14), + /* [284] */ MatcherIndex(11), + /* [285] */ MatcherIndex(27), + /* [286] */ MatcherIndex(0), + /* [287] */ MatcherIndex(15), + /* [288] */ MatcherIndex(11), + /* [289] */ MatcherIndex(25), + /* [290] */ MatcherIndex(0), + /* [291] */ MatcherIndex(39), + /* [292] */ MatcherIndex(0), + /* [293] */ MatcherIndex(14), + /* [294] */ MatcherIndex(8), + /* [295] */ MatcherIndex(15), + /* [296] */ MatcherIndex(6), + /* [297] */ MatcherIndex(15), + /* [298] */ MatcherIndex(8), + /* [299] */ MatcherIndex(22), + /* [300] */ MatcherIndex(11), + /* [301] */ MatcherIndex(23), + /* [302] */ MatcherIndex(11), + /* [303] */ MatcherIndex(24), + /* [304] */ MatcherIndex(11), + /* [305] */ MatcherIndex(25), + /* [306] */ MatcherIndex(11), + /* [307] */ MatcherIndex(14), + /* [308] */ MatcherIndex(6), + /* [309] */ MatcherIndex(26), + /* [310] */ MatcherIndex(11), + /* [311] */ MatcherIndex(27), + /* [312] */ MatcherIndex(11), + /* [313] */ MatcherIndex(50), + /* [314] */ MatcherIndex(8), + /* [315] */ MatcherIndex(50), + /* [316] */ MatcherIndex(6), + /* [317] */ MatcherIndex(50), + /* [318] */ MatcherIndex(11), + /* [319] */ MatcherIndex(14), + /* [320] */ MatcherIndex(12), + /* [321] */ MatcherIndex(50), + /* [322] */ MatcherIndex(12), + /* [323] */ MatcherIndex(52), + /* [324] */ MatcherIndex(53), + /* [325] */ MatcherIndex(10), + /* [326] */ MatcherIndex(34), + /* [327] */ MatcherIndex(35), + /* [328] */ MatcherIndex(36), + /* [329] */ MatcherIndex(37), + /* [330] */ MatcherIndex(38), + /* [331] */ MatcherIndex(49), + /* [332] */ MatcherIndex(45), + /* [333] */ MatcherIndex(46), + /* [334] */ MatcherIndex(47), + /* [335] */ MatcherIndex(48), + /* [336] */ MatcherIndex(54), + /* [337] */ MatcherIndex(55), + /* [338] */ MatcherIndex(57), + /* [339] */ MatcherIndex(51), }; static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices), @@ -1822,19 +1839,19 @@ /* [0] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(324), + /* matcher_indices */ MatcherIndicesIndex(327), }, { /* [1] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(11), + /* matcher_indices */ MatcherIndicesIndex(21), }, { /* [2] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [3] */ @@ -1852,31 +1869,31 @@ /* [5] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [6] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [7] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(272), + /* matcher_indices */ MatcherIndicesIndex(277), }, { /* [8] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [9] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [10] */ @@ -1888,31 +1905,31 @@ /* [11] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [12] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [13] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(83), + /* matcher_indices */ MatcherIndicesIndex(88), }, { /* [14] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [15] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [16] */ @@ -1924,31 +1941,31 @@ /* [17] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [18] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [19] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(272), + /* matcher_indices */ MatcherIndicesIndex(277), }, { /* [20] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(274), + /* matcher_indices */ MatcherIndicesIndex(279), }, { /* [21] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [22] */ @@ -1960,31 +1977,31 @@ /* [23] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [24] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [25] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(86), + /* matcher_indices */ MatcherIndicesIndex(91), }, { /* [26] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(274), + /* matcher_indices */ MatcherIndicesIndex(279), }, { /* [27] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [28] */ @@ -1996,31 +2013,31 @@ /* [29] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [30] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [31] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(89), + /* matcher_indices */ MatcherIndicesIndex(94), }, { /* [32] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [33] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [34] */ @@ -2032,31 +2049,31 @@ /* [35] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [36] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [37] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(324), + /* matcher_indices */ MatcherIndicesIndex(327), }, { /* [38] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(11), + /* matcher_indices */ MatcherIndicesIndex(21), }, { /* [39] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [40] */ @@ -2074,25 +2091,25 @@ /* [42] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [43] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(300), + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [44] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [45] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [46] */ @@ -2104,31 +2121,31 @@ /* [47] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [48] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [49] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(185), + /* matcher_indices */ MatcherIndicesIndex(190), }, { /* [50] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [51] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [52] */ @@ -2140,31 +2157,31 @@ /* [53] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [54] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [55] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(300), + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [56] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [57] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [58] */ @@ -2176,31 +2193,31 @@ /* [59] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [60] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [61] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(188), + /* matcher_indices */ MatcherIndicesIndex(193), }, { /* [62] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [63] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [64] */ @@ -2212,31 +2229,31 @@ /* [65] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [66] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [67] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(191), + /* matcher_indices */ MatcherIndicesIndex(196), }, { /* [68] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [69] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [70] */ @@ -2248,31 +2265,31 @@ /* [71] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [72] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [73] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(324), + /* matcher_indices */ MatcherIndicesIndex(327), }, { /* [74] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [75] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [76] */ @@ -2284,31 +2301,31 @@ /* [77] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [78] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [79] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(300), + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [80] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [81] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [82] */ @@ -2320,31 +2337,31 @@ /* [83] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [84] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [85] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(185), + /* matcher_indices */ MatcherIndicesIndex(190), }, { /* [86] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [87] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [88] */ @@ -2356,31 +2373,31 @@ /* [89] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [90] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [91] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(300), + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [92] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [93] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [94] */ @@ -2392,31 +2409,31 @@ /* [95] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [96] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [97] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(188), + /* matcher_indices */ MatcherIndicesIndex(193), }, { /* [98] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [99] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [100] */ @@ -2428,31 +2445,31 @@ /* [101] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [102] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [103] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(191), + /* matcher_indices */ MatcherIndicesIndex(196), }, { /* [104] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [105] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [106] */ @@ -2464,31 +2481,31 @@ /* [107] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [108] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [109] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(300), + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [110] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [111] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [112] */ @@ -2500,31 +2517,31 @@ /* [113] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [114] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [115] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(185), + /* matcher_indices */ MatcherIndicesIndex(190), }, { /* [116] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [117] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [118] */ @@ -2536,31 +2553,31 @@ /* [119] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [120] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [121] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(300), + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [122] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [123] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [124] */ @@ -2572,31 +2589,31 @@ /* [125] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [126] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [127] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(188), + /* matcher_indices */ MatcherIndicesIndex(193), }, { /* [128] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [129] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [130] */ @@ -2608,31 +2625,31 @@ /* [131] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [132] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [133] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(191), + /* matcher_indices */ MatcherIndicesIndex(196), }, { /* [134] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [135] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [136] */ @@ -2644,31 +2661,31 @@ /* [137] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [138] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [139] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(323), + /* matcher_indices */ MatcherIndicesIndex(326), }, { /* [140] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(11), + /* matcher_indices */ MatcherIndicesIndex(21), }, { /* [141] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [142] */ @@ -2680,31 +2697,31 @@ /* [143] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [144] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [145] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(326), + /* matcher_indices */ MatcherIndicesIndex(329), }, { /* [146] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(11), + /* matcher_indices */ MatcherIndicesIndex(21), }, { /* [147] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [148] */ @@ -2722,7 +2739,7 @@ /* [150] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [151] */ @@ -2734,7 +2751,7 @@ /* [152] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(45), + /* matcher_indices */ MatcherIndicesIndex(50), }, { /* [153] */ @@ -2746,181 +2763,181 @@ /* [154] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [155] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [156] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(268), + /* matcher_indices */ MatcherIndicesIndex(273), }, { /* [157] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [158] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [159] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [160] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [161] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(74), + /* matcher_indices */ MatcherIndicesIndex(79), }, { /* [162] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [163] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [164] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [165] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [166] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(268), + /* matcher_indices */ MatcherIndicesIndex(273), }, { /* [167] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [168] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [169] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [170] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [171] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(77), + /* matcher_indices */ MatcherIndicesIndex(82), }, { /* [172] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [173] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [174] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [175] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [176] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(80), + /* matcher_indices */ MatcherIndicesIndex(85), }, { /* [177] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [178] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [179] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [180] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [181] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(280), + /* matcher_indices */ MatcherIndicesIndex(285), }, { /* [182] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [183] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [184] */ @@ -2932,25 +2949,25 @@ /* [185] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [186] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(101), + /* matcher_indices */ MatcherIndicesIndex(106), }, { /* [187] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [188] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [189] */ @@ -2962,25 +2979,25 @@ /* [190] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [191] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(280), + /* matcher_indices */ MatcherIndicesIndex(285), }, { /* [192] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(274), + /* matcher_indices */ MatcherIndicesIndex(279), }, { /* [193] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [194] */ @@ -2992,25 +3009,25 @@ /* [195] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [196] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(104), + /* matcher_indices */ MatcherIndicesIndex(109), }, { /* [197] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(274), + /* matcher_indices */ MatcherIndicesIndex(279), }, { /* [198] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [199] */ @@ -3022,25 +3039,25 @@ /* [200] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [201] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(107), + /* matcher_indices */ MatcherIndicesIndex(112), }, { /* [202] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [203] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [204] */ @@ -3052,25 +3069,25 @@ /* [205] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [206] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(324), + /* matcher_indices */ MatcherIndicesIndex(327), }, { /* [207] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [208] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [209] */ @@ -3082,25 +3099,25 @@ /* [210] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [211] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(323), + /* matcher_indices */ MatcherIndicesIndex(326), }, { /* [212] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(11), + /* matcher_indices */ MatcherIndicesIndex(21), }, { /* [213] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [214] */ @@ -3112,25 +3129,25 @@ /* [215] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [216] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(300), + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [217] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [218] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [219] */ @@ -3142,25 +3159,25 @@ /* [220] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [221] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(185), + /* matcher_indices */ MatcherIndicesIndex(190), }, { /* [222] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [223] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [224] */ @@ -3172,25 +3189,25 @@ /* [225] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [226] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(300), + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [227] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [228] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [229] */ @@ -3202,25 +3219,25 @@ /* [230] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [231] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(188), + /* matcher_indices */ MatcherIndicesIndex(193), }, { /* [232] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [233] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [234] */ @@ -3232,25 +3249,25 @@ /* [235] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [236] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(191), + /* matcher_indices */ MatcherIndicesIndex(196), }, { /* [237] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [238] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [239] */ @@ -3262,73 +3279,73 @@ /* [240] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [241] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(298), + /* matcher_indices */ MatcherIndicesIndex(301), }, { /* [242] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [243] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [244] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [245] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [246] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(176), + /* matcher_indices */ MatcherIndicesIndex(181), }, { /* [247] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [248] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [249] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [250] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [251] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(298), + /* matcher_indices */ MatcherIndicesIndex(301), }, { /* [252] */ @@ -3340,25 +3357,25 @@ /* [253] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [254] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [255] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [256] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(179), + /* matcher_indices */ MatcherIndicesIndex(184), }, { /* [257] */ @@ -3370,115 +3387,115 @@ /* [258] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [259] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [260] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [261] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(182), + /* matcher_indices */ MatcherIndicesIndex(187), }, { /* [262] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [263] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [264] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [265] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [266] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(302), + /* matcher_indices */ MatcherIndicesIndex(305), }, { /* [267] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [268] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [269] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [270] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [271] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(194), + /* matcher_indices */ MatcherIndicesIndex(199), }, { /* [272] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [273] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [274] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [275] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [276] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(302), + /* matcher_indices */ MatcherIndicesIndex(305), }, { /* [277] */ @@ -3490,25 +3507,25 @@ /* [278] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [279] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [280] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [281] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(197), + /* matcher_indices */ MatcherIndicesIndex(202), }, { /* [282] */ @@ -3520,67 +3537,67 @@ /* [283] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [284] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [285] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [286] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(200), + /* matcher_indices */ MatcherIndicesIndex(205), }, { /* [287] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [288] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [289] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [290] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [291] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(308), + /* matcher_indices */ MatcherIndicesIndex(311), }, { /* [292] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [293] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [294] */ @@ -3592,25 +3609,25 @@ /* [295] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [296] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(212), + /* matcher_indices */ MatcherIndicesIndex(217), }, { /* [297] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [298] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [299] */ @@ -3622,25 +3639,25 @@ /* [300] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [301] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(308), + /* matcher_indices */ MatcherIndicesIndex(311), }, { /* [302] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [303] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [304] */ @@ -3652,25 +3669,25 @@ /* [305] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [306] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(215), + /* matcher_indices */ MatcherIndicesIndex(220), }, { /* [307] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [308] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [309] */ @@ -3682,25 +3699,25 @@ /* [310] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [311] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(218), + /* matcher_indices */ MatcherIndicesIndex(223), }, { /* [312] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [313] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [314] */ @@ -3712,55 +3729,55 @@ /* [315] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [316] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(323), + /* matcher_indices */ MatcherIndicesIndex(326), }, { /* [317] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [318] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [319] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [320] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [321] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(326), + /* matcher_indices */ MatcherIndicesIndex(329), }, { /* [322] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [323] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [324] */ @@ -3772,73 +3789,73 @@ /* [325] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [326] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(298), + /* matcher_indices */ MatcherIndicesIndex(301), }, { /* [327] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [328] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [329] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [330] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [331] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(176), + /* matcher_indices */ MatcherIndicesIndex(181), }, { /* [332] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [333] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [334] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [335] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [336] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(298), + /* matcher_indices */ MatcherIndicesIndex(301), }, { /* [337] */ @@ -3850,25 +3867,25 @@ /* [338] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [339] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [340] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [341] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(179), + /* matcher_indices */ MatcherIndicesIndex(184), }, { /* [342] */ @@ -3880,115 +3897,115 @@ /* [343] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [344] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [345] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [346] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(182), + /* matcher_indices */ MatcherIndicesIndex(187), }, { /* [347] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [348] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [349] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [350] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [351] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(302), + /* matcher_indices */ MatcherIndicesIndex(305), }, { /* [352] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [353] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [354] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [355] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [356] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(194), + /* matcher_indices */ MatcherIndicesIndex(199), }, { /* [357] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [358] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [359] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [360] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [361] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(302), + /* matcher_indices */ MatcherIndicesIndex(305), }, { /* [362] */ @@ -4000,25 +4017,25 @@ /* [363] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [364] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [365] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [366] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(197), + /* matcher_indices */ MatcherIndicesIndex(202), }, { /* [367] */ @@ -4030,67 +4047,67 @@ /* [368] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [369] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [370] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [371] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(200), + /* matcher_indices */ MatcherIndicesIndex(205), }, { /* [372] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [373] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [374] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [375] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [376] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(308), + /* matcher_indices */ MatcherIndicesIndex(311), }, { /* [377] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [378] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [379] */ @@ -4102,25 +4119,25 @@ /* [380] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [381] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(212), + /* matcher_indices */ MatcherIndicesIndex(217), }, { /* [382] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [383] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [384] */ @@ -4132,25 +4149,25 @@ /* [385] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [386] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(308), + /* matcher_indices */ MatcherIndicesIndex(311), }, { /* [387] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [388] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [389] */ @@ -4162,25 +4179,25 @@ /* [390] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [391] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(215), + /* matcher_indices */ MatcherIndicesIndex(220), }, { /* [392] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [393] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [394] */ @@ -4192,25 +4209,25 @@ /* [395] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [396] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(218), + /* matcher_indices */ MatcherIndicesIndex(223), }, { /* [397] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [398] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [399] */ @@ -4222,73 +4239,73 @@ /* [400] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [401] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(298), + /* matcher_indices */ MatcherIndicesIndex(301), }, { /* [402] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [403] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [404] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [405] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [406] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(176), + /* matcher_indices */ MatcherIndicesIndex(181), }, { /* [407] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [408] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [409] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [410] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [411] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(298), + /* matcher_indices */ MatcherIndicesIndex(301), }, { /* [412] */ @@ -4300,25 +4317,25 @@ /* [413] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [414] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [415] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [416] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(179), + /* matcher_indices */ MatcherIndicesIndex(184), }, { /* [417] */ @@ -4330,115 +4347,115 @@ /* [418] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [419] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [420] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [421] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(182), + /* matcher_indices */ MatcherIndicesIndex(187), }, { /* [422] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [423] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [424] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(330), + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [425] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [426] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(302), + /* matcher_indices */ MatcherIndicesIndex(305), }, { /* [427] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [428] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [429] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(331), + /* matcher_indices */ MatcherIndicesIndex(334), }, { /* [430] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [431] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(194), + /* matcher_indices */ MatcherIndicesIndex(199), }, { /* [432] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [433] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [434] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(331), + /* matcher_indices */ MatcherIndicesIndex(334), }, { /* [435] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [436] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(302), + /* matcher_indices */ MatcherIndicesIndex(305), }, { /* [437] */ @@ -4450,25 +4467,25 @@ /* [438] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [439] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(331), + /* matcher_indices */ MatcherIndicesIndex(334), }, { /* [440] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [441] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(197), + /* matcher_indices */ MatcherIndicesIndex(202), }, { /* [442] */ @@ -4480,67 +4497,67 @@ /* [443] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [444] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(331), + /* matcher_indices */ MatcherIndicesIndex(334), }, { /* [445] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [446] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(200), + /* matcher_indices */ MatcherIndicesIndex(205), }, { /* [447] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [448] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [449] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(331), + /* matcher_indices */ MatcherIndicesIndex(334), }, { /* [450] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [451] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(308), + /* matcher_indices */ MatcherIndicesIndex(311), }, { /* [452] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [453] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [454] */ @@ -4552,25 +4569,25 @@ /* [455] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [456] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(212), + /* matcher_indices */ MatcherIndicesIndex(217), }, { /* [457] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [458] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [459] */ @@ -4582,25 +4599,25 @@ /* [460] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [461] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(308), + /* matcher_indices */ MatcherIndicesIndex(311), }, { /* [462] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [463] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [464] */ @@ -4612,25 +4629,25 @@ /* [465] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [466] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(215), + /* matcher_indices */ MatcherIndicesIndex(220), }, { /* [467] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [468] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [469] */ @@ -4642,25 +4659,25 @@ /* [470] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [471] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(218), + /* matcher_indices */ MatcherIndicesIndex(223), }, { /* [472] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [473] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [474] */ @@ -4672,25 +4689,25 @@ /* [475] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [476] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(325), + /* matcher_indices */ MatcherIndicesIndex(328), }, { /* [477] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(11), + /* matcher_indices */ MatcherIndicesIndex(21), }, { /* [478] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [479] */ @@ -4702,91 +4719,91 @@ /* [480] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [481] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(25), + /* matcher_indices */ MatcherIndicesIndex(30), }, { /* [482] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(49), + /* matcher_indices */ MatcherIndicesIndex(54), }, { /* [483] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(232), + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [484] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(231), + /* matcher_indices */ MatcherIndicesIndex(236), }, { /* [485] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(79), + /* matcher_indices */ MatcherIndicesIndex(84), }, { /* [486] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(25), + /* matcher_indices */ MatcherIndicesIndex(30), }, { /* [487] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(53), + /* matcher_indices */ MatcherIndicesIndex(58), }, { /* [488] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(232), + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [489] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(231), + /* matcher_indices */ MatcherIndicesIndex(236), }, { /* [490] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(79), + /* matcher_indices */ MatcherIndicesIndex(84), }, { /* [491] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(336), + /* matcher_indices */ MatcherIndicesIndex(339), }, { /* [492] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [493] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [494] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [495] */ @@ -4804,43 +4821,43 @@ /* [497] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(82), + /* matcher_indices */ MatcherIndicesIndex(87), }, { /* [498] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(336), + /* matcher_indices */ MatcherIndicesIndex(339), }, { /* [499] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [500] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [501] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [502] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(260), + /* matcher_indices */ MatcherIndicesIndex(265), }, { /* [503] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(260), + /* matcher_indices */ MatcherIndicesIndex(265), }, { /* [504] */ @@ -4852,19 +4869,19 @@ /* [505] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(260), + /* matcher_indices */ MatcherIndicesIndex(265), }, { /* [506] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(263), + /* matcher_indices */ MatcherIndicesIndex(268), }, { /* [507] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(336), + /* matcher_indices */ MatcherIndicesIndex(339), }, { /* [508] */ @@ -4894,7 +4911,7 @@ /* [512] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(336), + /* matcher_indices */ MatcherIndicesIndex(339), }, { /* [513] */ @@ -4918,169 +4935,169 @@ /* [516] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(260), + /* matcher_indices */ MatcherIndicesIndex(265), }, { /* [517] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [518] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(276), + /* matcher_indices */ MatcherIndicesIndex(281), }, { /* [519] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [520] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [521] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [522] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(92), + /* matcher_indices */ MatcherIndicesIndex(97), }, { /* [523] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [524] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [525] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [526] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(276), + /* matcher_indices */ MatcherIndicesIndex(281), }, { /* [527] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [528] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [529] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [530] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(95), + /* matcher_indices */ MatcherIndicesIndex(100), }, { /* [531] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(16), + /* matcher_indices */ MatcherIndicesIndex(11), }, { /* [532] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [533] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [534] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(98), + /* matcher_indices */ MatcherIndicesIndex(103), }, { /* [535] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [536] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [537] */ /* usage */ core::ParameterUsage::kComponent, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [538] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(323), + /* matcher_indices */ MatcherIndicesIndex(326), }, { /* [539] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [540] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [541] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [542] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(272), + /* matcher_indices */ MatcherIndicesIndex(277), }, { /* [543] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [544] */ @@ -5092,19 +5109,19 @@ /* [545] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(8), + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [546] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(125), + /* matcher_indices */ MatcherIndicesIndex(130), }, { /* [547] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [548] */ @@ -5116,19 +5133,19 @@ /* [549] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(8), + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [550] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(324), + /* matcher_indices */ MatcherIndicesIndex(327), }, { /* [551] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [552] */ @@ -5146,55 +5163,55 @@ /* [554] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(298), + /* matcher_indices */ MatcherIndicesIndex(301), }, { /* [555] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [556] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [557] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [558] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(176), + /* matcher_indices */ MatcherIndicesIndex(181), }, { /* [559] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [560] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [561] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [562] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(298), + /* matcher_indices */ MatcherIndicesIndex(301), }, { /* [563] */ @@ -5206,19 +5223,19 @@ /* [564] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [565] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [566] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(179), + /* matcher_indices */ MatcherIndicesIndex(184), }, { /* [567] */ @@ -5230,91 +5247,91 @@ /* [568] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [569] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [570] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(182), + /* matcher_indices */ MatcherIndicesIndex(187), }, { /* [571] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [572] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(56), + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [573] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(223), + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [574] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(302), + /* matcher_indices */ MatcherIndicesIndex(305), }, { /* [575] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [576] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [577] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [578] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(194), + /* matcher_indices */ MatcherIndicesIndex(199), }, { /* [579] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [580] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [581] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [582] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(302), + /* matcher_indices */ MatcherIndicesIndex(305), }, { /* [583] */ @@ -5326,19 +5343,19 @@ /* [584] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [585] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [586] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(197), + /* matcher_indices */ MatcherIndicesIndex(202), }, { /* [587] */ @@ -5350,91 +5367,91 @@ /* [588] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [589] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [590] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(200), + /* matcher_indices */ MatcherIndicesIndex(205), }, { /* [591] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [592] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [593] */ /* usage */ core::ParameterUsage::kOffset, /* is_const */ true, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [594] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(306), + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [595] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [596] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [597] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [598] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(203), + /* matcher_indices */ MatcherIndicesIndex(208), }, { /* [599] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [600] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [601] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [602] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(306), + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [603] */ @@ -5446,19 +5463,19 @@ /* [604] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [605] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [606] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(206), + /* matcher_indices */ MatcherIndicesIndex(211), }, { /* [607] */ @@ -5470,115 +5487,115 @@ /* [608] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [609] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [610] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(209), + /* matcher_indices */ MatcherIndicesIndex(214), }, { /* [611] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [612] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [613] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [614] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(325), + /* matcher_indices */ MatcherIndicesIndex(328), }, { /* [615] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [616] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [617] */ /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(328), + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [618] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(306), + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [619] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [620] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [621] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [622] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(203), + /* matcher_indices */ MatcherIndicesIndex(208), }, { /* [623] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [624] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [625] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [626] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(306), + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [627] */ @@ -5590,19 +5607,19 @@ /* [628] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [629] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [630] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(206), + /* matcher_indices */ MatcherIndicesIndex(211), }, { /* [631] */ @@ -5614,91 +5631,91 @@ /* [632] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [633] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [634] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(209), + /* matcher_indices */ MatcherIndicesIndex(214), }, { /* [635] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [636] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [637] */ /* usage */ core::ParameterUsage::kBias, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(329), + /* matcher_indices */ MatcherIndicesIndex(332), }, { /* [638] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(306), + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [639] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [640] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [641] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [642] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(203), + /* matcher_indices */ MatcherIndicesIndex(208), }, { /* [643] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [644] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [645] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [646] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(306), + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [647] */ @@ -5710,19 +5727,19 @@ /* [648] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [649] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [650] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(206), + /* matcher_indices */ MatcherIndicesIndex(211), }, { /* [651] */ @@ -5734,55 +5751,55 @@ /* [652] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [653] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [654] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(209), + /* matcher_indices */ MatcherIndicesIndex(214), }, { /* [655] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [656] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [657] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(332), + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [658] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(229), + /* matcher_indices */ MatcherIndicesIndex(234), }, { /* [659] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(282), + /* matcher_indices */ MatcherIndicesIndex(287), }, { /* [660] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [661] */ @@ -5794,19 +5811,19 @@ /* [662] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(242), + /* matcher_indices */ MatcherIndicesIndex(247), }, { /* [663] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(292), + /* matcher_indices */ MatcherIndicesIndex(295), }, { /* [664] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [665] */ @@ -5818,19 +5835,19 @@ /* [666] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(254), + /* matcher_indices */ MatcherIndicesIndex(259), }, { /* [667] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(294), + /* matcher_indices */ MatcherIndicesIndex(297), }, { /* [668] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [669] */ @@ -5842,43 +5859,43 @@ /* [670] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(30), + /* matcher_indices */ MatcherIndicesIndex(35), }, { /* [671] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(35), + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [672] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(40), + /* matcher_indices */ MatcherIndicesIndex(45), }, { /* [673] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(30), + /* matcher_indices */ MatcherIndicesIndex(35), }, { /* [674] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(336), + /* matcher_indices */ MatcherIndicesIndex(339), }, { /* [675] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [676] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [677] */ @@ -5890,25 +5907,25 @@ /* [678] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(336), + /* matcher_indices */ MatcherIndicesIndex(339), }, { /* [679] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [680] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [681] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(260), + /* matcher_indices */ MatcherIndicesIndex(265), }, { /* [682] */ @@ -5926,37 +5943,37 @@ /* [684] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [685] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(268), + /* matcher_indices */ MatcherIndicesIndex(5), }, { /* [686] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [687] */ - /* usage */ core::ParameterUsage::kLevel, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(1), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [688] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(286), + /* matcher_indices */ MatcherIndicesIndex(273), }, { /* [689] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(290), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [690] */ @@ -5968,13 +5985,13 @@ /* [691] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(122), + /* matcher_indices */ MatcherIndicesIndex(289), }, { /* [692] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(293), }, { /* [693] */ @@ -5986,13 +6003,13 @@ /* [694] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(128), + /* matcher_indices */ MatcherIndicesIndex(127), }, { /* [695] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(290), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [696] */ @@ -6004,17 +6021,17 @@ /* [697] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(288), + /* matcher_indices */ MatcherIndicesIndex(133), }, { /* [698] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(293), }, { /* [699] */ - /* usage */ core::ParameterUsage::kSampleIndex, + /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(1), }, @@ -6022,35 +6039,35 @@ /* [700] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(323), + /* matcher_indices */ MatcherIndicesIndex(291), }, { /* [701] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [702] */ - /* usage */ core::ParameterUsage::kLevel, + /* usage */ core::ParameterUsage::kSampleIndex, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(3), + /* matcher_indices */ MatcherIndicesIndex(1), }, { /* [703] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(327), + /* matcher_indices */ MatcherIndicesIndex(326), }, { /* [704] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [705] */ - /* usage */ core::ParameterUsage::kSampleIndex, + /* usage */ core::ParameterUsage::kLevel, /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(3), }, @@ -6058,17 +6075,17 @@ /* [706] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(137), + /* matcher_indices */ MatcherIndicesIndex(330), }, { /* [707] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [708] */ - /* usage */ core::ParameterUsage::kArrayIndex, + /* usage */ core::ParameterUsage::kSampleIndex, /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(3), }, @@ -6076,13 +6093,13 @@ /* [709] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(149), + /* matcher_indices */ MatcherIndicesIndex(142), }, { /* [710] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [711] */ @@ -6094,13 +6111,13 @@ /* [712] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(161), + /* matcher_indices */ MatcherIndicesIndex(154), }, { /* [713] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [714] */ @@ -6112,31 +6129,31 @@ /* [715] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(296), + /* matcher_indices */ MatcherIndicesIndex(166), }, { /* [716] */ - /* usage */ core::ParameterUsage::kSampler, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [717] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kArrayIndex, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(4), + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [718] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(167), + /* matcher_indices */ MatcherIndicesIndex(299), }, { /* [719] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [720] */ @@ -6148,13 +6165,13 @@ /* [721] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(296), + /* matcher_indices */ MatcherIndicesIndex(172), }, { /* [722] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(41), + /* matcher_indices */ MatcherIndicesIndex(161), }, { /* [723] */ @@ -6166,7 +6183,7 @@ /* [724] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(170), + /* matcher_indices */ MatcherIndicesIndex(299), }, { /* [725] */ @@ -6184,13 +6201,13 @@ /* [727] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(173), + /* matcher_indices */ MatcherIndicesIndex(175), }, { /* [728] */ /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(270), + /* matcher_indices */ MatcherIndicesIndex(41), }, { /* [729] */ @@ -6202,601 +6219,619 @@ /* [730] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(221), + /* matcher_indices */ MatcherIndicesIndex(178), }, { /* [731] */ - /* usage */ core::ParameterUsage::kValue, + /* usage */ core::ParameterUsage::kSampler, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(282), + /* matcher_indices */ MatcherIndicesIndex(275), }, { /* [732] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(4), }, { /* [733] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(225), + /* matcher_indices */ MatcherIndicesIndex(226), }, { /* [734] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(282), + /* matcher_indices */ MatcherIndicesIndex(287), }, { /* [735] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [736] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(233), + /* matcher_indices */ MatcherIndicesIndex(230), }, { /* [737] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(282), + /* matcher_indices */ MatcherIndicesIndex(287), }, { /* [738] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(290), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [739] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(236), + /* matcher_indices */ MatcherIndicesIndex(238), }, { /* [740] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(292), + /* matcher_indices */ MatcherIndicesIndex(287), }, { /* [741] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(293), }, { /* [742] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(239), + /* matcher_indices */ MatcherIndicesIndex(241), }, { /* [743] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(292), + /* matcher_indices */ MatcherIndicesIndex(295), }, { /* [744] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [745] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(245), + /* matcher_indices */ MatcherIndicesIndex(244), }, { /* [746] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(292), + /* matcher_indices */ MatcherIndicesIndex(295), }, { /* [747] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(290), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [748] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(248), + /* matcher_indices */ MatcherIndicesIndex(250), }, { /* [749] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(294), + /* matcher_indices */ MatcherIndicesIndex(295), }, { /* [750] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(293), }, { /* [751] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(251), + /* matcher_indices */ MatcherIndicesIndex(253), }, { /* [752] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(294), + /* matcher_indices */ MatcherIndicesIndex(297), }, { /* [753] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [754] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(257), + /* matcher_indices */ MatcherIndicesIndex(256), }, { /* [755] */ /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(294), + /* matcher_indices */ MatcherIndicesIndex(297), }, { /* [756] */ /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(290), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [757] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(0), + /* matcher_indices */ MatcherIndicesIndex(262), }, { /* [758] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kValue, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(297), }, { /* [759] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(268), + /* matcher_indices */ MatcherIndicesIndex(293), }, { /* [760] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(0), }, { /* [761] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(272), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [762] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(273), }, { /* [763] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(286), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [764] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(277), }, { /* [765] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(276), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [766] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(289), }, { /* [767] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(280), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [768] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(281), }, { /* [769] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(74), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [770] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(285), }, { /* [771] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(113), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [772] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(79), }, { /* [773] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(116), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [774] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(118), }, { /* [775] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(92), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [776] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(121), }, { /* [777] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(119), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [778] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(97), }, { /* [779] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(323), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [780] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(124), }, { /* [781] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(324), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [782] */ - /* usage */ core::ParameterUsage::kNone, - /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), - }, - { - /* [783] */ - /* usage */ core::ParameterUsage::kTexture, - /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(325), - }, - { - /* [784] */ - /* usage */ core::ParameterUsage::kNone, - /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), - }, - { - /* [785] */ /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(326), }, { - /* [786] */ + /* [783] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(233), + }, + { + /* [784] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(327), + }, + { + /* [785] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(233), + }, + { + /* [786] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(328), }, { /* [787] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(65), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [788] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(329), }, { /* [789] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(68), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [790] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(70), }, { /* [791] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(71), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [792] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(73), }, { /* [793] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(284), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [794] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(76), }, { /* [795] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(110), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [796] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(36), }, { /* [797] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(131), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [798] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(115), }, { /* [799] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(134), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [800] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(136), }, { /* [801] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(140), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [802] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(290), + /* matcher_indices */ MatcherIndicesIndex(139), }, { /* [803] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(143), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [804] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(145), }, { /* [805] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(146), + /* matcher_indices */ MatcherIndicesIndex(293), }, { /* [806] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(148), }, { /* [807] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(152), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [808] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(290), + /* matcher_indices */ MatcherIndicesIndex(151), }, { /* [809] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(155), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [810] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(157), }, { /* [811] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(158), + /* matcher_indices */ MatcherIndicesIndex(293), }, { /* [812] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(227), + /* matcher_indices */ MatcherIndicesIndex(160), }, { /* [813] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(164), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [814] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(290), + /* matcher_indices */ MatcherIndicesIndex(163), }, { /* [815] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(58), + /* matcher_indices */ MatcherIndicesIndex(232), }, { /* [816] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(228), + /* matcher_indices */ MatcherIndicesIndex(169), }, { /* [817] */ - /* usage */ core::ParameterUsage::kTexture, + /* usage */ core::ParameterUsage::kCoords, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(62), + /* matcher_indices */ MatcherIndicesIndex(293), }, { /* [818] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(310), + /* matcher_indices */ MatcherIndicesIndex(63), }, { /* [819] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(312), + /* matcher_indices */ MatcherIndicesIndex(233), }, { /* [820] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kTexture, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(314), + /* matcher_indices */ MatcherIndicesIndex(67), }, { /* [821] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(318), + /* matcher_indices */ MatcherIndicesIndex(313), }, { /* [822] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(290), + /* matcher_indices */ MatcherIndicesIndex(315), }, { /* [823] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(304), + /* matcher_indices */ MatcherIndicesIndex(317), }, { /* [824] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(278), + /* matcher_indices */ MatcherIndicesIndex(321), }, { /* [825] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(316), + /* matcher_indices */ MatcherIndicesIndex(293), }, { /* [826] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(5), + /* matcher_indices */ MatcherIndicesIndex(307), }, { /* [827] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(10), + /* matcher_indices */ MatcherIndicesIndex(283), }, { /* [828] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(15), + /* matcher_indices */ MatcherIndicesIndex(319), }, { /* [829] */ /* usage */ core::ParameterUsage::kNone, /* is_const */ false, - /* matcher_indices */ MatcherIndicesIndex(8), + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [830] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(15), + }, + { + /* [831] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [832] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, }; @@ -6807,7 +6842,7 @@ { /* [0] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(20), + /* matcher_indices */ MatcherIndicesIndex(25), /* kind */ TemplateInfo::Kind::kType, }, { @@ -6819,7 +6854,7 @@ { /* [2] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(333), + /* matcher_indices */ MatcherIndicesIndex(336), /* kind */ TemplateInfo::Kind::kType, }, { @@ -6849,31 +6884,31 @@ { /* [7] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { /* [8] */ /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { /* [9] */ /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(232), + /* matcher_indices */ MatcherIndicesIndex(8), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [10] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(5), + /* matcher_indices */ MatcherIndicesIndex(10), /* kind */ TemplateInfo::Kind::kType, }, { /* [11] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(333), + /* matcher_indices */ MatcherIndicesIndex(336), /* kind */ TemplateInfo::Kind::kType, }, { @@ -6891,13 +6926,13 @@ { /* [14] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(10), + /* matcher_indices */ MatcherIndicesIndex(15), /* kind */ TemplateInfo::Kind::kType, }, { /* [15] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(333), + /* matcher_indices */ MatcherIndicesIndex(336), /* kind */ TemplateInfo::Kind::kType, }, { @@ -6915,13 +6950,13 @@ { /* [18] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(15), + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { /* [19] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(333), + /* matcher_indices */ MatcherIndicesIndex(336), /* kind */ TemplateInfo::Kind::kType, }, { @@ -6945,13 +6980,13 @@ { /* [23] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { /* [24] */ /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(232), + /* matcher_indices */ MatcherIndicesIndex(8), /* kind */ TemplateInfo::Kind::kNumber, }, { @@ -6963,31 +6998,31 @@ { /* [26] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { /* [27] */ /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(322), + /* matcher_indices */ MatcherIndicesIndex(325), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [28] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(321), + /* matcher_indices */ MatcherIndicesIndex(324), /* kind */ TemplateInfo::Kind::kType, }, { /* [29] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { /* [30] */ /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { @@ -6999,13 +7034,13 @@ { /* [32] */ /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { /* [33] */ /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(232), + /* matcher_indices */ MatcherIndicesIndex(8), /* kind */ TemplateInfo::Kind::kNumber, }, { @@ -7029,13 +7064,13 @@ { /* [37] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { /* [38] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(50), + /* matcher_indices */ MatcherIndicesIndex(55), /* kind */ TemplateInfo::Kind::kNumber, }, { @@ -7059,7 +7094,7 @@ { /* [42] */ /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(232), + /* matcher_indices */ MatcherIndicesIndex(8), /* kind */ TemplateInfo::Kind::kNumber, }, { @@ -7071,31 +7106,31 @@ { /* [44] */ /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(322), + /* matcher_indices */ MatcherIndicesIndex(325), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [45] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(321), + /* matcher_indices */ MatcherIndicesIndex(324), /* kind */ TemplateInfo::Kind::kType, }, { /* [46] */ /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { /* [47] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(321), + /* matcher_indices */ MatcherIndicesIndex(324), /* kind */ TemplateInfo::Kind::kType, }, { /* [48] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(320), + /* matcher_indices */ MatcherIndicesIndex(323), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7107,7 +7142,7 @@ { /* [50] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(333), + /* matcher_indices */ MatcherIndicesIndex(336), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7119,7 +7154,7 @@ { /* [52] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(334), + /* matcher_indices */ MatcherIndicesIndex(337), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7131,7 +7166,7 @@ { /* [54] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(335), + /* matcher_indices */ MatcherIndicesIndex(338), /* kind */ TemplateInfo::Kind::kType, }, }; @@ -7147,8 +7182,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(715), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* parameters */ ParameterIndex(718), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7158,8 +7193,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(9), - /* parameters */ ParameterIndex(718), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* parameters */ ParameterIndex(721), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7169,8 +7204,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(721), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* parameters */ ParameterIndex(724), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7180,8 +7215,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(724), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* parameters */ ParameterIndex(727), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7191,8 +7226,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(727), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* parameters */ ParameterIndex(730), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7203,7 +7238,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(241), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7214,7 +7249,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(246), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7225,7 +7260,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(251), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7236,7 +7271,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(256), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7247,7 +7282,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(261), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7258,7 +7293,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(554), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7269,7 +7304,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(558), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7280,7 +7315,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(562), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7291,7 +7326,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(566), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7302,7 +7337,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(570), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7313,7 +7348,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(43), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7324,7 +7359,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(49), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7335,7 +7370,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(55), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7346,7 +7381,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(61), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7357,7 +7392,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(67), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7368,7 +7403,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(216), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7379,7 +7414,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(221), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7390,7 +7425,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(226), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7401,7 +7436,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(231), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7412,7 +7447,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(236), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7423,7 +7458,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(266), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7434,7 +7469,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7445,7 +7480,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(276), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7456,7 +7491,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(281), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7467,7 +7502,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(286), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7478,7 +7513,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(574), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7489,7 +7524,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(578), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7500,7 +7535,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(582), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7511,7 +7546,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(586), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7522,7 +7557,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(590), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7533,7 +7568,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(594), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7544,7 +7579,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(598), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7555,7 +7590,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(602), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7566,7 +7601,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(606), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7577,7 +7612,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(610), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7588,7 +7623,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(291), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7599,7 +7634,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(296), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7610,7 +7645,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7621,7 +7656,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(306), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7632,7 +7667,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(311), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7709,7 +7744,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(241), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7720,7 +7755,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(246), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7731,7 +7766,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(251), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7742,7 +7777,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(256), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7753,7 +7788,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(261), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7764,7 +7799,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(241), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7775,7 +7810,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(246), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7786,7 +7821,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(251), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7797,7 +7832,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(256), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7808,7 +7843,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(261), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7819,7 +7854,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(43), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7830,7 +7865,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(49), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7841,7 +7876,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(55), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7852,7 +7887,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(61), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7863,7 +7898,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(67), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7874,7 +7909,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(43), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7885,7 +7920,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(49), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7896,7 +7931,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(55), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7907,7 +7942,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(61), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7918,7 +7953,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(67), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7929,7 +7964,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(266), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7940,7 +7975,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7951,7 +7986,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(276), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7962,7 +7997,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(281), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7973,7 +8008,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(286), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7984,7 +8019,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(266), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7995,7 +8030,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8006,7 +8041,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(276), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8017,7 +8052,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(281), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8028,7 +8063,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(286), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8039,7 +8074,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(594), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8050,7 +8085,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(598), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8061,7 +8096,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(602), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8072,7 +8107,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(606), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8083,7 +8118,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(610), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8094,7 +8129,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(291), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8105,7 +8140,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(296), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8116,7 +8151,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8127,7 +8162,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(306), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8138,7 +8173,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(311), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8215,7 +8250,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(326), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8226,7 +8261,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(331), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8237,7 +8272,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(336), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8248,7 +8283,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(341), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8259,7 +8294,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(346), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8270,7 +8305,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(326), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8281,7 +8316,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(331), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8292,7 +8327,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(336), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8303,7 +8338,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(341), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8314,7 +8349,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(346), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8325,7 +8360,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(79), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8336,7 +8371,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(85), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8347,7 +8382,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(91), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8358,7 +8393,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(97), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8369,7 +8404,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(103), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8380,7 +8415,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(79), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8391,7 +8426,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(85), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8402,7 +8437,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(91), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8413,7 +8448,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(97), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8424,7 +8459,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(103), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8435,7 +8470,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(351), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8446,7 +8481,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(356), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8457,7 +8492,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(361), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8468,7 +8503,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(366), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8479,7 +8514,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(371), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8490,7 +8525,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(351), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8501,7 +8536,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(356), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8512,7 +8547,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(361), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8523,7 +8558,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(366), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8534,7 +8569,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(371), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8545,7 +8580,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(618), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8556,7 +8591,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(622), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8567,7 +8602,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(626), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8578,7 +8613,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(630), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8589,7 +8624,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(634), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8600,7 +8635,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(376), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8611,7 +8646,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(381), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8622,7 +8657,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(386), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8633,7 +8668,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(391), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8644,7 +8679,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(396), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8655,7 +8690,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(401), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8666,7 +8701,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(406), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8677,7 +8712,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(411), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8688,7 +8723,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(416), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8699,7 +8734,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(421), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8710,7 +8745,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(401), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8721,7 +8756,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(406), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8732,7 +8767,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(411), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8743,7 +8778,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(416), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8754,7 +8789,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(421), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8765,7 +8800,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(109), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8776,7 +8811,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(115), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8787,7 +8822,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(121), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8798,7 +8833,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(127), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8809,7 +8844,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(133), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8820,7 +8855,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(109), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8831,7 +8866,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(115), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8842,7 +8877,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(121), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8853,7 +8888,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(127), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8864,7 +8899,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(133), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8875,7 +8910,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(426), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8886,7 +8921,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(431), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8897,7 +8932,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(436), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8908,7 +8943,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(441), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8919,7 +8954,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(446), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8930,7 +8965,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(426), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8941,7 +8976,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(431), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8952,7 +8987,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(436), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8963,7 +8998,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(441), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8974,7 +9009,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(446), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8985,7 +9020,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(638), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8996,7 +9031,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(9), /* parameters */ ParameterIndex(642), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9007,7 +9042,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(646), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9018,7 +9053,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(27), /* parameters */ ParameterIndex(650), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9029,7 +9064,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(654), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9040,7 +9075,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(451), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9051,7 +9086,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(23), /* parameters */ ParameterIndex(456), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9062,7 +9097,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(461), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9073,7 +9108,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(26), /* parameters */ ParameterIndex(466), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9084,7 +9119,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(471), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9095,7 +9130,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(156), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9106,7 +9141,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(41), /* parameters */ ParameterIndex(161), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9117,7 +9152,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(43), /* parameters */ ParameterIndex(166), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9128,7 +9163,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(43), /* parameters */ ParameterIndex(171), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9139,7 +9174,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(6), /* parameters */ ParameterIndex(176), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9150,7 +9185,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(7), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9161,7 +9196,7 @@ /* num_templates */ 3, /* templates */ TemplateIndex(22), /* parameters */ ParameterIndex(13), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9172,7 +9207,7 @@ /* num_templates */ 3, /* templates */ TemplateIndex(25), /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9183,7 +9218,7 @@ /* num_templates */ 3, /* templates */ TemplateIndex(25), /* parameters */ ParameterIndex(25), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9194,7 +9229,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(6), /* parameters */ ParameterIndex(31), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9205,7 +9240,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(518), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9216,7 +9251,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(41), /* parameters */ ParameterIndex(522), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9227,7 +9262,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(43), /* parameters */ ParameterIndex(526), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9238,7 +9273,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(43), /* parameters */ ParameterIndex(530), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9249,7 +9284,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(6), /* parameters */ ParameterIndex(534), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9260,7 +9295,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(181), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9271,7 +9306,7 @@ /* num_templates */ 3, /* templates */ TemplateIndex(22), /* parameters */ ParameterIndex(186), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9282,7 +9317,7 @@ /* num_templates */ 3, /* templates */ TemplateIndex(25), /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9293,7 +9328,7 @@ /* num_templates */ 3, /* templates */ TemplateIndex(25), /* parameters */ ParameterIndex(196), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9304,7 +9339,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(6), /* parameters */ ParameterIndex(201), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9315,7 +9350,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(538), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9326,7 +9361,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(206), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9337,7 +9372,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(614), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9348,7 +9383,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(321), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9358,8 +9393,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(793), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9369,8 +9404,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(45), - /* parameters */ ParameterIndex(685), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* parameters */ ParameterIndex(688), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9381,7 +9416,7 @@ /* num_templates */ 3, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(542), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9391,8 +9426,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(45), - /* parameters */ ParameterIndex(688), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* parameters */ ParameterIndex(691), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9402,8 +9437,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(795), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* parameters */ ParameterIndex(798), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9413,8 +9448,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(31), - /* parameters */ ParameterIndex(691), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* parameters */ ParameterIndex(694), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9425,7 +9460,7 @@ /* num_templates */ 4, /* templates */ TemplateIndex(6), /* parameters */ ParameterIndex(546), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9435,8 +9470,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(31), - /* parameters */ ParameterIndex(694), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* parameters */ ParameterIndex(697), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9446,8 +9481,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(47), - /* parameters */ ParameterIndex(697), - /* return_matcher_indices */ MatcherIndicesIndex(266), + /* parameters */ ParameterIndex(700), + /* return_matcher_indices */ MatcherIndicesIndex(271), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9457,7 +9492,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(8), - /* parameters */ ParameterIndex(700), + /* parameters */ ParameterIndex(703), /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9479,7 +9514,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(48), - /* parameters */ ParameterIndex(703), + /* parameters */ ParameterIndex(706), /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9490,8 +9525,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(797), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* parameters */ ParameterIndex(800), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9501,8 +9536,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(799), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* parameters */ ParameterIndex(802), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9512,8 +9547,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(706), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* parameters */ ParameterIndex(709), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9523,8 +9558,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(801), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* parameters */ ParameterIndex(804), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9534,8 +9569,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(803), - /* return_matcher_indices */ MatcherIndicesIndex(292), + /* parameters */ ParameterIndex(806), + /* return_matcher_indices */ MatcherIndicesIndex(295), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9545,8 +9580,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(805), - /* return_matcher_indices */ MatcherIndicesIndex(292), + /* parameters */ ParameterIndex(808), + /* return_matcher_indices */ MatcherIndicesIndex(295), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9556,8 +9591,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(709), - /* return_matcher_indices */ MatcherIndicesIndex(292), + /* parameters */ ParameterIndex(712), + /* return_matcher_indices */ MatcherIndicesIndex(295), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9567,8 +9602,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(807), - /* return_matcher_indices */ MatcherIndicesIndex(292), + /* parameters */ ParameterIndex(810), + /* return_matcher_indices */ MatcherIndicesIndex(295), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9578,8 +9613,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(809), - /* return_matcher_indices */ MatcherIndicesIndex(294), + /* parameters */ ParameterIndex(812), + /* return_matcher_indices */ MatcherIndicesIndex(297), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9589,8 +9624,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(811), - /* return_matcher_indices */ MatcherIndicesIndex(294), + /* parameters */ ParameterIndex(814), + /* return_matcher_indices */ MatcherIndicesIndex(297), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9600,8 +9635,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(712), - /* return_matcher_indices */ MatcherIndicesIndex(294), + /* parameters */ ParameterIndex(715), + /* return_matcher_indices */ MatcherIndicesIndex(297), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9611,8 +9646,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(813), - /* return_matcher_indices */ MatcherIndicesIndex(294), + /* parameters */ ParameterIndex(816), + /* return_matcher_indices */ MatcherIndicesIndex(297), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9622,8 +9657,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(793), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9633,8 +9668,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(759), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(762), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9644,8 +9679,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(761), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(764), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9655,8 +9690,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(763), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(766), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9666,8 +9701,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(765), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(768), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9677,8 +9712,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(767), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(770), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9688,8 +9723,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(795), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(798), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9699,8 +9734,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(769), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(772), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9710,8 +9745,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(771), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9721,8 +9756,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(773), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9732,8 +9767,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(775), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(778), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9743,8 +9778,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(777), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(780), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9754,8 +9789,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(697), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(700), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9765,8 +9800,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(779), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(782), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9776,8 +9811,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(781), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(784), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9787,8 +9822,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(783), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(786), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9798,8 +9833,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(785), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(788), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9809,8 +9844,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(703), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(706), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9820,8 +9855,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(817), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(820), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9831,8 +9866,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(787), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9842,8 +9877,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(789), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(792), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9853,8 +9888,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(791), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(794), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9864,8 +9899,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(759), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(762), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9875,8 +9910,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(761), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(764), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9886,8 +9921,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(763), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(766), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9897,8 +9932,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(765), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(768), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9908,8 +9943,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(767), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(770), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9919,8 +9954,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(769), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(772), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9930,8 +9965,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(771), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9941,8 +9976,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(773), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9952,8 +9987,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(775), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(778), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9963,8 +9998,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(777), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(780), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9974,8 +10009,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(697), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(700), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9985,8 +10020,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(779), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(782), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9996,8 +10031,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(781), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(784), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10007,8 +10042,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(783), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(786), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10018,8 +10053,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(785), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(788), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10029,8 +10064,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(703), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(706), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10040,8 +10075,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(787), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10051,8 +10086,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(789), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(792), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10062,8 +10097,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(791), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(794), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10073,8 +10108,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(793), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10085,7 +10120,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(156), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10096,7 +10131,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(7), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10106,8 +10141,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(688), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(691), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10118,7 +10153,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(518), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10129,7 +10164,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(181), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10139,8 +10174,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(795), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(798), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10151,7 +10186,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(41), /* parameters */ ParameterIndex(161), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10161,8 +10196,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(771), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10172,8 +10207,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(773), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10184,7 +10219,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(41), /* parameters */ ParameterIndex(522), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10194,8 +10229,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(777), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(780), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10206,7 +10241,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10217,7 +10252,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10228,7 +10263,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(476), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10239,7 +10274,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(145), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10249,8 +10284,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(818), - /* return_matcher_indices */ MatcherIndicesIndex(290), + /* parameters */ ParameterIndex(821), + /* return_matcher_indices */ MatcherIndicesIndex(293), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10260,8 +10295,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(819), - /* return_matcher_indices */ MatcherIndicesIndex(304), + /* parameters */ ParameterIndex(822), + /* return_matcher_indices */ MatcherIndicesIndex(307), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10271,8 +10306,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(820), - /* return_matcher_indices */ MatcherIndicesIndex(278), + /* parameters */ ParameterIndex(823), + /* return_matcher_indices */ MatcherIndicesIndex(283), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10282,8 +10317,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(821), - /* return_matcher_indices */ MatcherIndicesIndex(316), + /* parameters */ ParameterIndex(824), + /* return_matcher_indices */ MatcherIndicesIndex(319), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10293,8 +10328,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(822), - /* return_matcher_indices */ MatcherIndicesIndex(310), + /* parameters */ ParameterIndex(825), + /* return_matcher_indices */ MatcherIndicesIndex(313), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10304,8 +10339,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(823), - /* return_matcher_indices */ MatcherIndicesIndex(312), + /* parameters */ ParameterIndex(826), + /* return_matcher_indices */ MatcherIndicesIndex(315), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10315,8 +10350,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(824), - /* return_matcher_indices */ MatcherIndicesIndex(314), + /* parameters */ ParameterIndex(827), + /* return_matcher_indices */ MatcherIndicesIndex(317), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10326,8 +10361,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(825), - /* return_matcher_indices */ MatcherIndicesIndex(318), + /* parameters */ ParameterIndex(828), + /* return_matcher_indices */ MatcherIndicesIndex(321), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10338,7 +10373,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(154), - /* return_matcher_indices */ MatcherIndicesIndex(232), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10348,7 +10383,7 @@ /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(826), + /* parameters */ ParameterIndex(829), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10359,7 +10394,7 @@ /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(14), - /* parameters */ ParameterIndex(827), + /* parameters */ ParameterIndex(830), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10370,7 +10405,7 @@ /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(828), + /* parameters */ ParameterIndex(831), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10381,7 +10416,7 @@ /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(827), + /* parameters */ ParameterIndex(830), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10392,7 +10427,7 @@ /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(18), - /* parameters */ ParameterIndex(827), + /* parameters */ ParameterIndex(830), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10535,7 +10570,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(730), + /* parameters */ ParameterIndex(733), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10546,7 +10581,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(733), + /* parameters */ ParameterIndex(736), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10568,7 +10603,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(736), + /* parameters */ ParameterIndex(739), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10579,7 +10614,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(739), + /* parameters */ ParameterIndex(742), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10590,7 +10625,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(742), + /* parameters */ ParameterIndex(745), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10612,7 +10647,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(745), + /* parameters */ ParameterIndex(748), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10623,7 +10658,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(748), + /* parameters */ ParameterIndex(751), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10634,7 +10669,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(751), + /* parameters */ ParameterIndex(754), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10656,7 +10691,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(754), + /* parameters */ ParameterIndex(757), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10668,7 +10703,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(7), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10679,7 +10714,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(28), /* parameters */ ParameterIndex(181), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10689,8 +10724,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(771), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10700,8 +10735,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(777), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(780), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10712,7 +10747,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10723,7 +10758,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(145), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10733,8 +10768,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(789), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(792), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10745,7 +10780,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10756,7 +10791,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(211), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10767,7 +10802,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10778,7 +10813,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(37), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10789,7 +10824,7 @@ /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(476), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10800,7 +10835,7 @@ /* num_templates */ 1, /* templates */ TemplateIndex(7), /* parameters */ ParameterIndex(145), - /* return_matcher_indices */ MatcherIndicesIndex(282), + /* return_matcher_indices */ MatcherIndicesIndex(287), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10876,7 +10911,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(817), + /* parameters */ ParameterIndex(820), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10887,7 +10922,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(787), + /* parameters */ ParameterIndex(790), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10898,7 +10933,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(789), + /* parameters */ ParameterIndex(792), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10909,7 +10944,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(791), + /* parameters */ ParameterIndex(794), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10932,7 +10967,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(49), /* parameters */ ParameterIndex(502), - /* return_matcher_indices */ MatcherIndicesIndex(260), + /* return_matcher_indices */ MatcherIndicesIndex(265), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10943,7 +10978,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(49), /* parameters */ ParameterIndex(504), - /* return_matcher_indices */ MatcherIndicesIndex(260), + /* return_matcher_indices */ MatcherIndicesIndex(265), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10954,7 +10989,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(49), /* parameters */ ParameterIndex(503), - /* return_matcher_indices */ MatcherIndicesIndex(260), + /* return_matcher_indices */ MatcherIndicesIndex(265), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10964,8 +10999,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(763), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(766), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10975,8 +11010,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(41), - /* parameters */ ParameterIndex(773), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10986,8 +11021,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(791), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(794), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10997,8 +11032,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(697), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(700), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11008,8 +11043,8 @@ /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(703), - /* return_matcher_indices */ MatcherIndicesIndex(228), + /* parameters */ ParameterIndex(706), + /* return_matcher_indices */ MatcherIndicesIndex(233), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11031,7 +11066,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(49), /* parameters */ ParameterIndex(505), - /* return_matcher_indices */ MatcherIndicesIndex(260), + /* return_matcher_indices */ MatcherIndicesIndex(265), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11053,7 +11088,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(49), /* parameters */ ParameterIndex(502), - /* return_matcher_indices */ MatcherIndicesIndex(260), + /* return_matcher_indices */ MatcherIndicesIndex(265), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11075,7 +11110,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(51), /* parameters */ ParameterIndex(516), - /* return_matcher_indices */ MatcherIndicesIndex(260), + /* return_matcher_indices */ MatcherIndicesIndex(265), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11086,7 +11121,7 @@ /* num_templates */ 2, /* templates */ TemplateIndex(37), /* parameters */ ParameterIndex(151), - /* return_matcher_indices */ MatcherIndicesIndex(79), + /* return_matcher_indices */ MatcherIndicesIndex(84), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11107,7 +11142,7 @@ /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(37), - /* parameters */ ParameterIndex(757), + /* parameters */ ParameterIndex(760), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -11124,6 +11159,17 @@ }, { /* [362] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(685), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [363] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, @@ -11134,7 +11180,7 @@ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [363] */ + /* [364] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, @@ -11145,7 +11191,7 @@ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [364] */ + /* [365] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, @@ -11156,29 +11202,29 @@ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [365] */ + /* [366] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(485), - /* return_matcher_indices */ MatcherIndicesIndex(227), + /* return_matcher_indices */ MatcherIndicesIndex(232), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [366] */ + /* [367] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 1, /* num_templates */ 5, /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(829), + /* parameters */ ParameterIndex(832), /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [367] */ + /* [368] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, @@ -11189,7 +11235,7 @@ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [368] */ + /* [369] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, @@ -11200,7 +11246,7 @@ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [369] */ + /* [370] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, @@ -11211,7 +11257,7 @@ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [370] */ + /* [371] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 4, /* num_explicit_templates */ 0, @@ -11222,14 +11268,14 @@ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [371] */ + /* [372] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(34), - /* parameters */ ParameterIndex(815), - /* return_matcher_indices */ MatcherIndicesIndex(58), + /* parameters */ ParameterIndex(818), + /* return_matcher_indices */ MatcherIndicesIndex(63), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, }; @@ -11306,6 +11352,18 @@ }, { /* [11] */ + /* fn atomic_max_explicit(ptr<storage, atomic<u64>, read_write>, u64, u32) */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(362), + }, + { + /* [12] */ + /* fn atomic_min_explicit(ptr<storage, atomic<u64>, read_write>, u64, u32) */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(362), + }, + { + /* [13] */ /* fn fence[F : texel_format, A : access](texture: texture_storage_1d<F, A>) */ /* fn fence[F : texel_format, A : access](texture: texture_storage_2d<F, A>) */ /* fn fence[F : texel_format, A : access](texture: texture_storage_2d_array<F, A>) */ @@ -11314,7 +11372,7 @@ /* overloads */ OverloadIndex(339), }, { - /* [12] */ + /* [14] */ /* fn gather[T : fiu32](texture: texture_2d<T>, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>, component: u32) -> vec4<T> */ /* fn gather[T : f32, F : texture_filter](texture: texture_2d_filtered<T, F>, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>, component: u32) -> vec4<T> */ /* fn gather[T : f32, K : sampler_filter](texture: texture_2d<T>, sampler: sampler_filtered<K>, coords: vec2<f32>, @const offset: vec2<i32>, component: u32) -> vec4<T> */ @@ -11343,7 +11401,7 @@ /* overloads */ OverloadIndex(177), }, { - /* [13] */ + /* [15] */ /* fn gather_compare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> vec4<f32> */ /* fn gather_compare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> vec4<f32> */ /* fn gather_compare[A : iu32](texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> vec4<f32> */ @@ -11354,7 +11412,7 @@ /* overloads */ OverloadIndex(327), }, { - /* [14] */ + /* [16] */ /* fn get_width[T : fiu32](texture: texture_1d<T>) -> u32 */ /* fn get_width[T : fiu32](texture: texture_2d<T>, u32) -> u32 */ /* fn get_width[T : fiu32](texture: texture_2d_array<T>, u32) -> u32 */ @@ -11381,7 +11439,7 @@ /* overloads */ OverloadIndex(225), }, { - /* [15] */ + /* [17] */ /* fn get_height[T : fiu32](texture: texture_2d<T>, u32) -> u32 */ /* fn get_height[T : fiu32](texture: texture_2d_array<T>, u32) -> u32 */ /* fn get_height[T : fiu32](texture: texture_3d<T>, u32) -> u32 */ @@ -11405,7 +11463,7 @@ /* overloads */ OverloadIndex(247), }, { - /* [16] */ + /* [18] */ /* fn get_depth[T : fiu32](texture: texture_3d<T>, u32) -> u32 */ /* fn get_depth[T : f32, F : texture_filter](texture: texture_3d_filtered<T, F>, u32) -> u32 */ /* fn get_depth[F : texel_format, A : access](texture: texture_storage_3d<F, A>, u32) -> u32 */ @@ -11413,7 +11471,7 @@ /* overloads */ OverloadIndex(347), }, { - /* [17] */ + /* [19] */ /* fn get_array_size[T : fiu32](texture: texture_2d_array<T>) -> u32 */ /* fn get_array_size[T : fiu32](texture: texture_cube_array<T>) -> u32 */ /* fn get_array_size[T : f32, F : texture_filter](texture: texture_2d_array_filtered<T, F>) -> u32 */ @@ -11425,7 +11483,7 @@ /* overloads */ OverloadIndex(320), }, { - /* [18] */ + /* [20] */ /* fn get_num_mip_levels[T : fiu32](texture: texture_1d<T>) -> u32 */ /* fn get_num_mip_levels[T : fiu32](texture: texture_2d<T>) -> u32 */ /* fn get_num_mip_levels[T : fiu32](texture: texture_2d_array<T>) -> u32 */ @@ -11446,14 +11504,14 @@ /* overloads */ OverloadIndex(266), }, { - /* [19] */ + /* [21] */ /* fn get_num_samples[T : fiu32](texture: texture_multisampled_2d<T>) -> u32 */ /* fn get_num_samples(texture: texture_depth_multisampled_2d) -> u32 */ /* num overloads */ 2, /* overloads */ OverloadIndex(350), }, { - /* [20] */ + /* [22] */ /* fn read[T : fiu32](texture: texture_1d<T>, coords: u32) -> vec4<T> */ /* fn read[T : fiu32, L : iu32](texture: texture_2d<T>, coords: vec2<u32>, level: L) -> vec4<T> */ /* fn read[T : fiu32, A : iu32, L : iu32](texture: texture_2d_array<T>, coords: vec2<u32>, array_index: A, level: L) -> vec4<T> */ @@ -11482,7 +11540,7 @@ /* overloads */ OverloadIndex(201), }, { - /* [21] */ + /* [23] */ /* fn sample(texture: texture_1d<f32>, sampler: sampler, coords: f32) -> vec4<f32> */ /* fn sample[F : texture_filter](texture: texture_1d_filtered<f32, F>, sampler: sampler, coords: f32) -> vec4<f32> */ /* fn sample[K : sampler_filter](texture: texture_1d<f32>, sampler: sampler_filtered<K>, coords: f32) -> vec4<f32> */ @@ -11664,7 +11722,7 @@ /* overloads */ OverloadIndex(0), }, { - /* [22] */ + /* [24] */ /* fn sample_compare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */ /* fn sample_compare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> f32 */ /* fn sample_compare[A : iu32](texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> f32 */ @@ -11681,7 +11739,7 @@ /* overloads */ OverloadIndex(296), }, { - /* [23] */ + /* [25] */ /* fn write(texture: texture_storage_1d<f32_texel_format, writable>, value: vec4<f32>, coords: u32) */ /* fn write(texture: texture_storage_2d<f32_texel_format, writable>, value: vec4<f32>, coords: vec2<u32>) */ /* fn write[A : iu32](texture: texture_storage_2d_array<f32_texel_format, writable>, value: vec4<f32>, coords: vec2<u32>, array_index: A) */ @@ -11698,19 +11756,19 @@ /* overloads */ OverloadIndex(308), }, { - /* [24] */ + /* [26] */ /* fn distance[N : num, T : f32_f16](vec<N, T>, vec<N, T>) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(362), + /* overloads */ OverloadIndex(363), }, { - /* [25] */ + /* [27] */ /* fn dot[N : num, T : f32_f16](vec<N, T>, vec<N, T>) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(362), + /* overloads */ OverloadIndex(363), }, { - /* [26] */ + /* [28] */ /* fn fmod[T : f32_f16](T, T) -> T */ /* fn fmod[N : num, T : f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */ /* fn fmod[N : num, T : f32_f16](T, vec<N, T>) -> vec<N, T> */ @@ -11719,53 +11777,53 @@ /* overloads */ OverloadIndex(343), }, { - /* [27] */ + /* [29] */ /* fn frexp[T : f32_f16](T, i32) -> T */ /* fn frexp[N : num, T : f32_f16](vec<N, T>, vec<N, i32>) -> vec<N, T> */ /* num overloads */ 2, /* overloads */ OverloadIndex(352), }, { - /* [28] */ + /* [30] */ /* fn length[N : num, T : f32_f16](vec<N, T>) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(363), + /* overloads */ OverloadIndex(364), }, { - /* [29] */ + /* [31] */ /* fn modf[T : f32_f16](T, T) -> T */ /* fn modf[N : num, T : f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */ /* num overloads */ 2, /* overloads */ OverloadIndex(343), }, { - /* [30] */ + /* [32] */ /* fn sign[T : f32_f16](T) -> T */ /* fn sign[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */ /* num overloads */ 2, /* overloads */ OverloadIndex(354), }, { - /* [31] */ + /* [33] */ /* fn threadgroup_barrier(u32) */ /* num overloads */ 1, - /* overloads */ OverloadIndex(364), - }, - { - /* [32] */ - /* fn simd_ballot(bool) -> vec2<u32> */ - /* num overloads */ 1, /* overloads */ OverloadIndex(365), }, { - /* [33] */ + /* [34] */ + /* fn simd_ballot(bool) -> vec2<u32> */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(366), + }, + { + /* [35] */ /* fn quad_shuffle_xor[T : fiu32_f16](T, u32) -> T */ /* fn quad_shuffle_xor[N : num, T : fiu32_f16](vec<N, T>, u32) -> vec<N, T> */ /* num overloads */ 2, /* overloads */ OverloadIndex(356), }, { - /* [34] */ + /* [36] */ /* fn convert(__packed_vec3<u32>) -> vec3<u32> */ /* fn convert(__packed_vec3<i32>) -> vec3<i32> */ /* fn convert(__packed_vec3<f32>) -> vec3<f32> */ @@ -11784,43 +11842,43 @@ /* overloads */ OverloadIndex(282), }, { - /* [35] */ - /* fn make_filled_simdgroup_matrix<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](S) -> T */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(366), - }, - { - /* [36] */ - /* fn make_diagonal_simdgroup_matrix<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](S) -> T */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(366), - }, - { /* [37] */ - /* fn simdgroup_load[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](subgroup_matrix<K, S, C, R>, ptr<workgroup_or_storage, S, readable>, u64, vec2<u64>, bool) */ + /* fn make_filled_simdgroup_matrix<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](S) -> T */ /* num overloads */ 1, /* overloads */ OverloadIndex(367), }, { /* [38] */ - /* fn simdgroup_store[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](subgroup_matrix<K, S, C, R>, ptr<workgroup_or_storage, S, writable>, u64, vec2<u64>, bool) */ + /* fn make_diagonal_simdgroup_matrix<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](S) -> T */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(367), + }, + { + /* [39] */ + /* fn simdgroup_load[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](subgroup_matrix<K, S, C, R>, ptr<workgroup_or_storage, S, readable>, u64, vec2<u64>, bool) */ /* num overloads */ 1, /* overloads */ OverloadIndex(368), }, { - /* [39] */ - /* fn simdgroup_multiply[S : f32_f16, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_result, S, C, R>, subgroup_matrix<subgroup_matrix_kind_left, S, K, R>, subgroup_matrix<subgroup_matrix_kind_right, S, C, K>) */ + /* [40] */ + /* fn simdgroup_store[K : subgroup_matrix_kind, S : f32_f16, C : num, R : num](subgroup_matrix<K, S, C, R>, ptr<workgroup_or_storage, S, writable>, u64, vec2<u64>, bool) */ /* num overloads */ 1, /* overloads */ OverloadIndex(369), }, { - /* [40] */ - /* fn simdgroup_multiply_accumulate[S : f32_f16, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_result, S, C, R>, subgroup_matrix<subgroup_matrix_kind_left, S, K, R>, subgroup_matrix<subgroup_matrix_kind_right, S, C, K>, subgroup_matrix<subgroup_matrix_kind_result, S, C, R>) */ + /* [41] */ + /* fn simdgroup_multiply[S : f32_f16, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_result, S, C, R>, subgroup_matrix<subgroup_matrix_kind_left, S, K, R>, subgroup_matrix<subgroup_matrix_kind_right, S, C, K>) */ /* num overloads */ 1, /* overloads */ OverloadIndex(370), }, { - /* [41] */ + /* [42] */ + /* fn simdgroup_multiply_accumulate[S : f32_f16, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_result, S, C, R>, subgroup_matrix<subgroup_matrix_kind_left, S, K, R>, subgroup_matrix<subgroup_matrix_kind_right, S, C, K>, subgroup_matrix<subgroup_matrix_kind_result, S, C, R>) */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(371), + }, + { + /* [43] */ /* fn os_log[T : scalar](string, u32, u32, u32, T) */ /* fn os_log[N : num, T : scalar](string, u32, u32, u32, vec<N, T>) */ /* fn os_log[T : scalar](string, f32, f32, f32, T) */ @@ -11831,10 +11889,10 @@ /* overloads */ OverloadIndex(333), }, { - /* [42] */ + /* [44] */ /* fn pointer_offset[T, S : address_space, A : access](ptr<S, T, A>, u32) -> ptr<S, T, A> */ /* num overloads */ 1, - /* overloads */ OverloadIndex(371), + /* overloads */ OverloadIndex(372), }, };
diff --git a/src/tint/lang/msl/msl.def b/src/tint/lang/msl/msl.def index b034ba1..fce85c9 100644 --- a/src/tint/lang/msl/msl.def +++ b/src/tint/lang/msl/msl.def
@@ -54,6 +54,7 @@ | access.read_write match function: address_space.function +match storage: address_space.storage match workgroup_or_storage : address_space.workgroup | address_space.storage @@ -196,6 +197,11 @@ @stage("fragment", "compute") implicit(T: iu32, S: workgroup_or_storage) fn atomic_load_explicit(ptr<S, atomic<T>, read_write>, u32) -> T @stage("fragment", "compute") implicit(T: iu32, S: workgroup_or_storage) fn atomic_store_explicit(ptr<S, atomic<T>, read_write>, T, u32) +// 64-bit only atomic functions +@stage("fragment", "compute") fn atomic_max_explicit(ptr<storage, atomic<u64>, read_write>, u64, u32) +@stage("fragment", "compute") fn atomic_min_explicit(ptr<storage, atomic<u64>, read_write>, u64, u32) + + @member_function implicit(F: texel_format, A: access) fn fence(texture: texture_storage_1d<F, A>) @member_function implicit(F: texel_format, A: access) fn fence(texture: texture_storage_2d<F, A>) @member_function implicit(F: texel_format, A: access) fn fence(texture: texture_storage_2d_array<F, A>)
diff --git a/src/tint/lang/msl/validate/validate.cc b/src/tint/lang/msl/validate/validate.cc index 832536c..203e0eb 100644 --- a/src/tint/lang/msl/validate/validate.cc +++ b/src/tint/lang/msl/validate/validate.cc
@@ -48,6 +48,9 @@ case MslVersion::kMsl_2_3: version_str = "-std=macos-metal2.3"; break; + case MslVersion::kMsl_2_4: + version_str = "-std=macos-metal2.4"; + break; case MslVersion::kMsl_3_2: version_str = "-std=macos-metal3.2"; break;
diff --git a/src/tint/lang/msl/validate/validate.h b/src/tint/lang/msl/validate/validate.h index d88a7eb..707ba70 100644 --- a/src/tint/lang/msl/validate/validate.h +++ b/src/tint/lang/msl/validate/validate.h
@@ -35,9 +35,10 @@ namespace tint::msl::validate { /// The version of MSL to validate against. -/// Note: these must kept be in ascending order +/// Note: these must be kept in ascending order enum class MslVersion { kMsl_2_3, + kMsl_2_4, kMsl_3_2, };
diff --git a/src/tint/lang/msl/validate/validate_metal.mm b/src/tint/lang/msl/validate/validate_metal.mm index e8e2c72..8c81499 100644 --- a/src/tint/lang/msl/validate/validate_metal.mm +++ b/src/tint/lang/msl/validate/validate_metal.mm
@@ -64,6 +64,16 @@ case MslVersion::kMsl_2_3: compileOptions.languageVersion = MTLLanguageVersion2_3; break; + case MslVersion::kMsl_2_4: +#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 120000 + if (@available(macOS 12.0, *)) { + compileOptions.languageVersion = MTLLanguageVersion2_4; + break; + } else +#endif + { + return Success; + } case MslVersion::kMsl_3_2: #if __MAC_OS_X_VERSION_MAX_ALLOWED >= 150000 if (@available(macOS 15.0, iOS 18.0, *)) {
diff --git a/src/tint/lang/msl/writer/common/printer_support.cc b/src/tint/lang/msl/writer/common/printer_support.cc index 22789b4..e1cb140 100644 --- a/src/tint/lang/msl/writer/common/printer_support.cc +++ b/src/tint/lang/msl/writer/common/printer_support.cc
@@ -38,6 +38,7 @@ #include "src/tint/lang/core/type/matrix.h" #include "src/tint/lang/core/type/struct.h" #include "src/tint/lang/core/type/u32.h" +#include "src/tint/lang/core/type/u64.h" #include "src/tint/lang/core/type/vector.h" #include "src/tint/utils/ice/ice.h" #include "src/tint/utils/rtti/switch.h" @@ -145,6 +146,7 @@ // https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf // 2.1 Scalar Data Types [&](const core::type::U32*) { return SizeAndAlign{4, 4}; }, + [&](const core::type::U64*) { return SizeAndAlign{8, 8}; }, [&](const core::type::I32*) { return SizeAndAlign{4, 4}; }, [&](const core::type::F32*) { return SizeAndAlign{4, 4}; }, [&](const core::type::F16*) { return SizeAndAlign{2, 2}; },
diff --git a/src/tint/lang/msl/writer/printer/printer.cc b/src/tint/lang/msl/writer/printer/printer.cc index ae9bb04..e064ea5 100644 --- a/src/tint/lang/msl/writer/printer/printer.cc +++ b/src/tint/lang/msl/writer/printer/printer.cc
@@ -1455,6 +1455,11 @@ out << "atomic_uint"; return; } + + if (atomic->Type()->Is<core::type::U64>()) { + out << "atomic_ulong"; + return; + } TINT_IR_ICE(ir_) << "unhandled atomic type " << atomic->Type()->FriendlyName(); }
diff --git a/src/tint/lang/msl/writer/raise/builtin_polyfill.cc b/src/tint/lang/msl/writer/raise/builtin_polyfill.cc index bcf4162..1f39831 100644 --- a/src/tint/lang/msl/writer/raise/builtin_polyfill.cc +++ b/src/tint/lang/msl/writer/raise/builtin_polyfill.cc
@@ -100,6 +100,8 @@ case core::BuiltinFn::kAtomicLoad: case core::BuiltinFn::kAtomicMax: case core::BuiltinFn::kAtomicMin: + case core::BuiltinFn::kAtomicStoreMin: + case core::BuiltinFn::kAtomicStoreMax: case core::BuiltinFn::kAtomicOr: case core::BuiltinFn::kAtomicStore: case core::BuiltinFn::kAtomicSub: @@ -195,6 +197,12 @@ case core::BuiltinFn::kAtomicMin: AtomicCall(builtin, msl::BuiltinFn::kAtomicFetchMinExplicit); break; + case core::BuiltinFn::kAtomicStoreMin: + AtomicCall(builtin, msl::BuiltinFn::kAtomicMinExplicit); + break; + case core::BuiltinFn::kAtomicStoreMax: + AtomicCall(builtin, msl::BuiltinFn::kAtomicMaxExplicit); + break; case core::BuiltinFn::kAtomicOr: AtomicCall(builtin, msl::BuiltinFn::kAtomicFetchOrExplicit); break;
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 47906f4..8c38327 100644 --- a/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc +++ b/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc
@@ -4147,5 +4147,103 @@ EXPECT_EQ(expect, str()); } +TEST_F(MslWriter_BuiltinPolyfillTest, AtomicStoreMin) { + this->capabilities.Add(core::ir::Capability::kAllow64BitIntegers); + auto* var = b.Var(ty.ptr(storage, ty.atomic(ty.u64()))); + var->SetBindingPoint(0, 0); + mod.root_block->Append(var); + auto* arg1 = b.FunctionParam("arg1", ty.vec2u()); + auto* func = b.Function("foo", ty.void_()); + func->SetParams({arg1}); + + b.Append(func->Block(), [&] { + b.Call(ty.void_(), core::BuiltinFn::kAtomicStoreMin, var, b.Bitcast(ty.u64(), arg1)); + b.Return(func); + }); + + auto* src = R"( +$B1: { # root + %1:ptr<storage, atomic<u64>, read_write> = var undef @binding_point(0, 0) +} + +%foo = func(%arg1:vec2<u32>):void { + $B2: { + %4:u64 = bitcast<u64> %arg1 + %5:void = atomicStoreMin %1, %4 + ret + } +} +)"; + EXPECT_EQ(src, str()); + + auto* expect = R"( +$B1: { # root + %1:ptr<storage, atomic<u64>, read_write> = var undef @binding_point(0, 0) +} + +%foo = func(%arg1:vec2<u32>):void { + $B2: { + %4:u64 = bitcast<u64> %arg1 + %5:void = msl.atomic_min_explicit %1, %4, 0u + ret + } +} +)"; + + BuiltinPolyfillConfig config; + Run(BuiltinPolyfill, config); + + EXPECT_EQ(expect, str()); +} + +TEST_F(MslWriter_BuiltinPolyfillTest, AtomicStoreMax) { + this->capabilities.Add(core::ir::Capability::kAllow64BitIntegers); + auto* var = b.Var(ty.ptr(storage, ty.atomic(ty.u64()))); + var->SetBindingPoint(0, 0); + mod.root_block->Append(var); + auto* arg1 = b.FunctionParam("arg1", ty.vec2u()); + auto* func = b.Function("foo", ty.void_()); + func->SetParams({arg1}); + + b.Append(func->Block(), [&] { + b.Call(ty.void_(), core::BuiltinFn::kAtomicStoreMax, var, b.Bitcast(ty.u64(), arg1)); + b.Return(func); + }); + + auto* src = R"( +$B1: { # root + %1:ptr<storage, atomic<u64>, read_write> = var undef @binding_point(0, 0) +} + +%foo = func(%arg1:vec2<u32>):void { + $B2: { + %4:u64 = bitcast<u64> %arg1 + %5:void = atomicStoreMax %1, %4 + ret + } +} +)"; + EXPECT_EQ(src, str()); + + auto* expect = R"( +$B1: { # root + %1:ptr<storage, atomic<u64>, read_write> = var undef @binding_point(0, 0) +} + +%foo = func(%arg1:vec2<u32>):void { + $B2: { + %4:u64 = bitcast<u64> %arg1 + %5:void = msl.atomic_max_explicit %1, %4, 0u + ret + } +} +)"; + + BuiltinPolyfillConfig config; + Run(BuiltinPolyfill, config); + + 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 2918416..763d5fa 100644 --- a/src/tint/lang/msl/writer/writer.cc +++ b/src/tint/lang/msl/writer/writer.cc
@@ -81,12 +81,6 @@ call->Func() == core::BuiltinFn::kHasResource) { return Failure("resource tables not supported by the MSL backend"); } - - if (call->Func() == core::BuiltinFn::kAtomicStoreMax || - call->Func() == core::BuiltinFn::kAtomicStoreMin) { - return Failure( - "64-bit (vec2u) atomic operations are not yet supported by the MSL backend"); - } } // Check for unsupported shader IO builtins.
diff --git a/src/tint/lang/msl/writer/writer_test.cc b/src/tint/lang/msl/writer/writer_test.cc index dea24b4..b9da688 100644 --- a/src/tint/lang/msl/writer/writer_test.cc +++ b/src/tint/lang/msl/writer/writer_test.cc
@@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "gmock/gmock.h" +#include "src/tint/lang/msl/validate/validate.h" #include "src/tint/lang/msl/writer/helper_test.h" namespace tint::msl::writer { @@ -356,7 +357,7 @@ testing::HasSubstr("texel buffers are not supported by the MSL backend")); } -TEST_F(MslWriterTest, CanGenerate_AtomicStoreMax_Unsupported) { +TEST_F(MslWriterTest, AtomicStoreMax_Supported) { auto* sb = ty.Struct(mod.symbols.New("SB"), { {mod.symbols.Register("a"), ty.atomic(ty.u64())}, @@ -368,17 +369,72 @@ auto* func = b.ComputeFunction("main"); b.Append(func->Block(), [&] { auto* access = b.Access(ty.ptr<storage, read_write>(ty.atomic(ty.u64())), var, 0_u); - b.Call<void>(core::BuiltinFn::kAtomicStoreMax, access, 1_u); + b.Call<void>(core::BuiltinFn::kAtomicStoreMax, access, + b.Bitcast(ty.u64(), b.Splat(ty.vec2u(), 1_u))); b.Return(func); }); Options options; options.entry_point_name = "main"; - auto result = Generate(options); - ASSERT_NE(result, Success); - EXPECT_THAT(result.Failure().reason, - testing::HasSubstr( - "64-bit (vec2u) atomic operations are not yet supported by the MSL backend")); + auto result = Generate(options, validate::MslVersion::kMsl_2_4); + ASSERT_EQ(result, Success); + EXPECT_EQ(output_.msl, R"(#include <metal_stdlib> +using namespace metal; + +struct SB { + /* 0x0000 */ atomic_ulong a; +}; + +struct tint_module_vars_struct { + device SB* sb; +}; + +[[max_total_threads_per_threadgroup(1)]] +kernel void v(device SB* sb [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb=sb}; + atomic_max_explicit((&(*tint_module_vars.sb).a), as_type<ulong>(uint2(1u)), memory_order_relaxed); +} +)"); +} + +TEST_F(MslWriterTest, AtomicStoreMin_Supported) { + auto* sb = + ty.Struct(mod.symbols.New("SB"), { + {mod.symbols.Register("a"), ty.atomic(ty.u64())}, + }); + auto* var = b.Var("sb", ty.ptr<storage, read_write>(sb)); + var->SetBindingPoint(0, 0); + mod.root_block->Append(var); + + auto* func = b.ComputeFunction("main"); + b.Append(func->Block(), [&] { + auto* access = b.Access(ty.ptr<storage, read_write>(ty.atomic(ty.u64())), var, 0_u); + b.Call<void>(core::BuiltinFn::kAtomicStoreMin, access, + b.Bitcast(ty.u64(), b.Splat(ty.vec2u(), 1_u))); + b.Return(func); + }); + + Options options; + options.entry_point_name = "main"; + auto result = Generate(options, validate::MslVersion::kMsl_2_4); + ASSERT_EQ(result, Success); + EXPECT_EQ(output_.msl, R"(#include <metal_stdlib> +using namespace metal; + +struct SB { + /* 0x0000 */ atomic_ulong a; +}; + +struct tint_module_vars_struct { + device SB* sb; +}; + +[[max_total_threads_per_threadgroup(1)]] +kernel void v(device SB* sb [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb=sb}; + atomic_min_explicit((&(*tint_module_vars.sb).a), as_type<ulong>(uint2(1u)), memory_order_relaxed); +} +)"); } } // namespace
diff --git a/src/tint/lang/wgsl/resolver/atomic_vec2u_min_max_extension_test.cc b/src/tint/lang/wgsl/resolver/atomic_vec2u_min_max_extension_test.cc index 2ee6a58..69e88b6 100644 --- a/src/tint/lang/wgsl/resolver/atomic_vec2u_min_max_extension_test.cc +++ b/src/tint/lang/wgsl/resolver/atomic_vec2u_min_max_extension_test.cc
@@ -146,5 +146,99 @@ EXPECT_TRUE(r()->Resolve()) << r()->error(); } +TEST_F(AtomicVec2uMinMaxExtensionTest, AtomicVec2u_FeatureReq) { + ExpectError( + R"( + +@group(0) @binding(0) var<storage, read_write> a : atomic<vec2u>; +fn f() { + atomicStoreMax(&a, vec2u(1u, 2u)); +} +)", + R"( +input.wgsl:3:59 error: The type 'atomic<vec2u>' cannot be used without the extension 'atomic_vec2u_min_max' +@group(0) @binding(0) var<storage, read_write> a : atomic<vec2u>; + ^^^^^ +)"); +} + +TEST_F(AtomicVec2uMinMaxExtensionTest, AtomicVec2u_StorageBasic) { + ExpectSuccess( + R"( +enable atomic_vec2u_min_max; +@group(0) @binding(0) var<storage, read_write> a : atomic<vec2u>; +fn f() { + atomicStoreMax(&a, vec2u(1u, 2u)); +} +)"); +} + +TEST_F(AtomicVec2uMinMaxExtensionTest, AtomicVec2u_StorageArray) { + ExpectSuccess( + R"( +enable atomic_vec2u_min_max; +@group(0) @binding(0) var<storage, read_write> a : array<atomic<vec2u>>; +fn f() { + atomicStoreMin(&a[0], vec2u(1u, 2u)); +} +)"); +} + +TEST_F(AtomicVec2uMinMaxExtensionTest, AtomicVec2u_StorageStructArray) { + ExpectSuccess( + R"( +enable atomic_vec2u_min_max; +struct Data +{ + a:u32, + b:atomic<vec2u> +} + +@group(0) @binding(0) var<storage, read_write> a : array<Data>; +fn f() { + atomicStoreMin(&a[0].b, vec2u(1u, 2u)); +} +)"); +} + +TEST_F(AtomicVec2uMinMaxExtensionTest, AtomicVec2u_WorkgroupBasic) { + ExpectError( + R"( +enable atomic_vec2u_min_max; +@group(0) @binding(0) var<workgroup, read_write> a : array<atomic<vec2u>, 10>; +fn f() { + atomicStoreMax(&a[0], vec2u(1u, 2u)); +} +)", + R"( +input.wgsl:3:54 error: atomic variables of type 'vec2<u32>' can only be in 'storage' address space +@group(0) @binding(0) var<workgroup, read_write> a : array<atomic<vec2u>, 10>; + ^^^^^^^^^^^^^^^^^^^^^^^^ + +input.wgsl:3:23 note: while instantiating 'var' a +@group(0) @binding(0) var<workgroup, read_write> a : array<atomic<vec2u>, 10>; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +)"); +} + +TEST_F(AtomicVec2uMinMaxExtensionTest, AtomicVec2u_WrongParam) { + ExpectError( + R"( +enable atomic_vec2u_min_max; +@group(0) @binding(0) var<storage, read_write> a : array<atomic<vec2u>, 10>; +fn f() { + atomicStoreMax(&a[0], 1u); +} +)", + R"(input.wgsl:5:3 error: no matching call to 'atomicStoreMax(ptr<storage, atomic<vec2<u32>>, read_write>, u32)' + +1 candidate function: + • 'atomicStoreMax(ptr<storage, atomic<vec2<u32>>, read_write> ✓ , vec2<u32> ✗ )' + + atomicStoreMax(&a[0], 1u); + ^^^^^^^^^^^^^^ +)"); +} + } // namespace } // namespace tint::resolver
diff --git a/test/tint/builtins/gen/gen.wgsl.tmpl b/test/tint/builtins/gen/gen.wgsl.tmpl index 39a0a73..73cc274 100644 --- a/test/tint/builtins/gen/gen.wgsl.tmpl +++ b/test/tint/builtins/gen/gen.wgsl.tmpl
@@ -314,6 +314,8 @@ {{- if eq "print" $builtin_name}} // [msl] flags: --msl-version 3.2 +{{ else if or (HasPrefix $builtin_name "atomicStoreMax") (HasPrefix $builtin_name "atomicStoreMin") }} +// [msl] flags: --msl-version 2.4 {{ end -}} {{- end -}}
diff --git a/test/tint/builtins/gen/literal/atomicStoreMax/707bde.wgsl b/test/tint/builtins/gen/literal/atomicStoreMax/707bde.wgsl index 6cc9178..020c0a7 100644 --- a/test/tint/builtins/gen/literal/atomicStoreMax/707bde.wgsl +++ b/test/tint/builtins/gen/literal/atomicStoreMax/707bde.wgsl
@@ -35,6 +35,8 @@ //////////////////////////////////////////////////////////////////////////////// +// [msl] flags: --msl-version 2.4 + enable atomic_vec2u_min_max; struct SB_RW { arg_0: atomic<vec2<u32>>,
diff --git a/test/tint/builtins/gen/literal/atomicStoreMax/707bde.wgsl.expected.msl b/test/tint/builtins/gen/literal/atomicStoreMax/707bde.wgsl.expected.msl index f336155..07da976 100644 --- a/test/tint/builtins/gen/literal/atomicStoreMax/707bde.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/atomicStoreMax/707bde.wgsl.expected.msl
@@ -1,76 +1,45 @@ -SKIP: FAILED - -SB_RW = struct @align(8) { - arg_0:atomic<vec2<u32>> @offset(0) -} - -SB_RW_a64 = struct @align(8) { - arg_0:atomic<u64> @offset(0) -} - -$B1: { # root - %sb_rw:ptr<storage, SB_RW_a64, read_write> = var undef @binding_point(0, 0) -} - -%atomicStoreMax_707bde = func():void { - $B2: { - %3:ptr<storage, atomic<u64>, read_write> = access %sb_rw, 0u - %4:u64 = bitcast vec2<u32>(1u) - %5:void = atomicStoreMax %3, %4 - ret - } -} -%fragment_main = @fragment func():void { - $B3: { - %7:void = call %atomicStoreMax_707bde - ret - } -} -%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void { - $B4: { - %9:void = call %atomicStoreMax_707bde - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend -SB_RW = struct @align(8) { - arg_0:atomic<vec2<u32>> @offset(0) -} - -SB_RW_a64 = struct @align(8) { - arg_0:atomic<u64> @offset(0) -} - -$B1: { # root - %sb_rw:ptr<storage, SB_RW_a64, read_write> = var undef @binding_point(0, 0) -} - -%atomicStoreMax_707bde = func():void { - $B2: { - %3:ptr<storage, atomic<u64>, read_write> = access %sb_rw, 0u - %4:u64 = bitcast vec2<u32>(1u) - %5:void = atomicStoreMax %3, %4 - ret - } -} -%fragment_main = @fragment func():void { - $B3: { - %7:void = call %atomicStoreMax_707bde - ret - } -} -%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void { - $B4: { - %9:void = call %atomicStoreMax_707bde - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend // // fragment_main // +#include <metal_stdlib> +using namespace metal; + +struct SB_RW_a64 { + /* 0x0000 */ atomic_ulong arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW_a64* sb_rw; +}; + +void atomicStoreMax_707bde(tint_module_vars_struct tint_module_vars) { + atomic_max_explicit((&(*tint_module_vars.sb_rw).arg_0), as_type<ulong>(uint2(1u)), memory_order_relaxed); +} + +fragment void fragment_main(device SB_RW_a64* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + atomicStoreMax_707bde(tint_module_vars); +} // // compute_main // +#include <metal_stdlib> +using namespace metal; -tint executable returned error: exit status 1 +struct SB_RW_a64 { + /* 0x0000 */ atomic_ulong arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW_a64* sb_rw; +}; + +void atomicStoreMax_707bde(tint_module_vars_struct tint_module_vars) { + atomic_max_explicit((&(*tint_module_vars.sb_rw).arg_0), as_type<ulong>(uint2(1u)), memory_order_relaxed); +} + +[[max_total_threads_per_threadgroup(1)]] +kernel void compute_main(device SB_RW_a64* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + atomicStoreMax_707bde(tint_module_vars); +}
diff --git a/test/tint/builtins/gen/literal/atomicStoreMin/f5f229.wgsl b/test/tint/builtins/gen/literal/atomicStoreMin/f5f229.wgsl index df48a40..0cd5f06 100644 --- a/test/tint/builtins/gen/literal/atomicStoreMin/f5f229.wgsl +++ b/test/tint/builtins/gen/literal/atomicStoreMin/f5f229.wgsl
@@ -35,6 +35,8 @@ //////////////////////////////////////////////////////////////////////////////// +// [msl] flags: --msl-version 2.4 + enable atomic_vec2u_min_max; struct SB_RW { arg_0: atomic<vec2<u32>>,
diff --git a/test/tint/builtins/gen/literal/atomicStoreMin/f5f229.wgsl.expected.msl b/test/tint/builtins/gen/literal/atomicStoreMin/f5f229.wgsl.expected.msl index 9e2d03f..bd2b26b 100644 --- a/test/tint/builtins/gen/literal/atomicStoreMin/f5f229.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/atomicStoreMin/f5f229.wgsl.expected.msl
@@ -1,76 +1,45 @@ -SKIP: FAILED - -SB_RW = struct @align(8) { - arg_0:atomic<vec2<u32>> @offset(0) -} - -SB_RW_a64 = struct @align(8) { - arg_0:atomic<u64> @offset(0) -} - -$B1: { # root - %sb_rw:ptr<storage, SB_RW_a64, read_write> = var undef @binding_point(0, 0) -} - -%atomicStoreMin_f5f229 = func():void { - $B2: { - %3:ptr<storage, atomic<u64>, read_write> = access %sb_rw, 0u - %4:u64 = bitcast vec2<u32>(1u) - %5:void = atomicStoreMin %3, %4 - ret - } -} -%fragment_main = @fragment func():void { - $B3: { - %7:void = call %atomicStoreMin_f5f229 - ret - } -} -%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void { - $B4: { - %9:void = call %atomicStoreMin_f5f229 - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend -SB_RW = struct @align(8) { - arg_0:atomic<vec2<u32>> @offset(0) -} - -SB_RW_a64 = struct @align(8) { - arg_0:atomic<u64> @offset(0) -} - -$B1: { # root - %sb_rw:ptr<storage, SB_RW_a64, read_write> = var undef @binding_point(0, 0) -} - -%atomicStoreMin_f5f229 = func():void { - $B2: { - %3:ptr<storage, atomic<u64>, read_write> = access %sb_rw, 0u - %4:u64 = bitcast vec2<u32>(1u) - %5:void = atomicStoreMin %3, %4 - ret - } -} -%fragment_main = @fragment func():void { - $B3: { - %7:void = call %atomicStoreMin_f5f229 - ret - } -} -%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void { - $B4: { - %9:void = call %atomicStoreMin_f5f229 - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend // // fragment_main // +#include <metal_stdlib> +using namespace metal; + +struct SB_RW_a64 { + /* 0x0000 */ atomic_ulong arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW_a64* sb_rw; +}; + +void atomicStoreMin_f5f229(tint_module_vars_struct tint_module_vars) { + atomic_min_explicit((&(*tint_module_vars.sb_rw).arg_0), as_type<ulong>(uint2(1u)), memory_order_relaxed); +} + +fragment void fragment_main(device SB_RW_a64* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + atomicStoreMin_f5f229(tint_module_vars); +} // // compute_main // +#include <metal_stdlib> +using namespace metal; -tint executable returned error: exit status 1 +struct SB_RW_a64 { + /* 0x0000 */ atomic_ulong arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW_a64* sb_rw; +}; + +void atomicStoreMin_f5f229(tint_module_vars_struct tint_module_vars) { + atomic_min_explicit((&(*tint_module_vars.sb_rw).arg_0), as_type<ulong>(uint2(1u)), memory_order_relaxed); +} + +[[max_total_threads_per_threadgroup(1)]] +kernel void compute_main(device SB_RW_a64* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + atomicStoreMin_f5f229(tint_module_vars); +}
diff --git a/test/tint/builtins/gen/var/atomicStoreMax/707bde.wgsl b/test/tint/builtins/gen/var/atomicStoreMax/707bde.wgsl index 932b480..0e72a2f 100644 --- a/test/tint/builtins/gen/var/atomicStoreMax/707bde.wgsl +++ b/test/tint/builtins/gen/var/atomicStoreMax/707bde.wgsl
@@ -35,6 +35,8 @@ //////////////////////////////////////////////////////////////////////////////// +// [msl] flags: --msl-version 2.4 + enable atomic_vec2u_min_max; struct SB_RW { arg_0: atomic<vec2<u32>>,
diff --git a/test/tint/builtins/gen/var/atomicStoreMax/707bde.wgsl.expected.msl b/test/tint/builtins/gen/var/atomicStoreMax/707bde.wgsl.expected.msl index 914d65e..9aa6f4e 100644 --- a/test/tint/builtins/gen/var/atomicStoreMax/707bde.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/atomicStoreMax/707bde.wgsl.expected.msl
@@ -1,80 +1,47 @@ -SKIP: FAILED - -SB_RW = struct @align(8) { - arg_0:atomic<vec2<u32>> @offset(0) -} - -SB_RW_a64 = struct @align(8) { - arg_0:atomic<u64> @offset(0) -} - -$B1: { # root - %sb_rw:ptr<storage, SB_RW_a64, read_write> = var undef @binding_point(0, 0) -} - -%atomicStoreMax_707bde = func():void { - $B2: { - %arg_1:ptr<function, vec2<u32>, read_write> = var vec2<u32>(1u) - %4:ptr<storage, atomic<u64>, read_write> = access %sb_rw, 0u - %5:vec2<u32> = load %arg_1 - %6:u64 = bitcast %5 - %7:void = atomicStoreMax %4, %6 - ret - } -} -%fragment_main = @fragment func():void { - $B3: { - %9:void = call %atomicStoreMax_707bde - ret - } -} -%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void { - $B4: { - %11:void = call %atomicStoreMax_707bde - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend -SB_RW = struct @align(8) { - arg_0:atomic<vec2<u32>> @offset(0) -} - -SB_RW_a64 = struct @align(8) { - arg_0:atomic<u64> @offset(0) -} - -$B1: { # root - %sb_rw:ptr<storage, SB_RW_a64, read_write> = var undef @binding_point(0, 0) -} - -%atomicStoreMax_707bde = func():void { - $B2: { - %arg_1:ptr<function, vec2<u32>, read_write> = var vec2<u32>(1u) - %4:ptr<storage, atomic<u64>, read_write> = access %sb_rw, 0u - %5:vec2<u32> = load %arg_1 - %6:u64 = bitcast %5 - %7:void = atomicStoreMax %4, %6 - ret - } -} -%fragment_main = @fragment func():void { - $B3: { - %9:void = call %atomicStoreMax_707bde - ret - } -} -%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void { - $B4: { - %11:void = call %atomicStoreMax_707bde - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend // // fragment_main // +#include <metal_stdlib> +using namespace metal; + +struct SB_RW_a64 { + /* 0x0000 */ atomic_ulong arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW_a64* sb_rw; +}; + +void atomicStoreMax_707bde(tint_module_vars_struct tint_module_vars) { + uint2 arg_1 = uint2(1u); + atomic_max_explicit((&(*tint_module_vars.sb_rw).arg_0), as_type<ulong>(arg_1), memory_order_relaxed); +} + +fragment void fragment_main(device SB_RW_a64* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + atomicStoreMax_707bde(tint_module_vars); +} // // compute_main // +#include <metal_stdlib> +using namespace metal; -tint executable returned error: exit status 1 +struct SB_RW_a64 { + /* 0x0000 */ atomic_ulong arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW_a64* sb_rw; +}; + +void atomicStoreMax_707bde(tint_module_vars_struct tint_module_vars) { + uint2 arg_1 = uint2(1u); + atomic_max_explicit((&(*tint_module_vars.sb_rw).arg_0), as_type<ulong>(arg_1), memory_order_relaxed); +} + +[[max_total_threads_per_threadgroup(1)]] +kernel void compute_main(device SB_RW_a64* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + atomicStoreMax_707bde(tint_module_vars); +}
diff --git a/test/tint/builtins/gen/var/atomicStoreMin/f5f229.wgsl b/test/tint/builtins/gen/var/atomicStoreMin/f5f229.wgsl index 5383a5b..6f1fa5c 100644 --- a/test/tint/builtins/gen/var/atomicStoreMin/f5f229.wgsl +++ b/test/tint/builtins/gen/var/atomicStoreMin/f5f229.wgsl
@@ -35,6 +35,8 @@ //////////////////////////////////////////////////////////////////////////////// +// [msl] flags: --msl-version 2.4 + enable atomic_vec2u_min_max; struct SB_RW { arg_0: atomic<vec2<u32>>,
diff --git a/test/tint/builtins/gen/var/atomicStoreMin/f5f229.wgsl.expected.msl b/test/tint/builtins/gen/var/atomicStoreMin/f5f229.wgsl.expected.msl index 9ec4a31..cd06c97 100644 --- a/test/tint/builtins/gen/var/atomicStoreMin/f5f229.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/atomicStoreMin/f5f229.wgsl.expected.msl
@@ -1,80 +1,47 @@ -SKIP: FAILED - -SB_RW = struct @align(8) { - arg_0:atomic<vec2<u32>> @offset(0) -} - -SB_RW_a64 = struct @align(8) { - arg_0:atomic<u64> @offset(0) -} - -$B1: { # root - %sb_rw:ptr<storage, SB_RW_a64, read_write> = var undef @binding_point(0, 0) -} - -%atomicStoreMin_f5f229 = func():void { - $B2: { - %arg_1:ptr<function, vec2<u32>, read_write> = var vec2<u32>(1u) - %4:ptr<storage, atomic<u64>, read_write> = access %sb_rw, 0u - %5:vec2<u32> = load %arg_1 - %6:u64 = bitcast %5 - %7:void = atomicStoreMin %4, %6 - ret - } -} -%fragment_main = @fragment func():void { - $B3: { - %9:void = call %atomicStoreMin_f5f229 - ret - } -} -%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void { - $B4: { - %11:void = call %atomicStoreMin_f5f229 - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend -SB_RW = struct @align(8) { - arg_0:atomic<vec2<u32>> @offset(0) -} - -SB_RW_a64 = struct @align(8) { - arg_0:atomic<u64> @offset(0) -} - -$B1: { # root - %sb_rw:ptr<storage, SB_RW_a64, read_write> = var undef @binding_point(0, 0) -} - -%atomicStoreMin_f5f229 = func():void { - $B2: { - %arg_1:ptr<function, vec2<u32>, read_write> = var vec2<u32>(1u) - %4:ptr<storage, atomic<u64>, read_write> = access %sb_rw, 0u - %5:vec2<u32> = load %arg_1 - %6:u64 = bitcast %5 - %7:void = atomicStoreMin %4, %6 - ret - } -} -%fragment_main = @fragment func():void { - $B3: { - %9:void = call %atomicStoreMin_f5f229 - ret - } -} -%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void { - $B4: { - %11:void = call %atomicStoreMin_f5f229 - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend // // fragment_main // +#include <metal_stdlib> +using namespace metal; + +struct SB_RW_a64 { + /* 0x0000 */ atomic_ulong arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW_a64* sb_rw; +}; + +void atomicStoreMin_f5f229(tint_module_vars_struct tint_module_vars) { + uint2 arg_1 = uint2(1u); + atomic_min_explicit((&(*tint_module_vars.sb_rw).arg_0), as_type<ulong>(arg_1), memory_order_relaxed); +} + +fragment void fragment_main(device SB_RW_a64* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + atomicStoreMin_f5f229(tint_module_vars); +} // // compute_main // +#include <metal_stdlib> +using namespace metal; -tint executable returned error: exit status 1 +struct SB_RW_a64 { + /* 0x0000 */ atomic_ulong arg_0; +}; + +struct tint_module_vars_struct { + device SB_RW_a64* sb_rw; +}; + +void atomicStoreMin_f5f229(tint_module_vars_struct tint_module_vars) { + uint2 arg_1 = uint2(1u); + atomic_min_explicit((&(*tint_module_vars.sb_rw).arg_0), as_type<ulong>(arg_1), memory_order_relaxed); +} + +[[max_total_threads_per_threadgroup(1)]] +kernel void compute_main(device SB_RW_a64* sb_rw [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw}; + atomicStoreMin_f5f229(tint_module_vars); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl index 9625d7b..cdc95e3 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl
@@ -25,6 +25,7 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// [msl] flags: --msl-version 2.4 enable atomic_vec2u_min_max; @@ -35,5 +36,5 @@ @fragment fn main() { - atomicStoreMin(&a[0], vec2u(0, 0)); + atomicStoreMax(&a[0], vec2u(0, 0)); } \ No newline at end of file
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.msl index 326c78d..abc9f93 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.msl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.msl
@@ -1,18 +1,29 @@ -SKIP: FAILED +#include <metal_stdlib> +using namespace metal; -$B1: { # root - %a:ptr<storage, array<atomic<u64>>, read_write> = var undef @binding_point(0, 0) - %other:ptr<storage, u32, read> = var undef @binding_point(0, 1) +template<typename T, size_t N> +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; + +struct tint_module_vars_struct { + device tint_array<atomic_ulong, 1>* a; + const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; +}; + +struct tint_array_lengths_struct { + uint tint_array_length_0_0; +}; + +fragment void v(device tint_array<atomic_ulong, 1>* a [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.a=a, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; + uint const v_1 = (tint_array_lengths_struct{.tint_array_length_0_0=((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 8u)}.tint_array_length_0_0 - 1u); + atomic_max_explicit((&(*tint_module_vars.a)[min(uint(0), v_1)]), as_type<ulong>(uint2(0u)), memory_order_relaxed); } - -%main = @fragment func():void { - $B2: { - %4:ptr<storage, atomic<u64>, read_write> = access %a, 0i - %5:u64 = bitcast vec2<u32>(0u) - %6:void = atomicStoreMin %4, %5 - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend - -tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.spvasm b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.spvasm index 4b33b1c..e2ddc1e 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.spvasm +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.spvasm
@@ -44,6 +44,6 @@ %20 = OpExtInst %uint %21 UMin %17 %15 %22 = OpAccessChain %_ptr_StorageBuffer_ulong %1 %uint_0 %20 %24 = OpBitcast %ulong %25 - %27 = OpAtomicUMin %ulong %22 %uint_1 %uint_0 %24 + %27 = OpAtomicUMax %ulong %22 %uint_1 %uint_0 %24 OpReturn OpFunctionEnd
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.wgsl index 76c91b5..7e8d9b2 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.wgsl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_access.wgsl.expected.wgsl
@@ -6,5 +6,5 @@ @fragment fn main() { - atomicStoreMin(&(a[0]), vec2u(0, 0)); + atomicStoreMax(&(a[0]), vec2u(0, 0)); }
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_array.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_array.wgsl index 4288b63..e728417 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_array.wgsl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_array.wgsl
@@ -25,6 +25,7 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// [msl] flags: --msl-version 2.4 enable atomic_vec2u_min_max;
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_array.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_array.wgsl.expected.msl index 7554c2f..6061052 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_array.wgsl.expected.msl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_array.wgsl.expected.msl
@@ -1,21 +1,32 @@ -SKIP: FAILED +#include <metal_stdlib> +using namespace metal; -$B1: { # root - %sb_rw0:ptr<storage, array<atomic<u64>, 4>, read_write> = var undef @binding_point(0, 0) - %sb_rw1:ptr<storage, array<atomic<u64>>, read_write> = var undef @binding_point(0, 1) +template<typename T, size_t N> +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; + +struct tint_module_vars_struct { + device tint_array<atomic_ulong, 4>* sb_rw0; + device tint_array<atomic_ulong, 1>* sb_rw1; + const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; +}; + +struct tint_array_lengths_struct { + uint tint_array_length_0_1; +}; + +[[max_total_threads_per_threadgroup(1)]] +kernel void compute_main(device tint_array<atomic_ulong, 4>* sb_rw0 [[buffer(0)]], device tint_array<atomic_ulong, 1>* sb_rw1 [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw0=sb_rw0, .sb_rw1=sb_rw1, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; + tint_array_lengths_struct const v = tint_array_lengths_struct{.tint_array_length_0_1=((*tint_module_vars.tint_storage_buffer_sizes)[0u].y / 8u)}; + atomic_max_explicit((&(*tint_module_vars.sb_rw0)[0u]), as_type<ulong>(uint2(1u)), memory_order_relaxed); + atomic_max_explicit((&(*tint_module_vars.sb_rw1)[min(uint(0), (v.tint_array_length_0_1 - 1u))]), as_type<ulong>(uint2(1u)), memory_order_relaxed); } - -%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void { - $B2: { - %4:ptr<storage, atomic<u64>, read_write> = access %sb_rw0, 0i - %5:u64 = bitcast vec2<u32>(1u) - %6:void = atomicStoreMax %4, %5 - %7:ptr<storage, atomic<u64>, read_write> = access %sb_rw1, 0i - %8:u64 = bitcast vec2<u32>(1u) - %9:void = atomicStoreMax %7, %8 - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend - -tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl index 50479d7..cbadc41 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl
@@ -25,6 +25,7 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// [msl] flags: --msl-version 2.4 enable atomic_vec2u_min_max; @@ -32,7 +33,7 @@ var<storage, read_write> a: atomic<vec2u>; fn foo(p: ptr<storage, atomic<vec2u>, read_write>) { - atomicStoreMin(p, vec2u(0, 0)); + atomicStoreMax(p, vec2u(0, 0)); } @fragment
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.msl index c023c5c..c3e46f0 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.msl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.msl
@@ -1,22 +1,15 @@ -SKIP: FAILED +#include <metal_stdlib> +using namespace metal; -$B1: { # root - %a:ptr<storage, atomic<u64>, read_write> = var undef @binding_point(0, 0) +struct tint_module_vars_struct { + device atomic_ulong* a; +}; + +void foo(device atomic_ulong* const p) { + atomic_max_explicit(p, as_type<ulong>(uint2(0u)), memory_order_relaxed); } -%foo = func(%p:ptr<storage, atomic<u64>, read_write>):void { - $B2: { - %4:u64 = bitcast vec2<u32>(0u) - %5:void = atomicStoreMin %p, %4 - ret - } +fragment void v(device atomic_ulong* a [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.a=a}; + foo(tint_module_vars.a); } -%main = @fragment func():void { - $B3: { - %7:void = call %foo, %a - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend - -tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.spvasm b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.spvasm index 1dc8aba..117bc44 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.spvasm +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.spvasm
@@ -34,7 +34,7 @@ %8 = OpLabel %9 = OpBitcast %ulong %10 %13 = OpAccessChain %_ptr_StorageBuffer_ulong %1 %uint_0 - %16 = OpAtomicUMin %ulong %13 %uint_1 %uint_0 %9 + %16 = OpAtomicUMax %ulong %13 %uint_1 %uint_0 %9 OpReturn OpFunctionEnd %main = OpFunction %void None %7
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.wgsl index 4b62426..6379205 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.wgsl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_function.wgsl.expected.wgsl
@@ -3,7 +3,7 @@ @group(0) @binding(0) var<storage, read_write> a : atomic<vec2u>; fn foo(p : ptr<storage, atomic<vec2u>, read_write>) { - atomicStoreMin(p, vec2u(0, 0)); + atomicStoreMax(p, vec2u(0, 0)); } @fragment
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl index 8d4215c..9c8e617 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl
@@ -25,6 +25,7 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// [msl] flags: --msl-version 2.4 enable atomic_vec2u_min_max; @@ -34,5 +35,5 @@ @fragment fn main() { let pa = &a; - atomicStoreMin(pa, vec2u(0, 0)); + atomicStoreMax(pa, vec2u(0, 0)); } \ No newline at end of file
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.msl index 8d86551..5280e15 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.msl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.msl
@@ -1,17 +1,12 @@ -SKIP: FAILED +#include <metal_stdlib> +using namespace metal; -$B1: { # root - %a:ptr<storage, atomic<u64>, read_write> = var undef @binding_point(0, 0) +struct tint_module_vars_struct { + device atomic_ulong* a; +}; + +fragment void v(device atomic_ulong* a [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.a=a}; + device atomic_ulong* const pa = tint_module_vars.a; + atomic_max_explicit(pa, as_type<ulong>(uint2(0u)), memory_order_relaxed); } - -%main = @fragment func():void { - $B2: { - %pa:ptr<storage, atomic<u64>, read_write> = let %a - %4:u64 = bitcast vec2<u32>(0u) - %5:void = atomicStoreMin %pa, %4 - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend - -tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.spvasm b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.spvasm index 7256f43..cdb97d8 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.spvasm +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.spvasm
@@ -34,6 +34,6 @@ %8 = OpLabel %pa = OpAccessChain %_ptr_StorageBuffer_ulong %1 %uint_0 %13 = OpBitcast %ulong %14 - %16 = OpAtomicUMin %ulong %pa %uint_1 %uint_0 %13 + %16 = OpAtomicUMax %ulong %pa %uint_1 %uint_0 %13 OpReturn OpFunctionEnd
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.wgsl index ae5a3e3..f014d7e 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.wgsl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_let.wgsl.expected.wgsl
@@ -5,5 +5,5 @@ @fragment fn main() { let pa = &(a); - atomicStoreMin(pa, vec2u(0, 0)); + atomicStoreMax(pa, vec2u(0, 0)); }
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl index 0049078..71ad02d 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl
@@ -25,6 +25,7 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// [msl] flags: --msl-version 2.4 enable atomic_vec2u_min_max; @@ -33,5 +34,5 @@ @fragment fn main() { - atomicStoreMin(&a, vec2u(0, 0)); + atomicStoreMax(&a, vec2u(0, 0)); } \ No newline at end of file
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.msl index 8098e5c..8e22fe5 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.msl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.msl
@@ -1,16 +1,11 @@ -SKIP: FAILED +#include <metal_stdlib> +using namespace metal; -$B1: { # root - %a:ptr<storage, atomic<u64>, read_write> = var undef @binding_point(0, 0) +struct tint_module_vars_struct { + device atomic_ulong* a; +}; + +fragment void v(device atomic_ulong* a [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.a=a}; + atomic_max_explicit(tint_module_vars.a, as_type<ulong>(uint2(0u)), memory_order_relaxed); } - -%main = @fragment func():void { - $B2: { - %3:u64 = bitcast vec2<u32>(0u) - %4:void = atomicStoreMin %a, %3 - ret - } -} -Failed to generate: 64-bit (vec2u) atomic operations are not yet supported by the MSL backend - -tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.spvasm b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.spvasm index ba5392f..bcd0687 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.spvasm +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.spvasm
@@ -33,6 +33,6 @@ %8 = OpLabel %9 = OpBitcast %ulong %10 %13 = OpAccessChain %_ptr_StorageBuffer_ulong %1 %uint_0 - %16 = OpAtomicUMin %ulong %13 %uint_1 %uint_0 %9 + %16 = OpAtomicUMax %ulong %13 %uint_1 %uint_0 %9 OpReturn OpFunctionEnd
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.wgsl index 4e9dd1a..0f27f95 100644 --- a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.wgsl +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMax_var.wgsl.expected.wgsl
@@ -4,5 +4,5 @@ @fragment fn main() { - atomicStoreMin(&(a), vec2u(0, 0)); + atomicStoreMax(&(a), vec2u(0, 0)); }
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl new file mode 100644 index 0000000..70f51c9 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl
@@ -0,0 +1,40 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// [msl] flags: --msl-version 2.4 + +enable atomic_vec2u_min_max; + +@group(0) @binding(0) +var<storage, read_write> a: array<atomic<vec2u>>; +@group(0) @binding(1) +var<storage, read> other: u32; + +@fragment +fn main() { + atomicStoreMin(&a[0], vec2u(0, 0)); +} \ No newline at end of file
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.dxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.dxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.fxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.fxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.glsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.glsl new file mode 100644 index 0000000..84c1f8c --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.glsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the GLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.msl new file mode 100644 index 0000000..b05ce54 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.msl
@@ -0,0 +1,29 @@ +#include <metal_stdlib> +using namespace metal; + +template<typename T, size_t N> +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; + +struct tint_module_vars_struct { + device tint_array<atomic_ulong, 1>* a; + const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; +}; + +struct tint_array_lengths_struct { + uint tint_array_length_0_0; +}; + +fragment void v(device tint_array<atomic_ulong, 1>* a [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.a=a, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; + uint const v_1 = (tint_array_lengths_struct{.tint_array_length_0_0=((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 8u)}.tint_array_length_0_0 - 1u); + atomic_min_explicit((&(*tint_module_vars.a)[min(uint(0), v_1)]), as_type<ulong>(uint2(0u)), memory_order_relaxed); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.spvasm b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.spvasm new file mode 100644 index 0000000..4b33b1c --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.spvasm
@@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 1 +; Bound: 28 +; Schema: 0 + OpCapability Shader + OpCapability Int64 + OpCapability Int64Atomics + %21 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint Fragment %main "main" + OpExecutionMode %main OriginUpperLeft + OpMemberName %a_block_tint_explicit_layout 0 "inner" + OpName %a_block_tint_explicit_layout "a_block_tint_explicit_layout" + OpName %main "main" + OpDecorate %_runtimearr_ulong ArrayStride 8 + OpMemberDecorate %a_block_tint_explicit_layout 0 Offset 0 + OpDecorate %a_block_tint_explicit_layout Block + OpDecorate %1 DescriptorSet 0 + OpDecorate %1 Binding 0 + OpDecorate %1 Coherent + %ulong = OpTypeInt 64 0 +%_runtimearr_ulong = OpTypeRuntimeArray %ulong +%a_block_tint_explicit_layout = OpTypeStruct %_runtimearr_ulong +%_ptr_StorageBuffer_a_block_tint_explicit_layout = OpTypePointer StorageBuffer %a_block_tint_explicit_layout + %1 = OpVariable %_ptr_StorageBuffer_a_block_tint_explicit_layout StorageBuffer + %void = OpTypeVoid + %8 = OpTypeFunction %void +%_ptr_StorageBuffer__runtimearr_ulong = OpTypePointer StorageBuffer %_runtimearr_ulong + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 + %int = OpTypeInt 32 1 + %int_0 = OpConstant %int 0 +%_ptr_StorageBuffer_ulong = OpTypePointer StorageBuffer %ulong + %v2uint = OpTypeVector %uint 2 + %25 = OpConstantNull %v2uint + %main = OpFunction %void None %8 + %9 = OpLabel + %10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_ulong %1 %uint_0 + %14 = OpArrayLength %uint %1 0 + %15 = OpISub %uint %14 %uint_1 + %17 = OpBitcast %uint %int_0 + %20 = OpExtInst %uint %21 UMin %17 %15 + %22 = OpAccessChain %_ptr_StorageBuffer_ulong %1 %uint_0 %20 + %24 = OpBitcast %ulong %25 + %27 = OpAtomicUMin %ulong %22 %uint_1 %uint_0 %24 + OpReturn + OpFunctionEnd
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.wgsl new file mode 100644 index 0000000..76c91b5 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_access.wgsl.expected.wgsl
@@ -0,0 +1,10 @@ +enable atomic_vec2u_min_max; + +@group(0) @binding(0) var<storage, read_write> a : array<atomic<vec2u>>; + +@group(0) @binding(1) var<storage, read> other : u32; + +@fragment +fn main() { + atomicStoreMin(&(a[0]), vec2u(0, 0)); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl new file mode 100644 index 0000000..2a17878 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl
@@ -0,0 +1,41 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// [msl] flags: --msl-version 2.4 + +enable atomic_vec2u_min_max; + +// Fixed size array +@group(0) @binding(0) var<storage, read_write> sb_rw0 : array<atomic<vec2<u32>>, 4>; +// Runtime array +@group(0) @binding(1) var<storage, read_write> sb_rw1 : array<atomic<vec2<u32>>>; + +@compute @workgroup_size(1) +fn compute_main() { + atomicStoreMin(&sb_rw0[0], vec2<u32>(1u)); + atomicStoreMin(&sb_rw1[0], vec2<u32>(1u)); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.dxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.dxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.fxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.fxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.glsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.glsl new file mode 100644 index 0000000..84c1f8c --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.glsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the GLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.msl new file mode 100644 index 0000000..431596a --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.msl
@@ -0,0 +1,32 @@ +#include <metal_stdlib> +using namespace metal; + +template<typename T, size_t N> +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; + +struct tint_module_vars_struct { + device tint_array<atomic_ulong, 4>* sb_rw0; + device tint_array<atomic_ulong, 1>* sb_rw1; + const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; +}; + +struct tint_array_lengths_struct { + uint tint_array_length_0_1; +}; + +[[max_total_threads_per_threadgroup(1)]] +kernel void compute_main(device tint_array<atomic_ulong, 4>* sb_rw0 [[buffer(0)]], device tint_array<atomic_ulong, 1>* sb_rw1 [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw0=sb_rw0, .sb_rw1=sb_rw1, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; + tint_array_lengths_struct const v = tint_array_lengths_struct{.tint_array_length_0_1=((*tint_module_vars.tint_storage_buffer_sizes)[0u].y / 8u)}; + atomic_min_explicit((&(*tint_module_vars.sb_rw0)[0u]), as_type<ulong>(uint2(1u)), memory_order_relaxed); + atomic_min_explicit((&(*tint_module_vars.sb_rw1)[min(uint(0), (v.tint_array_length_0_1 - 1u))]), as_type<ulong>(uint2(1u)), memory_order_relaxed); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.spvasm b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.spvasm new file mode 100644 index 0000000..a5627c8 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.spvasm
@@ -0,0 +1,65 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 1 +; Bound: 36 +; Schema: 0 + OpCapability Shader + OpCapability Int64 + OpCapability Int64Atomics + %32 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %compute_main LocalSize 1 1 1 + OpMemberName %sb_rw0_block_tint_explicit_layout 0 "inner" + OpName %sb_rw0_block_tint_explicit_layout "sb_rw0_block_tint_explicit_layout" + OpMemberName %sb_rw1_block_tint_explicit_layout 0 "inner" + OpName %sb_rw1_block_tint_explicit_layout "sb_rw1_block_tint_explicit_layout" + OpName %compute_main "compute_main" + OpDecorate %_arr_ulong_uint_4 ArrayStride 8 + OpMemberDecorate %sb_rw0_block_tint_explicit_layout 0 Offset 0 + OpDecorate %sb_rw0_block_tint_explicit_layout Block + OpDecorate %1 DescriptorSet 0 + OpDecorate %1 Binding 0 + OpDecorate %1 Coherent + OpDecorate %_runtimearr_ulong ArrayStride 8 + OpMemberDecorate %sb_rw1_block_tint_explicit_layout 0 Offset 0 + OpDecorate %sb_rw1_block_tint_explicit_layout Block + OpDecorate %8 DescriptorSet 0 + OpDecorate %8 Binding 1 + OpDecorate %8 Coherent + %ulong = OpTypeInt 64 0 + %uint = OpTypeInt 32 0 + %uint_4 = OpConstant %uint 4 +%_arr_ulong_uint_4 = OpTypeArray %ulong %uint_4 +%sb_rw0_block_tint_explicit_layout = OpTypeStruct %_arr_ulong_uint_4 +%_ptr_StorageBuffer_sb_rw0_block_tint_explicit_layout = OpTypePointer StorageBuffer %sb_rw0_block_tint_explicit_layout + %1 = OpVariable %_ptr_StorageBuffer_sb_rw0_block_tint_explicit_layout StorageBuffer +%_runtimearr_ulong = OpTypeRuntimeArray %ulong +%sb_rw1_block_tint_explicit_layout = OpTypeStruct %_runtimearr_ulong +%_ptr_StorageBuffer_sb_rw1_block_tint_explicit_layout = OpTypePointer StorageBuffer %sb_rw1_block_tint_explicit_layout + %8 = OpVariable %_ptr_StorageBuffer_sb_rw1_block_tint_explicit_layout StorageBuffer + %void = OpTypeVoid + %14 = OpTypeFunction %void +%_ptr_StorageBuffer_ulong = OpTypePointer StorageBuffer %ulong + %uint_0 = OpConstant %uint 0 + %v2uint = OpTypeVector %uint 2 + %uint_1 = OpConstant %uint 1 + %20 = OpConstantComposite %v2uint %uint_1 %uint_1 +%_ptr_StorageBuffer__runtimearr_ulong = OpTypePointer StorageBuffer %_runtimearr_ulong + %int = OpTypeInt 32 1 + %int_0 = OpConstant %int 0 +%compute_main = OpFunction %void None %14 + %15 = OpLabel + %16 = OpAccessChain %_ptr_StorageBuffer_ulong %1 %uint_0 %uint_0 + %19 = OpBitcast %ulong %20 + %23 = OpAtomicUMin %ulong %16 %uint_1 %uint_0 %19 + %24 = OpAccessChain %_ptr_StorageBuffer__runtimearr_ulong %8 %uint_0 + %26 = OpArrayLength %uint %8 0 + %27 = OpISub %uint %26 %uint_1 + %28 = OpBitcast %uint %int_0 + %31 = OpExtInst %uint %32 UMin %28 %27 + %33 = OpAccessChain %_ptr_StorageBuffer_ulong %8 %uint_0 %31 + %34 = OpBitcast %ulong %20 + %35 = OpAtomicUMin %ulong %33 %uint_1 %uint_0 %34 + OpReturn + OpFunctionEnd
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.wgsl new file mode 100644 index 0000000..7241716 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_array.wgsl.expected.wgsl
@@ -0,0 +1,11 @@ +enable atomic_vec2u_min_max; + +@group(0) @binding(0) var<storage, read_write> sb_rw0 : array<atomic<vec2<u32>>, 4>; + +@group(0) @binding(1) var<storage, read_write> sb_rw1 : array<atomic<vec2<u32>>>; + +@compute @workgroup_size(1) +fn compute_main() { + atomicStoreMin(&(sb_rw0[0]), vec2<u32>(1u)); + atomicStoreMin(&(sb_rw1[0]), vec2<u32>(1u)); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl new file mode 100644 index 0000000..024a327 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl
@@ -0,0 +1,42 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// [msl] flags: --msl-version 2.4 + +enable atomic_vec2u_min_max; + +@group(0) @binding(0) +var<storage, read_write> a: atomic<vec2u>; + +fn foo(p: ptr<storage, atomic<vec2u>, read_write>) { + atomicStoreMin(p, vec2u(0, 0)); +} + +@fragment +fn main() { + foo(&a); +} \ No newline at end of file
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.dxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.dxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.fxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.fxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.glsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.glsl new file mode 100644 index 0000000..84c1f8c --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.glsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the GLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.msl new file mode 100644 index 0000000..ed68255 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.msl
@@ -0,0 +1,15 @@ +#include <metal_stdlib> +using namespace metal; + +struct tint_module_vars_struct { + device atomic_ulong* a; +}; + +void foo(device atomic_ulong* const p) { + atomic_min_explicit(p, as_type<ulong>(uint2(0u)), memory_order_relaxed); +} + +fragment void v(device atomic_ulong* a [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.a=a}; + foo(tint_module_vars.a); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.spvasm b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.spvasm new file mode 100644 index 0000000..1dc8aba --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.spvasm
@@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 1 +; Bound: 21 +; Schema: 0 + OpCapability Shader + OpCapability Int64 + OpCapability Int64Atomics + OpMemoryModel Logical GLSL450 + OpEntryPoint Fragment %main "main" + OpExecutionMode %main OriginUpperLeft + OpMemberName %a_block 0 "inner" + OpName %a_block "a_block" + OpName %foo "foo" + OpName %main "main" + OpMemberDecorate %a_block 0 Offset 0 + OpDecorate %a_block Block + OpDecorate %1 DescriptorSet 0 + OpDecorate %1 Binding 0 + OpDecorate %1 Coherent + %ulong = OpTypeInt 64 0 + %a_block = OpTypeStruct %ulong +%_ptr_StorageBuffer_a_block = OpTypePointer StorageBuffer %a_block + %1 = OpVariable %_ptr_StorageBuffer_a_block StorageBuffer + %void = OpTypeVoid + %7 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v2uint = OpTypeVector %uint 2 + %10 = OpConstantNull %v2uint +%_ptr_StorageBuffer_ulong = OpTypePointer StorageBuffer %ulong + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 + %foo = OpFunction %void None %7 + %8 = OpLabel + %9 = OpBitcast %ulong %10 + %13 = OpAccessChain %_ptr_StorageBuffer_ulong %1 %uint_0 + %16 = OpAtomicUMin %ulong %13 %uint_1 %uint_0 %9 + OpReturn + OpFunctionEnd + %main = OpFunction %void None %7 + %19 = OpLabel + %20 = OpFunctionCall %void %foo + OpReturn + OpFunctionEnd
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.wgsl new file mode 100644 index 0000000..4b62426 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_function.wgsl.expected.wgsl
@@ -0,0 +1,12 @@ +enable atomic_vec2u_min_max; + +@group(0) @binding(0) var<storage, read_write> a : atomic<vec2u>; + +fn foo(p : ptr<storage, atomic<vec2u>, read_write>) { + atomicStoreMin(p, vec2u(0, 0)); +} + +@fragment +fn main() { + foo(&(a)); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl new file mode 100644 index 0000000..132b1bb --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl
@@ -0,0 +1,39 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// [msl] flags: --msl-version 2.4 + +enable atomic_vec2u_min_max; + +@group(0) @binding(0) +var<storage, read_write> a: atomic<vec2u>; + +@fragment +fn main() { + let pa = &a; + atomicStoreMin(pa, vec2u(0, 0)); +} \ No newline at end of file
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.dxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.dxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.fxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.fxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.glsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.glsl new file mode 100644 index 0000000..84c1f8c --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.glsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the GLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.msl new file mode 100644 index 0000000..4409a75 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.msl
@@ -0,0 +1,12 @@ +#include <metal_stdlib> +using namespace metal; + +struct tint_module_vars_struct { + device atomic_ulong* a; +}; + +fragment void v(device atomic_ulong* a [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.a=a}; + device atomic_ulong* const pa = tint_module_vars.a; + atomic_min_explicit(pa, as_type<ulong>(uint2(0u)), memory_order_relaxed); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.spvasm b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.spvasm new file mode 100644 index 0000000..7256f43 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.spvasm
@@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 1 +; Bound: 18 +; Schema: 0 + OpCapability Shader + OpCapability Int64 + OpCapability Int64Atomics + OpMemoryModel Logical GLSL450 + OpEntryPoint Fragment %main "main" + OpExecutionMode %main OriginUpperLeft + OpMemberName %a_block 0 "inner" + OpName %a_block "a_block" + OpName %main "main" + OpName %pa "pa" + OpMemberDecorate %a_block 0 Offset 0 + OpDecorate %a_block Block + OpDecorate %1 DescriptorSet 0 + OpDecorate %1 Binding 0 + OpDecorate %1 Coherent + %ulong = OpTypeInt 64 0 + %a_block = OpTypeStruct %ulong +%_ptr_StorageBuffer_a_block = OpTypePointer StorageBuffer %a_block + %1 = OpVariable %_ptr_StorageBuffer_a_block StorageBuffer + %void = OpTypeVoid + %7 = OpTypeFunction %void +%_ptr_StorageBuffer_ulong = OpTypePointer StorageBuffer %ulong + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 + %v2uint = OpTypeVector %uint 2 + %14 = OpConstantNull %v2uint + %uint_1 = OpConstant %uint 1 + %main = OpFunction %void None %7 + %8 = OpLabel + %pa = OpAccessChain %_ptr_StorageBuffer_ulong %1 %uint_0 + %13 = OpBitcast %ulong %14 + %16 = OpAtomicUMin %ulong %pa %uint_1 %uint_0 %13 + OpReturn + OpFunctionEnd
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.wgsl new file mode 100644 index 0000000..ae5a3e3 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_let.wgsl.expected.wgsl
@@ -0,0 +1,9 @@ +enable atomic_vec2u_min_max; + +@group(0) @binding(0) var<storage, read_write> a : atomic<vec2u>; + +@fragment +fn main() { + let pa = &(a); + atomicStoreMin(pa, vec2u(0, 0)); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl new file mode 100644 index 0000000..1d08b33 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl
@@ -0,0 +1,38 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// [msl] flags: --msl-version 2.4 + +enable atomic_vec2u_min_max; + +@group(0) @binding(0) +var<storage, read_write> a: atomic<vec2u>; + +@fragment +fn main() { + atomicStoreMin(&a, vec2u(0, 0)); +} \ No newline at end of file
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.dxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.dxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.fxc.hlsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000..0f70a2e --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.fxc.hlsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the HLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.glsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.glsl new file mode 100644 index 0000000..84c1f8c --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.glsl
@@ -0,0 +1,5 @@ +SKIP: FAILED + +64-bit (vec2u) atomic operations are not yet supported by the GLSL backend + +tint executable returned error: exit status 1
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.msl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.msl new file mode 100644 index 0000000..c4fa2b0 --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.msl
@@ -0,0 +1,11 @@ +#include <metal_stdlib> +using namespace metal; + +struct tint_module_vars_struct { + device atomic_ulong* a; +}; + +fragment void v(device atomic_ulong* a [[buffer(0)]]) { + tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.a=a}; + atomic_min_explicit(tint_module_vars.a, as_type<ulong>(uint2(0u)), memory_order_relaxed); +}
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.spvasm b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.spvasm new file mode 100644 index 0000000..ba5392f --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.spvasm
@@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 1 +; Bound: 18 +; Schema: 0 + OpCapability Shader + OpCapability Int64 + OpCapability Int64Atomics + OpMemoryModel Logical GLSL450 + OpEntryPoint Fragment %main "main" + OpExecutionMode %main OriginUpperLeft + OpMemberName %a_block 0 "inner" + OpName %a_block "a_block" + OpName %main "main" + OpMemberDecorate %a_block 0 Offset 0 + OpDecorate %a_block Block + OpDecorate %1 DescriptorSet 0 + OpDecorate %1 Binding 0 + OpDecorate %1 Coherent + %ulong = OpTypeInt 64 0 + %a_block = OpTypeStruct %ulong +%_ptr_StorageBuffer_a_block = OpTypePointer StorageBuffer %a_block + %1 = OpVariable %_ptr_StorageBuffer_a_block StorageBuffer + %void = OpTypeVoid + %7 = OpTypeFunction %void + %uint = OpTypeInt 32 0 + %v2uint = OpTypeVector %uint 2 + %10 = OpConstantNull %v2uint +%_ptr_StorageBuffer_ulong = OpTypePointer StorageBuffer %ulong + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 + %main = OpFunction %void None %7 + %8 = OpLabel + %9 = OpBitcast %ulong %10 + %13 = OpAccessChain %_ptr_StorageBuffer_ulong %1 %uint_0 + %16 = OpAtomicUMin %ulong %13 %uint_1 %uint_0 %9 + OpReturn + OpFunctionEnd
diff --git a/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.wgsl b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.wgsl new file mode 100644 index 0000000..4e9dd1a --- /dev/null +++ b/test/tint/extensions/atomic_vec2u_min_max/atomicStoreMin_var.wgsl.expected.wgsl
@@ -0,0 +1,8 @@ +enable atomic_vec2u_min_max; + +@group(0) @binding(0) var<storage, read_write> a : atomic<vec2u>; + +@fragment +fn main() { + atomicStoreMin(&(a), vec2u(0, 0)); +}