Add optional access to ptr<>
This also completes the work to resolve the access controls for each
storage type.
Fixed: tint:846
Change-Id: Iab24057ec14620a2978ec63c4a91ba12d1bc6e9b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53381
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/ast/alias_test.cc b/src/ast/alias_test.cc
index 9adebbd..d3c5ec7 100644
--- a/src/ast/alias_test.cc
+++ b/src/ast/alias_test.cc
@@ -67,7 +67,7 @@
auto* u32 = create<U32>();
auto* a = create<Alias>(Sym("a_type"), u32);
auto* aa = create<Alias>(Sym("aa_type"), a);
- auto* paa = create<Pointer>(aa, StorageClass::kUniform);
+ auto* paa = create<Pointer>(aa, StorageClass::kUniform, Access::kUndefined);
auto* apaa = create<Alias>(Sym("paa_type"), paa);
auto* aapaa = create<Alias>(Sym("aapaa_type"), apaa);
diff --git a/src/ast/pointer.cc b/src/ast/pointer.cc
index 3c13998..77d8958 100644
--- a/src/ast/pointer.cc
+++ b/src/ast/pointer.cc
@@ -24,14 +24,19 @@
Pointer::Pointer(ProgramID program_id,
const Source& source,
Type* const subtype,
- ast::StorageClass storage_class)
+ ast::StorageClass storage_class,
+ ast::Access access)
: Base(program_id, source),
subtype_(subtype),
- storage_class_(storage_class) {}
+ storage_class_(storage_class),
+ access_(access) {}
std::string Pointer::type_name() const {
std::ostringstream out;
out << "__ptr_" << storage_class_ << subtype_->type_name();
+ if (access_ != ast::Access::kUndefined) {
+ out << "_" << access_;
+ }
return out.str();
}
@@ -41,7 +46,11 @@
if (storage_class_ != ast::StorageClass::kNone) {
out << storage_class_ << ", ";
}
- out << subtype_->FriendlyName(symbols) << ">";
+ out << subtype_->FriendlyName(symbols);
+ if (access_ != ast::Access::kUndefined) {
+ out << ", " << access_;
+ }
+ out << ">";
return out.str();
}
@@ -53,7 +62,7 @@
// Clone arguments outside of create() call to have deterministic ordering
auto src = ctx->Clone(source());
auto* ty = ctx->Clone(type());
- return ctx->dst->create<Pointer>(src, ty, storage_class_);
+ return ctx->dst->create<Pointer>(src, ty, storage_class_, access_);
}
} // namespace ast
diff --git a/src/ast/pointer.h b/src/ast/pointer.h
index 18b5a34..c7bba99 100644
--- a/src/ast/pointer.h
+++ b/src/ast/pointer.h
@@ -17,6 +17,7 @@
#include <string>
+#include "src/ast/access.h"
#include "src/ast/storage_class.h"
#include "src/ast/type.h"
@@ -31,19 +32,25 @@
/// @param source the source of this node
/// @param subtype the pointee type
/// @param storage_class the storage class of the pointer
+ /// @param access the access control of the pointer
Pointer(ProgramID program_id,
const Source& source,
Type* const subtype,
- ast::StorageClass storage_class);
+ ast::StorageClass storage_class,
+ ast::Access access);
/// Move constructor
Pointer(Pointer&&);
~Pointer() override;
/// @returns the pointee type
Type* type() const { return const_cast<Type*>(subtype_); }
+
/// @returns the storage class of the pointer
ast::StorageClass storage_class() const { return storage_class_; }
+ /// @returns the access control of the pointer
+ ast::Access access() const { return access_; }
+
/// @returns the name for this type
std::string type_name() const override;
@@ -60,6 +67,7 @@
private:
Type const* const subtype_;
ast::StorageClass const storage_class_;
+ ast::Access const access_;
};
} // namespace ast
diff --git a/src/ast/pointer_test.cc b/src/ast/pointer_test.cc
index d2eaa9e..454b4d7 100644
--- a/src/ast/pointer_test.cc
+++ b/src/ast/pointer_test.cc
@@ -25,27 +25,37 @@
TEST_F(AstPointerTest, Creation) {
auto* i32 = create<I32>();
- auto* p = create<Pointer>(i32, ast::StorageClass::kStorage);
+ auto* p = create<Pointer>(i32, ast::StorageClass::kStorage, Access::kRead);
EXPECT_EQ(p->type(), i32);
EXPECT_EQ(p->storage_class(), ast::StorageClass::kStorage);
+ EXPECT_EQ(p->access(), Access::kRead);
}
TEST_F(AstPointerTest, TypeName) {
auto* i32 = create<I32>();
- auto* p = create<Pointer>(i32, ast::StorageClass::kWorkgroup);
+ auto* p =
+ create<Pointer>(i32, ast::StorageClass::kWorkgroup, Access::kUndefined);
EXPECT_EQ(p->type_name(), "__ptr_workgroup__i32");
}
-TEST_F(AstPointerTest, FriendlyNameWithStorageClass) {
+TEST_F(AstPointerTest, TypeNameWithAccess) {
auto* i32 = create<I32>();
- auto* p = create<Pointer>(i32, ast::StorageClass::kWorkgroup);
+ auto* p = create<Pointer>(i32, ast::StorageClass::kWorkgroup, Access::kRead);
+ EXPECT_EQ(p->type_name(), "__ptr_workgroup__i32_read");
+}
+
+TEST_F(AstPointerTest, FriendlyName) {
+ auto* i32 = create<I32>();
+ auto* p =
+ create<Pointer>(i32, ast::StorageClass::kWorkgroup, Access::kUndefined);
EXPECT_EQ(p->FriendlyName(Symbols()), "ptr<workgroup, i32>");
}
-TEST_F(AstPointerTest, FriendlyNameWithoutStorageClass) {
+TEST_F(AstPointerTest, FriendlyNameWithAccess) {
auto* i32 = create<I32>();
- auto* p = create<Pointer>(i32, ast::StorageClass::kNone);
- EXPECT_EQ(p->FriendlyName(Symbols()), "ptr<i32>");
+ auto* p =
+ create<Pointer>(i32, ast::StorageClass::kStorage, Access::kReadWrite);
+ EXPECT_EQ(p->FriendlyName(Symbols()), "ptr<storage, i32, read_write>");
}
} // namespace
diff --git a/src/intrinsic_table.cc b/src/intrinsic_table.cc
index 9cdeca7..8c820d5 100644
--- a/src/intrinsic_table.cc
+++ b/src/intrinsic_table.cc
@@ -431,24 +431,30 @@
/* stride_implicit */ 0);
}
-bool match_ptr(const sem::Type* ty, Number& S, const sem::Type*& T) {
+bool match_ptr(const sem::Type* ty, Number& S, const sem::Type*& T, Number& A) {
if (ty->Is<Any>()) {
S = Number::any;
T = ty;
+ A = Number::any;
return true;
}
if (auto* p = ty->As<sem::Pointer>()) {
S = Number(static_cast<uint32_t>(p->StorageClass()));
T = p->StoreType();
+ A = Number(static_cast<uint32_t>(p->Access()));
return true;
}
return false;
}
-const sem::Pointer* build_ptr(MatchState& state, Number S, const sem::Type* T) {
+const sem::Pointer* build_ptr(MatchState& state,
+ Number S,
+ const sem::Type* T,
+ Number& A) {
return state.builder.create<sem::Pointer>(
- T, static_cast<ast::StorageClass>(S.Value()));
+ T, static_cast<ast::StorageClass>(S.Value()),
+ static_cast<ast::Access>(A.Value()));
}
bool match_sampler(const sem::Type* ty) {
diff --git a/src/intrinsic_table.inl b/src/intrinsic_table.inl
index 4fca42f..f72bb8c 100644
--- a/src/intrinsic_table.inl
+++ b/src/intrinsic_table.inl
@@ -338,7 +338,8 @@
const sem::Type* Ptr::Match(MatchState& state, const sem::Type* ty) const {
Number S = Number::invalid;
const sem::Type* T = nullptr;
- if (!match_ptr(ty, S, T)) {
+ Number A = Number::invalid;
+ if (!match_ptr(ty, S, T, A)) {
return nullptr;
}
S = state.Num(S);
@@ -349,12 +350,17 @@
if (T == nullptr) {
return nullptr;
}
- return build_ptr(state, S, T);
+ A = state.Num(A);
+ if (!A.IsValid()) {
+ return nullptr;
+ }
+ return build_ptr(state, S, T, A);
}
std::string Ptr::String(MatchState& state) const {
const std::string S = state.NumName();
const std::string T = state.TypeName();
+ const std::string A = state.NumName();
std::stringstream ss;
ss << "ptr<" << T << ">";
return ss.str();
@@ -1253,6 +1259,7 @@
OpenTypeMatcher open_type_0_{0};
OpenNumberMatcher open_number_0_{0};
OpenNumberMatcher open_number_1_{1};
+ OpenNumberMatcher open_number_2_{2};
Bool Bool_;
F32 F32_;
I32 I32_;
@@ -1336,15 +1343,16 @@
};
/// The open-numbers, and number matchers
- NumberMatcher const* const number[8] = {
+ NumberMatcher const* const number[9] = {
/* [0] */ &open_number_0_,
/* [1] */ &open_number_1_,
- /* [2] */ &F32TexelFormat_,
- /* [3] */ &I32TexelFormat_,
- /* [4] */ &U32TexelFormat_,
- /* [5] */ &ReadOrWrite_,
- /* [6] */ &Write_,
- /* [7] */ &Read_,
+ /* [2] */ &open_number_2_,
+ /* [3] */ &F32TexelFormat_,
+ /* [4] */ &I32TexelFormat_,
+ /* [5] */ &U32TexelFormat_,
+ /* [6] */ &ReadOrWrite_,
+ /* [7] */ &Write_,
+ /* [8] */ &Read_,
};
};
@@ -1357,153 +1365,159 @@
/* [2] */ 8,
/* [3] */ 0,
/* [4] */ 0,
- /* [5] */ 10,
- /* [6] */ 1,
- /* [7] */ 8,
- /* [8] */ 0,
- /* [9] */ 2,
- /* [10] */ 9,
- /* [11] */ 0,
- /* [12] */ 0,
- /* [13] */ 2,
- /* [14] */ 26,
+ /* [5] */ 2,
+ /* [6] */ 10,
+ /* [7] */ 1,
+ /* [8] */ 8,
+ /* [9] */ 0,
+ /* [10] */ 2,
+ /* [11] */ 2,
+ /* [12] */ 9,
+ /* [13] */ 0,
+ /* [14] */ 0,
/* [15] */ 2,
- /* [16] */ 6,
- /* [17] */ 2,
- /* [18] */ 28,
- /* [19] */ 0,
- /* [20] */ 1,
- /* [21] */ 27,
- /* [22] */ 0,
+ /* [16] */ 10,
+ /* [17] */ 0,
+ /* [18] */ 0,
+ /* [19] */ 1,
+ /* [20] */ 10,
+ /* [21] */ 0,
+ /* [22] */ 2,
/* [23] */ 1,
- /* [24] */ 8,
- /* [25] */ 0,
- /* [26] */ 1,
- /* [27] */ 28,
- /* [28] */ 4,
- /* [29] */ 7,
- /* [30] */ 2,
- /* [31] */ 26,
- /* [32] */ 0,
- /* [33] */ 1,
- /* [34] */ 25,
+ /* [24] */ 26,
+ /* [25] */ 3,
+ /* [26] */ 7,
+ /* [27] */ 2,
+ /* [28] */ 8,
+ /* [29] */ 0,
+ /* [30] */ 1,
+ /* [31] */ 28,
+ /* [32] */ 5,
+ /* [33] */ 8,
+ /* [34] */ 26,
/* [35] */ 0,
/* [36] */ 1,
- /* [37] */ 27,
- /* [38] */ 4,
- /* [39] */ 7,
- /* [40] */ 3,
- /* [41] */ 26,
- /* [42] */ 4,
- /* [43] */ 7,
- /* [44] */ 4,
- /* [45] */ 25,
- /* [46] */ 4,
- /* [47] */ 7,
- /* [48] */ 0,
+ /* [37] */ 25,
+ /* [38] */ 0,
+ /* [39] */ 1,
+ /* [40] */ 27,
+ /* [41] */ 5,
+ /* [42] */ 8,
+ /* [43] */ 26,
+ /* [44] */ 5,
+ /* [45] */ 8,
+ /* [46] */ 25,
+ /* [47] */ 5,
+ /* [48] */ 8,
/* [49] */ 28,
- /* [50] */ 3,
- /* [51] */ 7,
+ /* [50] */ 4,
+ /* [51] */ 8,
/* [52] */ 27,
- /* [53] */ 3,
- /* [54] */ 7,
+ /* [53] */ 4,
+ /* [54] */ 8,
/* [55] */ 26,
- /* [56] */ 3,
- /* [57] */ 7,
+ /* [56] */ 4,
+ /* [57] */ 8,
/* [58] */ 25,
- /* [59] */ 3,
- /* [60] */ 7,
- /* [61] */ 28,
- /* [62] */ 2,
- /* [63] */ 7,
- /* [64] */ 27,
- /* [65] */ 2,
- /* [66] */ 7,
- /* [67] */ 26,
- /* [68] */ 2,
- /* [69] */ 7,
- /* [70] */ 25,
- /* [71] */ 2,
- /* [72] */ 7,
- /* [73] */ 28,
- /* [74] */ 4,
- /* [75] */ 6,
- /* [76] */ 3,
- /* [77] */ 10,
- /* [78] */ 0,
- /* [79] */ 2,
- /* [80] */ 27,
- /* [81] */ 4,
- /* [82] */ 6,
- /* [83] */ 26,
- /* [84] */ 4,
- /* [85] */ 6,
- /* [86] */ 10,
- /* [87] */ 0,
- /* [88] */ 0,
- /* [89] */ 25,
- /* [90] */ 4,
- /* [91] */ 6,
- /* [92] */ 28,
- /* [93] */ 3,
- /* [94] */ 6,
- /* [95] */ 27,
- /* [96] */ 3,
- /* [97] */ 6,
- /* [98] */ 26,
- /* [99] */ 3,
- /* [100] */ 6,
- /* [101] */ 25,
- /* [102] */ 3,
- /* [103] */ 6,
- /* [104] */ 28,
- /* [105] */ 2,
- /* [106] */ 6,
- /* [107] */ 25,
- /* [108] */ 2,
- /* [109] */ 6,
- /* [110] */ 27,
- /* [111] */ 2,
- /* [112] */ 6,
- /* [113] */ 5,
- /* [114] */ 3,
- /* [115] */ 5,
+ /* [59] */ 4,
+ /* [60] */ 8,
+ /* [61] */ 27,
+ /* [62] */ 0,
+ /* [63] */ 1,
+ /* [64] */ 28,
+ /* [65] */ 3,
+ /* [66] */ 8,
+ /* [67] */ 27,
+ /* [68] */ 3,
+ /* [69] */ 8,
+ /* [70] */ 26,
+ /* [71] */ 3,
+ /* [72] */ 8,
+ /* [73] */ 25,
+ /* [74] */ 3,
+ /* [75] */ 8,
+ /* [76] */ 28,
+ /* [77] */ 0,
+ /* [78] */ 1,
+ /* [79] */ 28,
+ /* [80] */ 5,
+ /* [81] */ 7,
+ /* [82] */ 3,
+ /* [83] */ 27,
+ /* [84] */ 5,
+ /* [85] */ 7,
+ /* [86] */ 4,
+ /* [87] */ 26,
+ /* [88] */ 5,
+ /* [89] */ 7,
+ /* [90] */ 0,
+ /* [91] */ 25,
+ /* [92] */ 5,
+ /* [93] */ 7,
+ /* [94] */ 28,
+ /* [95] */ 4,
+ /* [96] */ 7,
+ /* [97] */ 27,
+ /* [98] */ 4,
+ /* [99] */ 7,
+ /* [100] */ 26,
+ /* [101] */ 4,
+ /* [102] */ 7,
+ /* [103] */ 25,
+ /* [104] */ 4,
+ /* [105] */ 7,
+ /* [106] */ 28,
+ /* [107] */ 3,
+ /* [108] */ 7,
+ /* [109] */ 25,
+ /* [110] */ 3,
+ /* [111] */ 7,
+ /* [112] */ 27,
+ /* [113] */ 3,
+ /* [114] */ 7,
+ /* [115] */ 6,
/* [116] */ 2,
- /* [117] */ 19,
- /* [118] */ 2,
- /* [119] */ 18,
- /* [120] */ 2,
- /* [121] */ 14,
- /* [122] */ 0,
- /* [123] */ 17,
+ /* [117] */ 5,
+ /* [118] */ 3,
+ /* [119] */ 6,
+ /* [120] */ 3,
+ /* [121] */ 5,
+ /* [122] */ 2,
+ /* [123] */ 19,
/* [124] */ 2,
- /* [125] */ 15,
- /* [126] */ 0,
- /* [127] */ 16,
- /* [128] */ 2,
- /* [129] */ 16,
- /* [130] */ 0,
- /* [131] */ 17,
+ /* [125] */ 18,
+ /* [126] */ 2,
+ /* [127] */ 14,
+ /* [128] */ 0,
+ /* [129] */ 17,
+ /* [130] */ 2,
+ /* [131] */ 15,
/* [132] */ 0,
- /* [133] */ 20,
- /* [134] */ 0,
- /* [135] */ 15,
- /* [136] */ 2,
- /* [137] */ 18,
+ /* [133] */ 16,
+ /* [134] */ 2,
+ /* [135] */ 16,
+ /* [136] */ 0,
+ /* [137] */ 17,
/* [138] */ 0,
- /* [139] */ 19,
+ /* [139] */ 20,
/* [140] */ 0,
- /* [141] */ 11,
- /* [142] */ 0,
- /* [143] */ 14,
- /* [144] */ 2,
- /* [145] */ 12,
- /* [146] */ 22,
- /* [147] */ 23,
- /* [148] */ 21,
- /* [149] */ 24,
- /* [150] */ 29,
- /* [151] */ 13,
+ /* [141] */ 15,
+ /* [142] */ 2,
+ /* [143] */ 18,
+ /* [144] */ 0,
+ /* [145] */ 19,
+ /* [146] */ 0,
+ /* [147] */ 11,
+ /* [148] */ 0,
+ /* [149] */ 14,
+ /* [150] */ 2,
+ /* [151] */ 12,
+ /* [152] */ 22,
+ /* [153] */ 23,
+ /* [154] */ 21,
+ /* [155] */ 24,
+ /* [156] */ 29,
+ /* [157] */ 13,
};
// Assert that the MatcherIndex is big enough to index all the matchers, plus
@@ -1516,1222 +1530,1222 @@
{
/* [0] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [1] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [2] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [3] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [4] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [5] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [6] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [7] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [8] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [9] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [10] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [11] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [12] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [13] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [14] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [15] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [16] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [17] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [18] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [19] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [20] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [21] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [22] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [23] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [24] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [25] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [26] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[151],
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [27] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [28] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [29] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [30] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [31] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [32] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [33] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [34] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [35] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [36] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [37] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [38] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [39] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [40] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [41] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [42] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [43] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [44] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [45] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [46] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [47] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [48] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [49] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [50] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [51] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [52] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [53] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [54] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [55] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [56] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[151],
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [57] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [58] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [59] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [60] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [61] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [62] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [63] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [64] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [65] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [66] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [67] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [68] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [69] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [70] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [71] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[151],
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [72] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [73] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [74] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [75] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[155],
},
{
/* [76] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [77] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [78] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [79] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [80] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [81] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [82] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [83] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [84] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [85] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [86] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [87] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [88] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [89] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [90] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [91] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [92] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [93] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [94] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [95] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [96] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [97] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [98] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [99] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [100] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [101] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [102] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [103] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [104] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [105] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [106] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [107] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [108] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [109] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [110] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[155],
},
{
/* [111] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[151],
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [112] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [113] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [114] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [115] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [116] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [117] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [118] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [119] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [120] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [121] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [122] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [123] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [124] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [125] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [126] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [127] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [128] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [129] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [130] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [131] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [132] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [133] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [134] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [135] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [136] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [137] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [138] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [139] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [140] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [141] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [142] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [143] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [144] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [145] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [146] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [147] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [148] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [149] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [150] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [151] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [152] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [153] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [154] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [155] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [156] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [157] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [158] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[80],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [159] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [160] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [161] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [162] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [163] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [164] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [165] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [166] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [167] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [168] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [169] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [170] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [171] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [172] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [173] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [174] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [175] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [176] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [177] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [178] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [179] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [180] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [181] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[29],
+ /* matcher indices */ &kMatcherIndices[26],
},
{
/* [182] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[153],
},
{
/* [183] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[151],
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [184] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [185] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [186] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [187] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [188] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [189] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [190] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [191] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [192] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [193] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [194] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [195] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [196] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [197] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [198] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[153],
},
{
/* [199] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [200] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [201] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [202] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [203] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [204] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [205] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [206] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [207] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[151],
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [208] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [209] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [210] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [211] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [212] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [213] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [214] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [215] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [216] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [217] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [218] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [219] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [220] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [221] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [222] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [223] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [224] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [225] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [226] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[155],
},
{
/* [227] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [228] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [229] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [230] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [231] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [232] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [233] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [234] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [235] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [236] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [237] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [238] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[103],
},
{
/* [239] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [240] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [241] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [242] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [243] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [244] */
@@ -2746,7 +2760,7 @@
{
/* [246] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [247] */
@@ -2766,242 +2780,242 @@
{
/* [250] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [251] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [252] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [253] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [254] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [255] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [256] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [257] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [258] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [259] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[14],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [260] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [261] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[29],
+ /* matcher indices */ &kMatcherIndices[26],
},
{
/* [262] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[104],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [263] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [264] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[29],
+ /* matcher indices */ &kMatcherIndices[26],
},
{
/* [265] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[92],
+ /* matcher indices */ &kMatcherIndices[94],
},
{
/* [266] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [267] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [268] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [269] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [270] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [271] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[83],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [272] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [273] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [274] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [275] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [276] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [277] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [278] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [279] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [280] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [281] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [282] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [283] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[73],
+ /* matcher indices */ &kMatcherIndices[79],
},
{
/* [284] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [285] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [286] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* matcher indices */ &kMatcherIndices[127],
},
{
/* [287] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [288] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [289] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [290] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [291] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [292] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[137],
},
{
/* [293] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [294] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [295] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[139],
},
{
/* [296] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [297] */
/* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [298] */
@@ -3036,92 +3050,92 @@
{
/* [304] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [305] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [306] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [307] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [308] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [309] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [310] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [311] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [312] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [313] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[64],
+ /* matcher indices */ &kMatcherIndices[67],
},
{
/* [314] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [315] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [316] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[153],
},
{
/* [317] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [318] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [319] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [320] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [321] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [322] */
@@ -3131,152 +3145,152 @@
{
/* [323] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [324] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [325] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [326] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [327] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [328] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
+ /* matcher indices */ &kMatcherIndices[149],
},
{
/* [329] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[151],
},
{
/* [330] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [331] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[37],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [332] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [333] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [334] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [335] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [336] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [337] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [338] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [339] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [340] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[107],
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [341] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [342] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[29],
+ /* matcher indices */ &kMatcherIndices[26],
},
{
/* [343] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [344] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [345] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [346] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[98],
+ /* matcher indices */ &kMatcherIndices[100],
},
{
/* [347] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [348] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [349] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [350] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [351] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [352] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[77],
+ /* matcher indices */ &kMatcherIndices[20],
},
{
/* [353] */
@@ -3311,42 +3325,42 @@
{
/* [359] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [360] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [361] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [362] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [363] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [364] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [365] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [366] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [367] */
@@ -3361,17 +3375,17 @@
{
/* [369] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [370] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [371] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [372] */
@@ -3381,7 +3395,7 @@
{
/* [373] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [374] */
@@ -3391,7 +3405,7 @@
{
/* [375] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [376] */
@@ -3401,142 +3415,142 @@
{
/* [377] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [378] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[86],
+ /* matcher indices */ &kMatcherIndices[16],
},
{
/* [379] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [380] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [381] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [382] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [383] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [384] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [385] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [386] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [387] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [388] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [389] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [390] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [391] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [392] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [393] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[70],
+ /* matcher indices */ &kMatcherIndices[73],
},
{
/* [394] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [395] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[67],
+ /* matcher indices */ &kMatcherIndices[70],
},
{
/* [396] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [397] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[61],
+ /* matcher indices */ &kMatcherIndices[64],
},
{
/* [398] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [399] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [400] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [401] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [402] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [403] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[27],
+ /* matcher indices */ &kMatcherIndices[31],
},
{
/* [404] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [405] */
@@ -3546,7 +3560,7 @@
{
/* [406] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [407] */
@@ -3556,7 +3570,7 @@
{
/* [408] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [409] */
@@ -3566,367 +3580,367 @@
{
/* [410] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [411] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[45],
+ /* matcher indices */ &kMatcherIndices[46],
},
{
/* [412] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [413] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[155],
},
{
/* [414] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [415] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[153],
},
{
/* [416] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [417] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [418] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [419] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [420] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [421] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[139],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [422] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [423] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [424] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [425] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[137],
},
{
/* [426] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [427] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[41],
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [428] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [429] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [430] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[40],
+ /* matcher indices */ &kMatcherIndices[25],
},
{
/* [431] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [432] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [433] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [434] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* matcher indices */ &kMatcherIndices[127],
},
{
/* [435] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[137],
},
{
/* [436] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[28],
+ /* matcher indices */ &kMatcherIndices[50],
},
{
/* [437] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [438] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[28],
+ /* matcher indices */ &kMatcherIndices[50],
},
{
/* [439] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[139],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [440] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[28],
+ /* matcher indices */ &kMatcherIndices[50],
},
{
/* [441] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[139],
},
{
/* [442] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [443] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[28],
+ /* matcher indices */ &kMatcherIndices[50],
},
{
/* [444] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [445] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[28],
+ /* matcher indices */ &kMatcherIndices[50],
},
{
/* [446] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[153],
},
{
/* [447] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [448] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[155],
},
{
/* [449] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [450] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[34],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [451] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[31],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [452] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[61],
},
{
/* [453] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[18],
+ /* matcher indices */ &kMatcherIndices[76],
},
{
/* [454] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [455] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [456] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[139],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [457] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [458] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[155],
},
{
/* [459] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[61],
},
{
/* [460] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [461] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [462] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[137],
},
{
/* [463] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [464] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[139],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [465] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [466] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [467] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[153],
},
{
/* [468] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[155],
},
{
/* [469] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[139],
},
{
/* [470] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [471] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [472] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [473] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [474] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [475] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [476] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [477] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [478] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [479] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [480] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [481] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [482] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [483] */
@@ -3941,247 +3955,247 @@
{
/* [485] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[29],
+ /* matcher indices */ &kMatcherIndices[26],
},
{
/* [486] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[29],
+ /* matcher indices */ &kMatcherIndices[26],
},
{
/* [487] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [488] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [489] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [490] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [491] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [492] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [493] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [494] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [495] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [496] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [497] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [498] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [499] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [500] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [501] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [502] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [503] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [504] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [505] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [506] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [507] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [508] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [509] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [510] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [511] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [512] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [513] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [514] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [515] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [516] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [517] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [518] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [519] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [520] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [521] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [522] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [523] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [524] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [525] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [526] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [527] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [528] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [529] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [530] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [531] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [532] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [533] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [534] */
@@ -4196,77 +4210,77 @@
{
/* [536] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [537] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [538] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [539] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [540] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [541] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [542] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [543] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [544] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [545] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [546] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
/* [547] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [548] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [549] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [550] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [551] */
@@ -4306,24 +4320,29 @@
constexpr OpenNumberInfo kOpenNumbers[] = {
{
/* [0] */
- /* name */ "F",
- /* matcher index */ kNoMatcher,
- },
- {
- /* [1] */
- /* name */ "A",
- /* matcher index */ 5,
- },
- {
- /* [2] */
/* name */ "N",
/* matcher index */ kNoMatcher,
},
{
- /* [3] */
+ /* [1] */
/* name */ "S",
/* matcher index */ kNoMatcher,
},
+ {
+ /* [2] */
+ /* name */ "A",
+ /* matcher index */ kNoMatcher,
+ },
+ {
+ /* [3] */
+ /* name */ "F",
+ /* matcher index */ kNoMatcher,
+ },
+ {
+ /* [4] */
+ /* name */ "A",
+ /* matcher index */ 6,
+ },
};
constexpr OverloadInfo kOverloads[] = {
@@ -4333,9 +4352,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[434],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4344,9 +4363,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[432],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4355,9 +4374,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[379],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4366,9 +4385,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[433],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4377,9 +4396,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[429],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4388,9 +4407,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[435],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4399,9 +4418,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[425],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4410,9 +4429,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[437],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4421,9 +4440,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[423],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4432,9 +4451,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[439],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4443,9 +4462,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[421],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4454,9 +4473,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[441],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4465,9 +4484,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[442],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4476,9 +4495,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[419],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4487,9 +4506,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[444],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4498,9 +4517,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[417],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4509,9 +4528,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[446],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4520,9 +4539,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[415],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4531,9 +4550,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[448],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4542,9 +4561,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[413],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4553,9 +4572,9 @@
/* num open types */ 0,
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[0],
+ /* open numbers */ &kOpenNumbers[3],
/* parameters */ &kParameters[450],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4564,9 +4583,9 @@
/* num open types */ 0,
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[0],
+ /* open numbers */ &kOpenNumbers[3],
/* parameters */ &kParameters[451],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4575,9 +4594,9 @@
/* num open types */ 0,
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[0],
+ /* open numbers */ &kOpenNumbers[3],
/* parameters */ &kParameters[452],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4586,9 +4605,9 @@
/* num open types */ 0,
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[0],
+ /* open numbers */ &kOpenNumbers[3],
/* parameters */ &kParameters[453],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* return matcher indices */ &kMatcherIndices[119],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4597,9 +4616,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[454],
- /* return matcher indices */ &kMatcherIndices[113],
+ /* return matcher indices */ &kMatcherIndices[117],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4608,9 +4627,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[286],
- /* return matcher indices */ &kMatcherIndices[47],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4619,9 +4638,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[289],
- /* return matcher indices */ &kMatcherIndices[47],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4630,9 +4649,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[150],
- /* return matcher indices */ &kMatcherIndices[47],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4641,9 +4660,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[292],
- /* return matcher indices */ &kMatcherIndices[47],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4652,9 +4671,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[295],
- /* return matcher indices */ &kMatcherIndices[47],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4663,9 +4682,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[304],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4674,9 +4693,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[194],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4685,9 +4704,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[393],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4696,9 +4715,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[395],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4707,9 +4726,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[313],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4718,9 +4737,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[397],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4729,9 +4748,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[405],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4740,9 +4759,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[407],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4751,9 +4770,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[322],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4762,9 +4781,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[409],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4773,9 +4792,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[411],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4784,9 +4803,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[427],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4795,9 +4814,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[331],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4806,9 +4825,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[403],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4817,9 +4836,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[369],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -4828,9 +4847,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[328],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4839,9 +4858,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[319],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4850,9 +4869,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[234],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4861,9 +4880,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[214],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4872,9 +4891,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[60],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4883,9 +4902,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[307],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4894,9 +4913,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[170],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4905,9 +4924,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[277],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4916,9 +4935,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[154],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4927,9 +4946,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[274],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4938,9 +4957,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[166],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4949,9 +4968,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[190],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4960,9 +4979,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[85],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4971,9 +4990,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[316],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4982,9 +5001,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[226],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -4993,9 +5012,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[325],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5004,9 +5023,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[174],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5015,9 +5034,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[100],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5026,9 +5045,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[90],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5037,9 +5056,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[43],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5048,9 +5067,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[218],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5059,9 +5078,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[135],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5070,9 +5089,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[202],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5081,9 +5100,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[95],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5092,9 +5111,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[222],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5103,9 +5122,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[125],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5114,9 +5133,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[65],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5125,9 +5144,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[37],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5136,9 +5155,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[198],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5147,9 +5166,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[75],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5158,9 +5177,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[256],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5169,7 +5188,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[340],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5180,7 +5199,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[259],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5191,7 +5210,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[178],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5202,7 +5221,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[262],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5213,7 +5232,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[238],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5224,7 +5243,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[346],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5235,7 +5254,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[162],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5246,7 +5265,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[265],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5257,7 +5276,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[268],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5268,7 +5287,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[271],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5279,7 +5298,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[158],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5290,7 +5309,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[283],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5301,9 +5320,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[431],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5312,9 +5331,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[461],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5323,9 +5342,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[462],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5334,9 +5353,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[463],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5345,9 +5364,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[464],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5356,9 +5375,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[465],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5367,9 +5386,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[466],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5378,9 +5397,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[467],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5389,9 +5408,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[468],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5400,9 +5419,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[230],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5411,9 +5430,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[105],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5422,9 +5441,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[130],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5433,9 +5452,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[49],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5444,9 +5463,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[210],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5455,9 +5474,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[80],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5466,9 +5485,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[186],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5477,9 +5496,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[120],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5488,9 +5507,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[115],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5499,9 +5518,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[7],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5510,9 +5529,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[19],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5521,9 +5540,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[0],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5532,9 +5551,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[145],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5543,9 +5562,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[31],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5554,9 +5573,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[140],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5565,9 +5584,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[13],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5576,9 +5595,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[206],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5587,9 +5606,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[70],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5598,9 +5617,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[55],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5609,9 +5628,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[25],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5620,9 +5639,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[182],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5631,9 +5650,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[110],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5642,9 +5661,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[455],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5653,9 +5672,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[456],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5664,9 +5683,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[457],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5675,9 +5694,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[458],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5686,9 +5705,9 @@
/* num open types */ 0,
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[0],
+ /* open numbers */ &kOpenNumbers[3],
/* parameters */ &kParameters[459],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5697,9 +5716,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[391],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5708,9 +5727,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[389],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5719,9 +5738,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[537],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5730,9 +5749,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[536],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5741,7 +5760,7 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[535],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5752,7 +5771,7 @@
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[534],
/* return matcher indices */ &kMatcherIndices[2],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5763,9 +5782,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[539],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5774,9 +5793,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[538],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5785,9 +5804,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[399],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5796,9 +5815,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[401],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5807,9 +5826,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[385],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5818,9 +5837,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[383],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5829,7 +5848,7 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[301],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5840,7 +5859,7 @@
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[298],
/* return matcher indices */ &kMatcherIndices[2],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -5851,9 +5870,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[532],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5862,9 +5881,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[531],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5873,9 +5892,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[530],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5884,9 +5903,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[529],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5895,9 +5914,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[528],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5906,9 +5925,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[527],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5917,9 +5936,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[526],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5928,9 +5947,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[525],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5939,9 +5958,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[524],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5950,9 +5969,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[523],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5961,9 +5980,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[522],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5972,9 +5991,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[521],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
},
{
@@ -5983,9 +6002,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[520],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -5994,9 +6013,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[519],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6005,9 +6024,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[518],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6016,9 +6035,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[517],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6027,9 +6046,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[253],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6038,9 +6057,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[250],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6049,9 +6068,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[516],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6060,9 +6079,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[515],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6071,9 +6090,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[280],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6082,9 +6101,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[241],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6093,9 +6112,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[514],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6104,31 +6123,31 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[513],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
/* [162] */
/* num parameters */ 2,
/* num open types */ 1,
- /* num open numbers */ 1,
+ /* num open numbers */ 2,
/* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[3],
+ /* open numbers */ &kOpenNumbers[1],
/* parameters */ &kParameters[377],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
/* [163] */
/* num parameters */ 2,
/* num open types */ 1,
- /* num open numbers */ 2,
+ /* num open numbers */ 3,
/* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[375],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6137,9 +6156,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[512],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6148,9 +6167,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[511],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6159,9 +6178,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[510],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6170,9 +6189,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[509],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6181,9 +6200,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[508],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6192,9 +6211,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[507],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6203,9 +6222,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[506],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6214,9 +6233,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[505],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6225,7 +6244,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[504],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6236,9 +6255,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[503],
- /* return matcher indices */ &kMatcherIndices[24],
+ /* return matcher indices */ &kMatcherIndices[28],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6247,7 +6266,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[502],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6258,9 +6277,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[501],
- /* return matcher indices */ &kMatcherIndices[24],
+ /* return matcher indices */ &kMatcherIndices[28],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6269,7 +6288,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[500],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6280,9 +6299,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[499],
- /* return matcher indices */ &kMatcherIndices[24],
+ /* return matcher indices */ &kMatcherIndices[28],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6291,7 +6310,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[498],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6302,9 +6321,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[497],
- /* return matcher indices */ &kMatcherIndices[24],
+ /* return matcher indices */ &kMatcherIndices[28],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6313,9 +6332,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[373],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6324,9 +6343,9 @@
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[371],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6335,9 +6354,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[496],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6346,9 +6365,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[495],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6357,9 +6376,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[494],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6368,9 +6387,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[493],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6379,9 +6398,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[492],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6390,9 +6409,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[491],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6401,9 +6420,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[541],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6412,9 +6431,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[540],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6423,7 +6442,7 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[355],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6434,7 +6453,7 @@
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[353],
/* return matcher indices */ &kMatcherIndices[2],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6445,9 +6464,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[334],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6456,31 +6475,31 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[337],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
/* [194] */
/* num parameters */ 2,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
+ /* open numbers */ &kOpenNumbers[1],
/* parameters */ &kParameters[351],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
/* [195] */
/* num parameters */ 2,
/* num open types */ 0,
- /* num open numbers */ 2,
+ /* num open numbers */ 3,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[349],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6489,9 +6508,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[543],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6500,9 +6519,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[542],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6511,9 +6530,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[474],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6522,9 +6541,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[473],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6533,9 +6552,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[545],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6544,9 +6563,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[544],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6555,9 +6574,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[449],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6566,9 +6585,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[447],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6577,9 +6596,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[470],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6588,9 +6607,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[460],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6599,9 +6618,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[472],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6610,9 +6629,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[471],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6621,9 +6640,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[359],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6632,9 +6651,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[361],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6643,9 +6662,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[363],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6654,9 +6673,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[365],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6665,9 +6684,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[550],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6676,9 +6695,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[549],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6687,9 +6706,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[482],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6698,9 +6717,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[481],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6709,7 +6728,7 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[247],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6720,7 +6739,7 @@
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[244],
/* return matcher indices */ &kMatcherIndices[2],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6731,9 +6750,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[480],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6742,9 +6761,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[479],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6753,9 +6772,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[478],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6764,9 +6783,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[477],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6775,9 +6794,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[476],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6786,9 +6805,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[475],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6797,9 +6816,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[310],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6808,9 +6827,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[343],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6819,7 +6838,7 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[484],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6830,7 +6849,7 @@
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[483],
/* return matcher indices */ &kMatcherIndices[2],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6841,7 +6860,7 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[367],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6852,7 +6871,7 @@
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[357],
/* return matcher indices */ &kMatcherIndices[2],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6863,7 +6882,7 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[552],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6874,7 +6893,7 @@
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[551],
/* return matcher indices */ &kMatcherIndices[2],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -6885,9 +6904,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[488],
- /* return matcher indices */ &kMatcherIndices[28],
+ /* return matcher indices */ &kMatcherIndices[50],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6896,9 +6915,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[486],
- /* return matcher indices */ &kMatcherIndices[28],
+ /* return matcher indices */ &kMatcherIndices[50],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6907,9 +6926,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[487],
- /* return matcher indices */ &kMatcherIndices[28],
+ /* return matcher indices */ &kMatcherIndices[50],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6918,9 +6937,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[445],
- /* return matcher indices */ &kMatcherIndices[115],
+ /* return matcher indices */ &kMatcherIndices[121],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6929,9 +6948,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[443],
- /* return matcher indices */ &kMatcherIndices[115],
+ /* return matcher indices */ &kMatcherIndices[121],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6940,9 +6959,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[440],
- /* return matcher indices */ &kMatcherIndices[115],
+ /* return matcher indices */ &kMatcherIndices[121],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6951,9 +6970,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[438],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6962,9 +6981,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[436],
- /* return matcher indices */ &kMatcherIndices[29],
+ /* return matcher indices */ &kMatcherIndices[26],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6973,7 +6992,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[553],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
@@ -6984,9 +7003,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[485],
- /* return matcher indices */ &kMatcherIndices[28],
+ /* return matcher indices */ &kMatcherIndices[50],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -6995,9 +7014,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[489],
- /* return matcher indices */ &kMatcherIndices[28],
+ /* return matcher indices */ &kMatcherIndices[50],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -7006,9 +7025,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[490],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* return matcher indices */ &kMatcherIndices[8],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -7017,9 +7036,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[469],
- /* return matcher indices */ &kMatcherIndices[40],
+ /* return matcher indices */ &kMatcherIndices[25],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -7028,9 +7047,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[381],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -7039,9 +7058,9 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[533],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -7050,9 +7069,9 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[387],
- /* return matcher indices */ &kMatcherIndices[16],
+ /* return matcher indices */ &kMatcherIndices[115],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -7061,9 +7080,9 @@
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[546],
- /* return matcher indices */ &kMatcherIndices[28],
+ /* return matcher indices */ &kMatcherIndices[50],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
},
{
@@ -7072,7 +7091,7 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[547],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -7083,7 +7102,7 @@
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
+ /* open numbers */ &kOpenNumbers[0],
/* parameters */ &kParameters[548],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
@@ -7094,7 +7113,7 @@
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
+ /* open numbers */ &kOpenNumbers[5],
/* parameters */ &kParameters[553],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
@@ -7301,8 +7320,8 @@
},
{
/* [29] */
- /* fn frexp<T : iu32, S : storage_class>(f32, ptr<S, T>) -> f32 */
- /* fn frexp<N : num, T : iu32, S : storage_class>(vec<N, f32>, ptr<S, vec<N, T>>) -> vec<N, f32> */
+ /* fn frexp<T : iu32, S : storage_class, A : access>(f32, ptr<S, T, A>) -> f32 */
+ /* fn frexp<N : num, T : iu32, S : storage_class, A : access>(vec<N, f32>, ptr<S, vec<N, T>, A>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[162],
},
@@ -7413,8 +7432,8 @@
},
{
/* [45] */
- /* fn modf<S : storage_class>(f32, ptr<S, f32>) -> f32 */
- /* fn modf<N : num, S : storage_class>(vec<N, f32>, ptr<S, vec<N, f32>>) -> vec<N, f32> */
+ /* fn modf<S : storage_class, A : access>(f32, ptr<S, f32, A>) -> f32 */
+ /* fn modf<N : num, S : storage_class, A : access>(vec<N, f32>, ptr<S, vec<N, f32>, A>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[194],
},
diff --git a/src/intrinsic_table_test.cc b/src/intrinsic_table_test.cc
index f6b9949..829c415 100644
--- a/src/intrinsic_table_test.cc
+++ b/src/intrinsic_table_test.cc
@@ -196,7 +196,8 @@
TEST_F(IntrinsicTableTest, MatchPointer) {
auto* f32 = create<sem::F32>();
- auto* ptr = create<sem::Pointer>(f32, ast::StorageClass::kNone);
+ auto* ptr = create<sem::Pointer>(f32, ast::StorageClass::kFunction,
+ ast::Access::kReadWrite);
auto* result = table->Lookup(IntrinsicType::kModf, {f32, ptr}, Source{});
ASSERT_NE(result, nullptr) << Diagnostics().str();
ASSERT_EQ(Diagnostics().str(), "");
@@ -386,9 +387,11 @@
TEST_F(IntrinsicTableTest, ImplicitLoadOnReference) {
auto* f32 = create<sem::F32>();
- auto* result = table->Lookup(
- IntrinsicType::kCos,
- {create<sem::Reference>(f32, ast::StorageClass::kNone)}, Source{});
+ auto* result =
+ table->Lookup(IntrinsicType::kCos,
+ {create<sem::Reference>(f32, ast::StorageClass::kFunction,
+ ast::Access::kReadWrite)},
+ Source{});
ASSERT_NE(result, nullptr) << Diagnostics().str();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_THAT(result->Type(), IntrinsicType::kCos);
diff --git a/src/intrinsics.def b/src/intrinsics.def
index 955b33f..04089a9 100644
--- a/src/intrinsics.def
+++ b/src/intrinsics.def
@@ -74,7 +74,7 @@
type vec4<T>
[[display("vec{N}<{T}>")]] type vec<N: num, T>
[[display("mat{N}x{M}<{T}>")]] type mat<N: num, M: num, T>
-[[display("ptr<{T}>")]] type ptr<S: storage_class, T> // TODO(crbug.com/tint/846): Add access control
+[[display("ptr<{T}>")]] type ptr<S: storage_class, T, A: access>
type array<T>
type sampler
type sampler_comparison
@@ -305,8 +305,8 @@
fn fma<N: num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32>
fn fract(f32) -> f32
fn fract<N: num>(vec<N, f32>) -> vec<N, f32>
-fn frexp<T: iu32, S: storage_class>(f32, ptr<S, T>) -> f32
-fn frexp<N: num, T: iu32, S: storage_class>(vec<N, f32>, ptr<S, vec<N, T>>) -> vec<N, f32>
+fn frexp<T: iu32, S: storage_class, A: access>(f32, ptr<S, T, A>) -> f32
+fn frexp<N: num, T: iu32, S: storage_class, A: access>(vec<N, f32>, ptr<S, vec<N, T>, A>) -> vec<N, f32>
fn fwidth(f32) -> f32
fn fwidth<N: num>(vec<N, f32>) -> vec<N, f32>
fn fwidthCoarse(f32) -> f32
@@ -337,8 +337,8 @@
fn min<N: num, T: fiu32>(vec<N, T>, vec<N, T>) -> vec<N, T>
fn mix(f32, f32, f32) -> f32
fn mix<N: num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32>
-fn modf<S: storage_class>(f32, ptr<S, f32>) -> f32
-fn modf<N: num, S: storage_class>(vec<N, f32>, ptr<S, vec<N, f32>>) -> vec<N, f32>
+fn modf<S: storage_class, A: access>(f32, ptr<S, f32, A>) -> f32
+fn modf<N: num, S: storage_class, A: access>(vec<N, f32>, ptr<S, vec<N, f32>, A>) -> vec<N, f32>
fn normalize<N: num>(vec<N, f32>) -> vec<N, f32>
fn pack2x16float(vec2<f32>) -> u32
fn pack2x16snorm(vec2<f32>) -> u32
diff --git a/src/program_builder.h b/src/program_builder.h
index 371ab4d..55995b5 100644
--- a/src/program_builder.h
+++ b/src/program_builder.h
@@ -712,29 +712,35 @@
/// @param type the type of the pointer
/// @param storage_class the storage class of the pointer
+ /// @param access the optional access control of the pointer
/// @return the pointer to `type` with the given ast::StorageClass
ast::Pointer* pointer(ast::Type* type,
- ast::StorageClass storage_class) const {
+ ast::StorageClass storage_class,
+ ast::Access access = ast::Access::kUndefined) const {
type = MaybeCreateTypename(type);
- return builder->create<ast::Pointer>(type, storage_class);
+ return builder->create<ast::Pointer>(type, storage_class, access);
}
/// @param source the Source of the node
/// @param type the type of the pointer
/// @param storage_class the storage class of the pointer
+ /// @param access the optional access control of the pointer
/// @return the pointer to `type` with the given ast::StorageClass
ast::Pointer* pointer(const Source& source,
ast::Type* type,
- ast::StorageClass storage_class) const {
+ ast::StorageClass storage_class,
+ ast::Access access = ast::Access::kUndefined) const {
type = MaybeCreateTypename(type);
- return builder->create<ast::Pointer>(source, type, storage_class);
+ return builder->create<ast::Pointer>(source, type, storage_class, access);
}
/// @param storage_class the storage class of the pointer
+ /// @param access the optional access control of the pointer
/// @return the pointer to type `T` with the given ast::StorageClass.
template <typename T>
- ast::Pointer* pointer(ast::StorageClass storage_class) const {
- return pointer(Of<T>(), storage_class);
+ ast::Pointer* pointer(ast::StorageClass storage_class,
+ ast::Access access = ast::Access::kUndefined) const {
+ return pointer(Of<T>(), storage_class, access);
}
/// @param kind the kind of sampler
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index a45fe37..6d625fd 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -971,7 +971,7 @@
if (ident.value == kReadWriteAccess)
return {ast::Access::kReadWrite, ident.source};
- return add_error(ident.source, "invalid value for access decoration");
+ return add_error(ident.source, "invalid value for access control");
}
// variable_qualifier
@@ -1045,7 +1045,7 @@
// | VEC2 LESS_THAN type_decl GREATER_THAN
// | VEC3 LESS_THAN type_decl GREATER_THAN
// | VEC4 LESS_THAN type_decl GREATER_THAN
-// | PTR LESS_THAN storage_class, type_decl GREATER_THAN
+// | PTR LESS_THAN storage_class, type_decl (COMMA access_mode)? GREATER_THAN
// | array_decoration_list* ARRAY LESS_THAN type_decl COMMA
// INT_LITERAL GREATER_THAN
// | array_decoration_list* ARRAY LESS_THAN type_decl
@@ -1142,20 +1142,32 @@
Expect<ast::Type*> ParserImpl::expect_type_decl_pointer(Token t) {
const char* use = "ptr declaration";
- ast::StorageClass storage_class = ast::StorageClass::kNone;
+ auto storage_class = ast::StorageClass::kNone;
+ auto access = ast::Access::kUndefined;
auto subtype = expect_lt_gt_block(use, [&]() -> Expect<ast::Type*> {
auto sc = expect_storage_class(use);
- if (sc.errored)
+ if (sc.errored) {
return Failure::kErrored;
+ }
storage_class = sc.value;
- if (!expect(use, Token::Type::kComma))
+ if (!expect(use, Token::Type::kComma)) {
return Failure::kErrored;
+ }
auto type = expect_type(use);
- if (type.errored)
+ if (type.errored) {
return Failure::kErrored;
+ }
+
+ if (match(Token::Type::kComma)) {
+ auto ac = expect_access("access control");
+ if (ac.errored) {
+ return Failure::kErrored;
+ }
+ access = ac.value;
+ }
return type.value;
});
@@ -1165,7 +1177,7 @@
}
return builder_.ty.pointer(make_source_range_from(t.source()), subtype.value,
- storage_class);
+ storage_class, access);
}
Expect<ast::Type*> ParserImpl::expect_type_decl_vector(Token t) {
diff --git a/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc b/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc
index 76a0528..b36169a 100644
--- a/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc
+++ b/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc
@@ -314,7 +314,7 @@
EXPECT_EQ(t.value, nullptr);
EXPECT_FALSE(t.matched);
EXPECT_TRUE(t.errored);
- EXPECT_EQ(p->error(), "1:30: invalid value for access decoration");
+ EXPECT_EQ(p->error(), "1:30: invalid value for access control");
}
TEST_F(ParserImplTest, TextureSamplerTypes_StorageTexture_MissingType) {
diff --git a/src/reader/wgsl/parser_impl_type_decl_test.cc b/src/reader/wgsl/parser_impl_type_decl_test.cc
index 295106f..fa44edf 100644
--- a/src/reader/wgsl/parser_impl_type_decl_test.cc
+++ b/src/reader/wgsl/parser_impl_type_decl_test.cc
@@ -223,6 +223,22 @@
EXPECT_EQ(t.value->source().range, (Source::Range{{1u, 1u}, {1u, 19u}}));
}
+TEST_F(ParserImplTest, TypeDecl_Ptr_WithAccess) {
+ auto p = parser("ptr<function, f32, read>");
+ auto t = p->type_decl();
+ EXPECT_TRUE(t.matched);
+ EXPECT_FALSE(t.errored);
+ ASSERT_NE(t.value, nullptr) << p->error();
+ ASSERT_FALSE(p->has_error());
+ ASSERT_TRUE(t.value->Is<ast::Pointer>());
+
+ auto* ptr = t.value->As<ast::Pointer>();
+ ASSERT_TRUE(ptr->type()->Is<ast::F32>());
+ ASSERT_EQ(ptr->storage_class(), ast::StorageClass::kFunction);
+ ASSERT_EQ(ptr->access(), ast::Access::kRead);
+ EXPECT_EQ(t.value->source().range, (Source::Range{{1u, 1u}, {1u, 25u}}));
+}
+
TEST_F(ParserImplTest, TypeDecl_Ptr_ToVec) {
auto p = parser("ptr<function, vec2<f32>>");
auto t = p->type_decl();
@@ -252,7 +268,7 @@
ASSERT_EQ(p->error(), "1:5: expected '<' for ptr declaration");
}
-TEST_F(ParserImplTest, TypeDecl_Ptr_MissingGreaterThan) {
+TEST_F(ParserImplTest, TypeDecl_Ptr_MissingGreaterThanAfterType) {
auto p = parser("ptr<function, f32");
auto t = p->type_decl();
EXPECT_TRUE(t.errored);
@@ -262,7 +278,17 @@
ASSERT_EQ(p->error(), "1:18: expected '>' for ptr declaration");
}
-TEST_F(ParserImplTest, TypeDecl_Ptr_MissingComma) {
+TEST_F(ParserImplTest, TypeDecl_Ptr_MissingGreaterThanAfterAccess) {
+ auto p = parser("ptr<function, f32, read");
+ auto t = p->type_decl();
+ EXPECT_TRUE(t.errored);
+ EXPECT_FALSE(t.matched);
+ ASSERT_EQ(t.value, nullptr);
+ ASSERT_TRUE(p->has_error());
+ ASSERT_EQ(p->error(), "1:24: expected '>' for ptr declaration");
+}
+
+TEST_F(ParserImplTest, TypeDecl_Ptr_MissingCommaAfterStorageClass) {
auto p = parser("ptr<function f32>");
auto t = p->type_decl();
EXPECT_TRUE(t.errored);
@@ -272,18 +298,18 @@
ASSERT_EQ(p->error(), "1:14: expected ',' for ptr declaration");
}
-TEST_F(ParserImplTest, TypeDecl_Ptr_MissingStorageClass) {
- auto p = parser("ptr<, f32>");
+TEST_F(ParserImplTest, TypeDecl_Ptr_MissingCommaAfterAccess) {
+ auto p = parser("ptr<function, f32 read>");
auto t = p->type_decl();
EXPECT_TRUE(t.errored);
EXPECT_FALSE(t.matched);
ASSERT_EQ(t.value, nullptr);
ASSERT_TRUE(p->has_error());
- ASSERT_EQ(p->error(), "1:5: invalid storage class for ptr declaration");
+ ASSERT_EQ(p->error(), "1:19: expected '>' for ptr declaration");
}
-TEST_F(ParserImplTest, TypeDecl_Ptr_MissingParams) {
- auto p = parser("ptr<>");
+TEST_F(ParserImplTest, TypeDecl_Ptr_MissingStorageClass) {
+ auto p = parser("ptr<, f32>");
auto t = p->type_decl();
EXPECT_TRUE(t.errored);
EXPECT_FALSE(t.matched);
@@ -302,6 +328,26 @@
ASSERT_EQ(p->error(), "1:14: invalid type for ptr declaration");
}
+TEST_F(ParserImplTest, TypeDecl_Ptr_MissingAccess) {
+ auto p = parser("ptr<function, i32, >");
+ auto t = p->type_decl();
+ EXPECT_TRUE(t.errored);
+ EXPECT_FALSE(t.matched);
+ ASSERT_EQ(t.value, nullptr);
+ ASSERT_TRUE(p->has_error());
+ ASSERT_EQ(p->error(), "1:20: expected identifier for access control");
+}
+
+TEST_F(ParserImplTest, TypeDecl_Ptr_MissingParams) {
+ auto p = parser("ptr<>");
+ auto t = p->type_decl();
+ EXPECT_TRUE(t.errored);
+ EXPECT_FALSE(t.matched);
+ ASSERT_EQ(t.value, nullptr);
+ ASSERT_TRUE(p->has_error());
+ ASSERT_EQ(p->error(), "1:5: invalid storage class for ptr declaration");
+}
+
TEST_F(ParserImplTest, TypeDecl_Ptr_BadStorageClass) {
auto p = parser("ptr<unknown, f32>");
auto t = p->type_decl();
@@ -322,6 +368,16 @@
ASSERT_EQ(p->error(), "1:15: unknown constructed type 'unknown'");
}
+TEST_F(ParserImplTest, TypeDecl_Ptr_BadAccess) {
+ auto p = parser("ptr<function, i32, unknown>");
+ auto t = p->type_decl();
+ EXPECT_TRUE(t.errored);
+ EXPECT_FALSE(t.matched);
+ ASSERT_EQ(t.value, nullptr);
+ ASSERT_TRUE(p->has_error());
+ ASSERT_EQ(p->error(), "1:20: invalid value for access control");
+}
+
TEST_F(ParserImplTest, TypeDecl_Array) {
auto p = parser("array<f32, 5>");
auto t = p->type_decl();
diff --git a/src/reader/wgsl/parser_impl_variable_ident_decl_test.cc b/src/reader/wgsl/parser_impl_variable_ident_decl_test.cc
index 59b8b83..541df21 100644
--- a/src/reader/wgsl/parser_impl_variable_ident_decl_test.cc
+++ b/src/reader/wgsl/parser_impl_variable_ident_decl_test.cc
@@ -234,7 +234,7 @@
auto decl = p->expect_variable_ident_decl("test");
ASSERT_TRUE(p->has_error());
ASSERT_TRUE(decl.errored);
- ASSERT_EQ(p->error(), "1:19: invalid value for access decoration");
+ ASSERT_EQ(p->error(), "1:19: invalid value for access control");
}
// TODO(crbug.com/tint/846): Remove
diff --git a/src/resolver/intrinsic_test.cc b/src/resolver/intrinsic_test.cc
index 39d1b18..35d1bf0 100644
--- a/src/resolver/intrinsic_test.cc
+++ b/src/resolver/intrinsic_test.cc
@@ -849,12 +849,14 @@
EXPECT_FALSE(r()->Resolve());
- EXPECT_EQ(r()->error(),
- "error: no matching call to frexp(i32, ptr<workgroup, i32>)\n\n"
- "2 candidate functions:\n"
- " frexp(f32, ptr<T>) -> f32 where: T is i32 or u32\n"
- " frexp(vecN<f32>, ptr<vecN<T>>) -> vecN<f32> "
- "where: T is i32 or u32\n");
+ EXPECT_EQ(
+ r()->error(),
+ R"(error: no matching call to frexp(i32, ptr<workgroup, i32, read_write>)
+
+2 candidate functions:
+ frexp(f32, ptr<T>) -> f32 where: T is i32 or u32
+ frexp(vecN<f32>, ptr<vecN<T>>) -> vecN<f32> where: T is i32 or u32
+)");
}
TEST_F(ResolverIntrinsicDataTest, Frexp_Error_SecondParamFloatPtr) {
@@ -864,12 +866,14 @@
EXPECT_FALSE(r()->Resolve());
- EXPECT_EQ(r()->error(),
- "error: no matching call to frexp(f32, ptr<workgroup, f32>)\n\n"
- "2 candidate functions:\n"
- " frexp(f32, ptr<T>) -> f32 where: T is i32 or u32\n"
- " frexp(vecN<f32>, ptr<vecN<T>>) -> vecN<f32> "
- "where: T is i32 or u32\n");
+ EXPECT_EQ(
+ r()->error(),
+ R"(error: no matching call to frexp(f32, ptr<workgroup, f32, read_write>)
+
+2 candidate functions:
+ frexp(f32, ptr<T>) -> f32 where: T is i32 or u32
+ frexp(vecN<f32>, ptr<vecN<T>>) -> vecN<f32> where: T is i32 or u32
+)");
}
TEST_F(ResolverIntrinsicDataTest, Frexp_Error_SecondParamNotAPointer) {
@@ -895,7 +899,7 @@
EXPECT_EQ(
r()->error(),
- R"(error: no matching call to frexp(vec2<f32>, ptr<workgroup, vec4<i32>>)
+ R"(error: no matching call to frexp(vec2<f32>, ptr<workgroup, vec4<i32>, read_write>)
2 candidate functions:
frexp(f32, ptr<T>) -> f32 where: T is i32 or u32
@@ -933,11 +937,14 @@
EXPECT_FALSE(r()->Resolve());
- EXPECT_EQ(r()->error(),
- "error: no matching call to modf(i32, ptr<workgroup, f32>)\n\n"
- "2 candidate functions:\n"
- " modf(f32, ptr<f32>) -> f32\n"
- " modf(vecN<f32>, ptr<vecN<f32>>) -> vecN<f32>\n");
+ EXPECT_EQ(
+ r()->error(),
+ R"(error: no matching call to modf(i32, ptr<workgroup, f32, read_write>)
+
+2 candidate functions:
+ modf(f32, ptr<f32>) -> f32
+ modf(vecN<f32>, ptr<vecN<f32>>) -> vecN<f32>
+)");
}
TEST_F(ResolverIntrinsicDataTest, Modf_Error_SecondParamIntPtr) {
@@ -947,11 +954,14 @@
EXPECT_FALSE(r()->Resolve());
- EXPECT_EQ(r()->error(),
- "error: no matching call to modf(f32, ptr<workgroup, i32>)\n\n"
- "2 candidate functions:\n"
- " modf(f32, ptr<f32>) -> f32\n"
- " modf(vecN<f32>, ptr<vecN<f32>>) -> vecN<f32>\n");
+ EXPECT_EQ(
+ r()->error(),
+ R"(error: no matching call to modf(f32, ptr<workgroup, i32, read_write>)
+
+2 candidate functions:
+ modf(f32, ptr<f32>) -> f32
+ modf(vecN<f32>, ptr<vecN<f32>>) -> vecN<f32>
+)");
}
TEST_F(ResolverIntrinsicDataTest, Modf_Error_SecondParamNotAPointer) {
@@ -976,7 +986,7 @@
EXPECT_EQ(
r()->error(),
- R"(error: no matching call to modf(vec2<f32>, ptr<workgroup, vec4<f32>>)
+ R"(error: no matching call to modf(vec2<f32>, ptr<workgroup, vec4<f32>, read_write>)
2 candidate functions:
modf(vecN<f32>, ptr<vecN<f32>>) -> vecN<f32>
diff --git a/src/resolver/is_host_shareable_test.cc b/src/resolver/is_host_shareable_test.cc
index d3c7f17..cb8d2d8 100644
--- a/src/resolver/is_host_shareable_test.cc
+++ b/src/resolver/is_host_shareable_test.cc
@@ -87,8 +87,8 @@
}
TEST_F(ResolverIsHostShareable, Pointer) {
- auto* ptr =
- create<sem::Pointer>(create<sem::I32>(), ast::StorageClass::kPrivate);
+ auto* ptr = create<sem::Pointer>(
+ create<sem::I32>(), ast::StorageClass::kPrivate, ast::Access::kReadWrite);
EXPECT_FALSE(r()->IsHostShareable(ptr));
}
diff --git a/src/resolver/is_storeable_test.cc b/src/resolver/is_storeable_test.cc
index 084deb4..209460c 100644
--- a/src/resolver/is_storeable_test.cc
+++ b/src/resolver/is_storeable_test.cc
@@ -62,8 +62,8 @@
}
TEST_F(ResolverIsStorableTest, Pointer) {
- auto* ptr =
- create<sem::Pointer>(create<sem::I32>(), ast::StorageClass::kPrivate);
+ auto* ptr = create<sem::Pointer>(
+ create<sem::I32>(), ast::StorageClass::kPrivate, ast::Access::kReadWrite);
EXPECT_FALSE(r()->IsStorable(ptr));
}
@@ -95,7 +95,7 @@
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(
r()->error(),
- R"(error: ptr<private, i32> cannot be used as the type of a structure member)");
+ R"(error: ptr<private, i32, read_write> cannot be used as the type of a structure member)");
}
TEST_F(ResolverIsStorableTest, Struct_NestedStorable) {
@@ -126,7 +126,7 @@
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(
r()->error(),
- R"(error: ptr<private, i32> cannot be used as the type of a structure member)");
+ R"(error: ptr<private, i32, read_write> cannot be used as the type of a structure member)");
}
} // namespace
diff --git a/src/resolver/ptr_ref_test.cc b/src/resolver/ptr_ref_test.cc
index e66a0ce..5680c12 100644
--- a/src/resolver/ptr_ref_test.cc
+++ b/src/resolver/ptr_ref_test.cc
@@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#include "src/ast/struct_block_decoration.h"
#include "src/resolver/resolver.h"
#include "src/resolver/resolver_test_helper.h"
#include "src/sem/reference_type.h"
@@ -57,6 +58,111 @@
EXPECT_TRUE(TypeOf(expr)->As<sem::Reference>()->StoreType()->Is<sem::I32>());
}
+TEST_F(ResolverPtrRefTest, DefaultStorageClass) {
+ // https://gpuweb.github.io/gpuweb/wgsl/#storage-class
+
+ auto* buf = Structure("S", {Member("m", ty.i32())},
+ {create<ast::StructBlockDecoration>()});
+ auto* function = Var("f", ty.i32());
+ auto* private_ = Global("p", ty.i32(), ast::StorageClass::kPrivate);
+ auto* workgroup = Global("w", ty.i32(), ast::StorageClass::kWorkgroup);
+ auto* uniform = Global("ub", buf, ast::StorageClass::kUniform,
+ ast::DecorationList{
+ create<ast::BindingDecoration>(0),
+ create<ast::GroupDecoration>(0),
+ });
+ auto* storage = Global("sb", buf, ast::StorageClass::kStorage,
+ ast::DecorationList{
+ create<ast::BindingDecoration>(1),
+ create<ast::GroupDecoration>(0),
+ });
+ auto* handle = Global("h", ty.depth_texture(ast::TextureDimension::k2d),
+ ast::DecorationList{
+ create<ast::BindingDecoration>(2),
+ create<ast::GroupDecoration>(0),
+ });
+
+ WrapInFunction(function);
+
+ EXPECT_TRUE(r()->Resolve()) << r()->error();
+
+ ASSERT_TRUE(TypeOf(function)->Is<sem::Reference>());
+ ASSERT_TRUE(TypeOf(private_)->Is<sem::Reference>());
+ ASSERT_TRUE(TypeOf(workgroup)->Is<sem::Reference>());
+ ASSERT_TRUE(TypeOf(uniform)->Is<sem::Reference>());
+ ASSERT_TRUE(TypeOf(storage)->Is<sem::Reference>());
+ ASSERT_TRUE(TypeOf(handle)->Is<sem::Reference>());
+
+ EXPECT_EQ(TypeOf(function)->As<sem::Reference>()->Access(),
+ ast::Access::kReadWrite);
+ EXPECT_EQ(TypeOf(private_)->As<sem::Reference>()->Access(),
+ ast::Access::kReadWrite);
+ EXPECT_EQ(TypeOf(workgroup)->As<sem::Reference>()->Access(),
+ ast::Access::kReadWrite);
+ EXPECT_EQ(TypeOf(uniform)->As<sem::Reference>()->Access(),
+ ast::Access::kRead);
+ EXPECT_EQ(TypeOf(storage)->As<sem::Reference>()->Access(),
+ ast::Access::kRead);
+ EXPECT_EQ(TypeOf(handle)->As<sem::Reference>()->Access(), ast::Access::kRead);
+}
+
+TEST_F(ResolverPtrRefTest, ExplicitStorageClass) {
+ // https://gpuweb.github.io/gpuweb/wgsl/#storage-class
+
+ auto* buf = Structure("S", {Member("m", ty.i32())},
+ {create<ast::StructBlockDecoration>()});
+ auto* storage =
+ Global("sb", buf, ast::StorageClass::kStorage, ast::Access::kReadWrite,
+ ast::DecorationList{
+ create<ast::BindingDecoration>(1),
+ create<ast::GroupDecoration>(0),
+ });
+
+ EXPECT_TRUE(r()->Resolve()) << r()->error();
+
+ ASSERT_TRUE(TypeOf(storage)->Is<sem::Reference>());
+
+ EXPECT_EQ(TypeOf(storage)->As<sem::Reference>()->Access(),
+ ast::Access::kReadWrite);
+}
+
+TEST_F(ResolverPtrRefTest, InheritsAccessFromOriginatingVariable) {
+ // struct Inner {
+ // arr: array<i32, 4>;
+ // }
+ // [[block]] struct S {
+ // inner: Inner;
+ // }
+ // [[group(0), binding(0)]] var<storage, read_write> s : S;
+ // fn f() {
+ // let p = &s.inner.arr[2];
+ // }
+ auto* inner = Structure("Inner", {Member("arr", ty.array<i32, 4>())});
+ auto* buf = Structure("S", {Member("inner", inner)},
+ {create<ast::StructBlockDecoration>()});
+ auto* storage =
+ Global("s", buf, ast::StorageClass::kStorage, ast::Access::kReadWrite,
+ ast::DecorationList{
+ create<ast::BindingDecoration>(0),
+ create<ast::GroupDecoration>(0),
+ });
+
+ auto* expr =
+ IndexAccessor(MemberAccessor(MemberAccessor(storage, "inner"), "arr"), 4);
+ auto* ptr = Const("p", nullptr, AddressOf(expr));
+
+ WrapInFunction(ptr);
+
+ EXPECT_TRUE(r()->Resolve()) << r()->error();
+
+ ASSERT_TRUE(TypeOf(expr)->Is<sem::Reference>());
+ ASSERT_TRUE(TypeOf(ptr)->Is<sem::Pointer>());
+
+ EXPECT_EQ(TypeOf(expr)->As<sem::Reference>()->Access(),
+ ast::Access::kReadWrite);
+ EXPECT_EQ(TypeOf(ptr)->As<sem::Pointer>()->Access(), ast::Access::kReadWrite);
+}
+
} // namespace
} // namespace resolver
} // namespace tint
diff --git a/src/resolver/ptr_ref_validation_test.cc b/src/resolver/ptr_ref_validation_test.cc
index 0b2d07d..b391691 100644
--- a/src/resolver/ptr_ref_validation_test.cc
+++ b/src/resolver/ptr_ref_validation_test.cc
@@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#include "src/ast/struct_block_decoration.h"
#include "src/resolver/resolver.h"
#include "src/resolver/resolver_test_helper.h"
#include "src/sem/reference_type.h"
@@ -77,6 +78,42 @@
"12:34 error: cannot dereference expression of type 'i32'");
}
+TEST_F(ResolverPtrRefValidationTest, InferredAccessMismatch) {
+ // struct Inner {
+ // arr: array<i32, 4>;
+ // }
+ // [[block]] struct S {
+ // inner: Inner;
+ // }
+ // [[group(0), binding(0)]] var<storage> s : S;
+ // fn f() {
+ // let p : pointer<storage, i32, read_write> = &s.inner.arr[2];
+ // }
+ auto* inner = Structure("Inner", {Member("arr", ty.array<i32, 4>())});
+ auto* buf = Structure("S", {Member("inner", inner)},
+ {create<ast::StructBlockDecoration>()});
+ auto* storage = Global("s", buf, ast::StorageClass::kStorage,
+ ast::DecorationList{
+ create<ast::BindingDecoration>(0),
+ create<ast::GroupDecoration>(0),
+ });
+
+ auto* expr =
+ IndexAccessor(MemberAccessor(MemberAccessor(storage, "inner"), "arr"), 4);
+ auto* ptr = Const(
+ Source{{12, 34}}, "p",
+ ty.pointer<i32>(ast::StorageClass::kStorage, ast::Access::kReadWrite),
+ AddressOf(expr));
+
+ WrapInFunction(ptr);
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(r()->error(),
+ "12:34 error: cannot initialize let of type "
+ "'ptr<storage, i32, read_write>' with value of type "
+ "'ptr<storage, i32, read>'");
+}
+
} // namespace
} // namespace resolver
} // namespace tint
diff --git a/src/resolver/resolver.cc b/src/resolver/resolver.cc
index 14f4b7d..712e092 100644
--- a/src/resolver/resolver.cc
+++ b/src/resolver/resolver.cc
@@ -307,8 +307,12 @@
}
if (auto* t = ty->As<ast::Pointer>()) {
if (auto* el = Type(t->type())) {
+ auto access = t->access();
+ if (access == ast::kUndefined) {
+ access = DefaultAccessForStorageClass(t->storage_class());
+ }
return builder_->create<sem::Pointer>(const_cast<sem::Type*>(el),
- t->storage_class());
+ t->storage_class(), access);
}
return nullptr;
}
@@ -477,11 +481,17 @@
}
}
+ auto access = var->declared_access();
+ if (access == ast::Access::kUndefined) {
+ access = DefaultAccessForStorageClass(storage_class);
+ }
+
auto* type = storage_type;
if (!var->is_const()) {
// Variable declaration. Unlike `let`, `var` has storage.
// Variables are always of a reference type to the declared storage type.
- type = builder_->create<sem::Reference>(storage_type, storage_class);
+ type =
+ builder_->create<sem::Reference>(storage_type, storage_class, access);
}
if (rhs_type && !ValidateVariableConstructor(var, storage_type, type_name,
@@ -489,15 +499,6 @@
return nullptr;
}
- auto access = var->declared_access();
- if (access == ast::Access::kUndefined &&
- storage_class == ast::StorageClass::kStorage) {
- // https://gpuweb.github.io/gpuweb/wgsl/#access-mode-defaults
- // For the storage storage class, the access mode is optional, and defaults
- // to read.
- access = ast::Access::kRead;
- }
-
auto* info = variable_infos_.Create(var, const_cast<sem::Type*>(type),
type_name, storage_class, access);
variable_to_info_.emplace(var, info);
@@ -505,6 +506,21 @@
return info;
}
+ast::AccessControl Resolver::DefaultAccessForStorageClass(
+ ast::StorageClass storage_class) {
+ // https://gpuweb.github.io/gpuweb/wgsl/#storage-class
+ switch (storage_class) {
+ case ast::StorageClass::kStorage:
+ return ast::Access::kRead;
+ case ast::StorageClass::kUniform:
+ case ast::StorageClass::kUniformConstant:
+ return ast::Access::kRead;
+ default:
+ break;
+ }
+ return ast::Access::kReadWrite;
+}
+
bool Resolver::ValidateVariableConstructor(const ast::Variable* var,
const sem::Type* storage_type,
const std::string& type_name,
@@ -1603,7 +1619,8 @@
// If we're extracting from a reference, we return a reference.
if (auto* ref = res->As<sem::Reference>()) {
- ret = builder_->create<sem::Reference>(ret, ref->StorageClass());
+ ret = builder_->create<sem::Reference>(ret, ref->StorageClass(),
+ ref->Access());
}
SetType(expr, ret);
@@ -1959,7 +1976,8 @@
// If we're extracting from a reference, we return a reference.
if (auto* ref = structure->As<sem::Reference>()) {
- ret = builder_->create<sem::Reference>(ret, ref->StorageClass());
+ ret = builder_->create<sem::Reference>(ret, ref->StorageClass(),
+ ref->Access());
}
builder_->Sem().Add(expr, builder_->create<sem::StructMemberAccess>(
@@ -2028,7 +2046,8 @@
ret = vec->type();
// If we're extracting from a reference, we return a reference.
if (auto* ref = structure->As<sem::Reference>()) {
- ret = builder_->create<sem::Reference>(ret, ref->StorageClass());
+ ret = builder_->create<sem::Reference>(ret, ref->StorageClass(),
+ ref->Access());
}
} else {
// The vector will have a number of components equal to the length of
@@ -2291,8 +2310,8 @@
case ast::UnaryOp::kAddressOf:
if (auto* ref = expr_type->As<sem::Reference>()) {
- type = builder_->create<sem::Pointer>(ref->StoreType(),
- ref->StorageClass());
+ type = builder_->create<sem::Pointer>(
+ ref->StoreType(), ref->StorageClass(), ref->Access());
} else {
diagnostics_.add_error("cannot take the address of expression",
unary->expr()->source());
@@ -2302,8 +2321,8 @@
case ast::UnaryOp::kIndirection:
if (auto* ptr = expr_type->As<sem::Pointer>()) {
- type = builder_->create<sem::Reference>(ptr->StoreType(),
- ptr->StorageClass());
+ type = builder_->create<sem::Reference>(
+ ptr->StoreType(), ptr->StorageClass(), ptr->Access());
} else {
diagnostics_.add_error("cannot dereference expression of type '" +
TypeNameOf(unary->expr()) + "'",
diff --git a/src/resolver/resolver.h b/src/resolver/resolver.h
index 4b893bf..da5ba4b 100644
--- a/src/resolver/resolver.h
+++ b/src/resolver/resolver.h
@@ -319,6 +319,11 @@
uint32_t& align,
uint32_t& size);
+ /// @param storage_class the storage class
+ /// @returns the default access control for the given storage class
+ ast::AccessControl DefaultAccessForStorageClass(
+ ast::StorageClass storage_class);
+
/// @returns the resolved type of the ast::Expression `expr`
/// @param expr the expression
sem::Type* TypeOf(const ast::Expression* expr);
diff --git a/src/resolver/type_constructor_validation_test.cc b/src/resolver/type_constructor_validation_test.cc
index 94fc5ee..24a19b9 100644
--- a/src/resolver/type_constructor_validation_test.cc
+++ b/src/resolver/type_constructor_validation_test.cc
@@ -87,7 +87,8 @@
ASSERT_TRUE(r()->Resolve()) << r()->error();
auto* got = TypeOf(a_ident);
auto* expected = create<sem::Reference>(params.create_rhs_sem_type(ty),
- ast::StorageClass::kFunction);
+ ast::StorageClass::kFunction,
+ ast::Access::kReadWrite);
ASSERT_EQ(got, expected) << "got: " << FriendlyName(got) << "\n"
<< "expected: " << FriendlyName(expected) << "\n";
}
@@ -141,7 +142,8 @@
ASSERT_TRUE(r()->Resolve()) << r()->error();
auto* got = TypeOf(a_ident);
auto* expected = create<sem::Reference>(params.create_rhs_sem_type(ty),
- ast::StorageClass::kFunction);
+ ast::StorageClass::kFunction,
+ ast::Access::kReadWrite);
ASSERT_EQ(got, expected) << "got: " << FriendlyName(got) << "\n"
<< "expected: " << FriendlyName(expected) << "\n";
}
@@ -190,7 +192,8 @@
ASSERT_TRUE(r()->Resolve()) << r()->error();
auto* got = TypeOf(a_ident);
auto* expected = create<sem::Reference>(params.create_rhs_sem_type(ty),
- ast::StorageClass::kFunction);
+ ast::StorageClass::kFunction,
+ ast::Access::kReadWrite);
ASSERT_EQ(got, expected) << "got: " << FriendlyName(got) << "\n"
<< "expected: " << FriendlyName(expected) << "\n";
}
diff --git a/src/resolver/var_let_validation_test.cc b/src/resolver/var_let_validation_test.cc
index 23c42e9..a70bd9d 100644
--- a/src/resolver/var_let_validation_test.cc
+++ b/src/resolver/var_let_validation_test.cc
@@ -52,7 +52,8 @@
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
- "12:34 error: 'ptr<function, i32>' is not storable for assignment");
+ "12:34 error: 'ptr<function, i32, read_write>' is not storable for "
+ "assignment");
}
TEST_F(ResolverVarLetValidationTest, LetConstructorWrongType) {
diff --git a/src/sem/pointer_type.cc b/src/sem/pointer_type.cc
index 699ea9c..d4b9734 100644
--- a/src/sem/pointer_type.cc
+++ b/src/sem/pointer_type.cc
@@ -15,18 +15,24 @@
#include "src/sem/pointer_type.h"
#include "src/program_builder.h"
+#include "src/sem/reference_type.h"
TINT_INSTANTIATE_TYPEINFO(tint::sem::Pointer);
namespace tint {
namespace sem {
-Pointer::Pointer(const Type* subtype, ast::StorageClass storage_class)
- : subtype_(subtype), storage_class_(storage_class) {}
+Pointer::Pointer(const Type* subtype,
+ ast::StorageClass storage_class,
+ ast::Access access)
+ : subtype_(subtype), storage_class_(storage_class), access_(access) {
+ TINT_ASSERT(!subtype->Is<Reference>());
+ TINT_ASSERT(access != ast::Access::kUndefined);
+}
std::string Pointer::type_name() const {
std::ostringstream out;
- out << "__ptr_" << storage_class_ << subtype_->type_name();
+ out << "__ptr_" << storage_class_ << subtype_->type_name() << "__" << access_;
return out.str();
}
@@ -36,7 +42,8 @@
if (storage_class_ != ast::StorageClass::kNone) {
out << storage_class_ << ", ";
}
- out << subtype_->FriendlyName(symbols) << ">";
+ out << subtype_->FriendlyName(symbols) << ", " << access_;
+ out << ">";
return out.str();
}
diff --git a/src/sem/pointer_type.h b/src/sem/pointer_type.h
index adcb127..ec0e98f 100644
--- a/src/sem/pointer_type.h
+++ b/src/sem/pointer_type.h
@@ -17,6 +17,7 @@
#include <string>
+#include "src/ast/access.h"
#include "src/ast/storage_class.h"
#include "src/sem/type.h"
@@ -29,16 +30,24 @@
/// Constructor
/// @param subtype the pointee type
/// @param storage_class the storage class of the pointer
- Pointer(const Type* subtype, ast::StorageClass storage_class);
+ /// @param access the resolved access control of the reference
+ Pointer(const Type* subtype,
+ ast::StorageClass storage_class,
+ ast::Access access);
+
/// Move constructor
Pointer(Pointer&&);
~Pointer() override;
/// @returns the pointee type
const Type* StoreType() const { return subtype_; }
+
/// @returns the storage class of the pointer
ast::StorageClass StorageClass() const { return storage_class_; }
+ /// @returns the access control of the reference
+ ast::Access Access() const { return access_; }
+
/// @returns the name for this type
std::string type_name() const override;
@@ -50,6 +59,7 @@
private:
Type const* const subtype_;
ast::StorageClass const storage_class_;
+ ast::AccessControl const access_;
};
} // namespace sem
diff --git a/src/sem/pointer_type_test.cc b/src/sem/pointer_type_test.cc
index 56cbe3a..950d282 100644
--- a/src/sem/pointer_type_test.cc
+++ b/src/sem/pointer_type_test.cc
@@ -22,24 +22,29 @@
using PointerTest = TestHelper;
TEST_F(PointerTest, Creation) {
- auto* r = create<Pointer>(create<I32>(), ast::StorageClass::kStorage);
+ auto* r = create<Pointer>(create<I32>(), ast::StorageClass::kStorage,
+ ast::Access::kReadWrite);
EXPECT_TRUE(r->StoreType()->Is<sem::I32>());
EXPECT_EQ(r->StorageClass(), ast::StorageClass::kStorage);
+ EXPECT_EQ(r->Access(), ast::Access::kReadWrite);
}
TEST_F(PointerTest, TypeName) {
- auto* r = create<Pointer>(create<I32>(), ast::StorageClass::kWorkgroup);
- EXPECT_EQ(r->type_name(), "__ptr_workgroup__i32");
+ auto* r = create<Pointer>(create<I32>(), ast::StorageClass::kWorkgroup,
+ ast::Access::kReadWrite);
+ EXPECT_EQ(r->type_name(), "__ptr_workgroup__i32__read_write");
+}
+
+TEST_F(PointerTest, FriendlyName) {
+ auto* r = create<Pointer>(create<I32>(), ast::StorageClass::kNone,
+ ast::Access::kRead);
+ EXPECT_EQ(r->FriendlyName(Symbols()), "ptr<i32, read>");
}
TEST_F(PointerTest, FriendlyNameWithStorageClass) {
- auto* r = create<Pointer>(create<I32>(), ast::StorageClass::kWorkgroup);
- EXPECT_EQ(r->FriendlyName(Symbols()), "ptr<workgroup, i32>");
-}
-
-TEST_F(PointerTest, FriendlyNameWithoutStorageClass) {
- auto* r = create<Pointer>(create<I32>(), ast::StorageClass::kNone);
- EXPECT_EQ(r->FriendlyName(Symbols()), "ptr<i32>");
+ auto* r = create<Pointer>(create<I32>(), ast::StorageClass::kWorkgroup,
+ ast::Access::kRead);
+ EXPECT_EQ(r->FriendlyName(Symbols()), "ptr<workgroup, i32, read>");
}
} // namespace
diff --git a/src/sem/reference_type.cc b/src/sem/reference_type.cc
index 1c8ee01..959c61d 100644
--- a/src/sem/reference_type.cc
+++ b/src/sem/reference_type.cc
@@ -21,14 +21,17 @@
namespace tint {
namespace sem {
-Reference::Reference(const Type* subtype, ast::StorageClass storage_class)
- : subtype_(subtype), storage_class_(storage_class) {
+Reference::Reference(const Type* subtype,
+ ast::StorageClass storage_class,
+ ast::Access access)
+ : subtype_(subtype), storage_class_(storage_class), access_(access) {
TINT_ASSERT(!subtype->Is<Reference>());
+ TINT_ASSERT(access != ast::Access::kUndefined);
}
std::string Reference::type_name() const {
std::ostringstream out;
- out << "__ref_" << storage_class_ << subtype_->type_name();
+ out << "__ref_" << storage_class_ << subtype_->type_name() << "__" << access_;
return out.str();
}
@@ -38,7 +41,8 @@
if (storage_class_ != ast::StorageClass::kNone) {
out << storage_class_ << ", ";
}
- out << subtype_->FriendlyName(symbols) << ">";
+ out << subtype_->FriendlyName(symbols) << ", " << access_;
+ out << ">";
return out.str();
}
diff --git a/src/sem/reference_type.h b/src/sem/reference_type.h
index 0d9afed..5e2eaeb 100644
--- a/src/sem/reference_type.h
+++ b/src/sem/reference_type.h
@@ -17,6 +17,7 @@
#include <string>
+#include "src/ast/access.h"
#include "src/ast/storage_class.h"
#include "src/sem/type.h"
@@ -29,16 +30,24 @@
/// Constructor
/// @param subtype the pointee type
/// @param storage_class the storage class of the reference
- Reference(const Type* subtype, ast::StorageClass storage_class);
+ /// @param access the resolved access control of the reference
+ Reference(const Type* subtype,
+ ast::StorageClass storage_class,
+ ast::Access access);
+
/// Move constructor
Reference(Reference&&);
~Reference() override;
/// @returns the pointee type
const Type* StoreType() const { return subtype_; }
+
/// @returns the storage class of the reference
ast::StorageClass StorageClass() const { return storage_class_; }
+ /// @returns the resolved access control of the reference.
+ ast::Access Access() const { return access_; }
+
/// @returns the name for this type
std::string type_name() const override;
@@ -50,6 +59,7 @@
private:
Type const* const subtype_;
ast::StorageClass const storage_class_;
+ ast::AccessControl const access_;
};
} // namespace sem
diff --git a/src/sem/reference_type_test.cc b/src/sem/reference_type_test.cc
index 3b279f4..a397e3a 100644
--- a/src/sem/reference_type_test.cc
+++ b/src/sem/reference_type_test.cc
@@ -22,24 +22,29 @@
using ReferenceTest = TestHelper;
TEST_F(ReferenceTest, Creation) {
- auto* r = create<Reference>(create<I32>(), ast::StorageClass::kStorage);
+ auto* r = create<Reference>(create<I32>(), ast::StorageClass::kStorage,
+ ast::Access::kReadWrite);
EXPECT_TRUE(r->StoreType()->Is<sem::I32>());
EXPECT_EQ(r->StorageClass(), ast::StorageClass::kStorage);
+ EXPECT_EQ(r->Access(), ast::Access::kReadWrite);
}
TEST_F(ReferenceTest, TypeName) {
- auto* r = create<Reference>(create<I32>(), ast::StorageClass::kWorkgroup);
- EXPECT_EQ(r->type_name(), "__ref_workgroup__i32");
+ auto* r = create<Reference>(create<I32>(), ast::StorageClass::kWorkgroup,
+ ast::Access::kReadWrite);
+ EXPECT_EQ(r->type_name(), "__ref_workgroup__i32__read_write");
+}
+
+TEST_F(ReferenceTest, FriendlyName) {
+ auto* r = create<Reference>(create<I32>(), ast::StorageClass::kNone,
+ ast::Access::kRead);
+ EXPECT_EQ(r->FriendlyName(Symbols()), "ref<i32, read>");
}
TEST_F(ReferenceTest, FriendlyNameWithStorageClass) {
- auto* r = create<Reference>(create<I32>(), ast::StorageClass::kWorkgroup);
- EXPECT_EQ(r->FriendlyName(Symbols()), "ref<workgroup, i32>");
-}
-
-TEST_F(ReferenceTest, FriendlyNameWithoutStorageClass) {
- auto* r = create<Reference>(create<I32>(), ast::StorageClass::kNone);
- EXPECT_EQ(r->FriendlyName(Symbols()), "ref<i32>");
+ auto* r = create<Reference>(create<I32>(), ast::StorageClass::kWorkgroup,
+ ast::Access::kRead);
+ EXPECT_EQ(r->FriendlyName(Symbols()), "ref<workgroup, i32, read>");
}
} // namespace
diff --git a/src/writer/hlsl/generator_impl_type_test.cc b/src/writer/hlsl/generator_impl_type_test.cc
index 94dd0d6..9846c30 100644
--- a/src/writer/hlsl/generator_impl_type_test.cc
+++ b/src/writer/hlsl/generator_impl_type_test.cc
@@ -154,7 +154,8 @@
// TODO(dsinclair): How to annotate as workgroup?
TEST_F(HlslGeneratorImplTest_Type, DISABLED_EmitType_Pointer) {
auto* f32 = create<sem::F32>();
- auto* p = create<sem::Pointer>(f32, ast::StorageClass::kWorkgroup);
+ auto* p = create<sem::Pointer>(f32, ast::StorageClass::kWorkgroup,
+ ast::Access::kReadWrite);
GeneratorImpl& gen = Build();
diff --git a/src/writer/msl/generator_impl_type_test.cc b/src/writer/msl/generator_impl_type_test.cc
index d45ead6..ffd88b6 100644
--- a/src/writer/msl/generator_impl_type_test.cc
+++ b/src/writer/msl/generator_impl_type_test.cc
@@ -162,7 +162,8 @@
TEST_F(MslGeneratorImplTest, EmitType_Pointer) {
auto* f32 = create<sem::F32>();
- auto* p = create<sem::Pointer>(f32, ast::StorageClass::kWorkgroup);
+ auto* p = create<sem::Pointer>(f32, ast::StorageClass::kWorkgroup,
+ ast::Access::kReadWrite);
GeneratorImpl& gen = Build();
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index 6ebafb9..4362d9c 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -1730,8 +1730,8 @@
uint32_t Builder::GenerateSplat(uint32_t scalar_id, const sem::Type* vec_type) {
// Create a new vector to splat scalar into
auto splat_vector = result_op();
- auto* splat_vector_type =
- builder_.create<sem::Pointer>(vec_type, ast::StorageClass::kFunction);
+ auto* splat_vector_type = builder_.create<sem::Pointer>(
+ vec_type, ast::StorageClass::kFunction, ast::Access::kReadWrite);
push_function_var(
{Operand::Int(GenerateTypeIfNeeded(splat_vector_type)), splat_vector,
Operand::Int(ConvertStorageClass(ast::StorageClass::kFunction)),
@@ -3228,13 +3228,22 @@
return 0;
}
+ // Pointers and references with differing accesses should not result in a
+ // different SPIR-V types, so we explicitly ignore the access.
// Pointers and References both map to a SPIR-V pointer type.
// Transform a Reference to a Pointer to prevent these having duplicated
- // definitions in the generated SPIR-V. Note that nested references are not
- // legal, so only considering the top-level type is fine.
+ // definitions in the generated SPIR-V. Note that nested pointers and
+ // references are not legal in WGSL, so only considering the top-level type is
+ // fine.
std::string type_name;
- if (auto* ref = type->As<sem::Reference>()) {
- type_name = sem::Pointer(ref->StoreType(), ref->StorageClass()).type_name();
+ if (auto* ptr = type->As<sem::Pointer>()) {
+ type_name =
+ sem::Pointer(ptr->StoreType(), ptr->StorageClass(), ast::kReadWrite)
+ .type_name();
+ } else if (auto* ref = type->As<sem::Reference>()) {
+ type_name =
+ sem::Pointer(ref->StoreType(), ref->StorageClass(), ast::kReadWrite)
+ .type_name();
} else {
type_name = type->type_name();
}
diff --git a/src/writer/spirv/builder_type_test.cc b/src/writer/spirv/builder_type_test.cc
index 2200436..a0fca8b 100644
--- a/src/writer/spirv/builder_type_test.cc
+++ b/src/writer/spirv/builder_type_test.cc
@@ -241,7 +241,8 @@
TEST_F(BuilderTest_Type, GeneratePtr) {
auto* i32 = create<sem::I32>();
- auto* ptr = create<sem::Pointer>(i32, ast::StorageClass::kOutput);
+ auto* ptr = create<sem::Pointer>(i32, ast::StorageClass::kOutput,
+ ast::Access::kReadWrite);
spirv::Builder& b = Build();
@@ -256,7 +257,8 @@
TEST_F(BuilderTest_Type, ReturnsGeneratedPtr) {
auto* i32 = create<sem::I32>();
- auto* ptr = create<sem::Pointer>(i32, ast::StorageClass::kOutput);
+ auto* ptr = create<sem::Pointer>(i32, ast::StorageClass::kOutput,
+ ast::Access::kReadWrite);
spirv::Builder& b = Build();