Import Tint changes from Dawn
Changes:
- 529c3fd385502b63a296ac306284cd6036664099 Add clone into constant/ by dan sinclair <dsinclair@chromium.org>
- 128980f218ca97dc1751a24c82791a0b0c29751f tint: Add support for workgroupUniformLoad by James Price <jrprice@google.com>
- f8abdc7aefc55d08cbdfc2ba3fd7a315486e074e Add ability to clone types. by dan sinclair <dsinclair@chromium.org>
- 8e68a89cfb753cae7d1f156a714127d3c8a1de08 Vulkan: Clamp @builtin(frag_depth) with push constant val... by Corentin Wallez <cwallez@chromium.org>
GitOrigin-RevId: 529c3fd385502b63a296ac306284cd6036664099
Change-Id: I6e84ba7a74571e15aa172115376b2d00ba9d98e5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/116368
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/include/tint/tint.h b/include/tint/tint.h
index c71682f..02ac423 100644
--- a/include/tint/tint.h
+++ b/include/tint/tint.h
@@ -26,6 +26,7 @@
#include "src/tint/inspector/inspector.h"
#include "src/tint/reader/reader.h"
#include "src/tint/transform/binding_remapper.h"
+#include "src/tint/transform/clamp_frag_depth.h"
#include "src/tint/transform/first_index_offset.h"
#include "src/tint/transform/manager.h"
#include "src/tint/transform/multiplanar_external_texture.h"
diff --git a/src/tint/BUILD.gn b/src/tint/BUILD.gn
index 2167eaf..f57a2d7 100644
--- a/src/tint/BUILD.gn
+++ b/src/tint/BUILD.gn
@@ -366,6 +366,7 @@
"castable.h",
"clone_context.cc",
"clone_context.h",
+ "constant/clone_context.h",
"constant/composite.h",
"constant/node.h",
"constant/scalar.h",
@@ -563,6 +564,7 @@
"type/array_count.h",
"type/atomic.h",
"type/bool.h",
+ "type/clone_context.h",
"type/depth_multisampled_texture.h",
"type/depth_texture.h",
"type/external_texture.h",
@@ -715,6 +717,7 @@
"type/atomic.h",
"type/bool.cc",
"type/bool.h",
+ "type/clone_context.h",
"type/depth_multisampled_texture.cc",
"type/depth_multisampled_texture.h",
"type/depth_texture.cc",
@@ -768,6 +771,7 @@
libtint_source_set("libtint_constant_src") {
sources = [
+ "constant/clone_context.h",
"constant/composite.cc",
"constant/composite.h",
"constant/node.cc",
@@ -1240,6 +1244,14 @@
]
}
+ tint_unittests_source_set("tint_unittests_constant_src") {
+ sources = [
+ "constant/composite_test.cc",
+ "constant/scalar_test.cc",
+ "constant/splat_test.cc",
+ ]
+ }
+
tint_unittests_source_set("tint_unittests_type_src") {
sources = [
"type/array_test.cc",
@@ -1736,6 +1748,7 @@
":libtint_wgsl_reader_src",
":libtint_wgsl_writer_src",
":tint_unittests_ast_src",
+ ":tint_unittests_constant_src",
":tint_unittests_core_src",
":tint_unittests_diagnostic_src",
":tint_unittests_inspector_src",
diff --git a/src/tint/CMakeLists.txt b/src/tint/CMakeLists.txt
index b30227a..f35aa57 100644
--- a/src/tint/CMakeLists.txt
+++ b/src/tint/CMakeLists.txt
@@ -254,6 +254,7 @@
castable.h
clone_context.cc
clone_context.h
+ constant/clone_context.h
constant/composite.cc
constant/composite.h
constant/scalar.cc
@@ -476,6 +477,7 @@
type/atomic.h
type/bool.cc
type/bool.h
+ type/clone_context.h
type/depth_multisampled_texture.cc
type/depth_multisampled_texture.h
type/depth_texture.cc
@@ -872,6 +874,9 @@
ast/workgroup_attribute_test.cc
castable_test.cc
clone_context_test.cc
+ constant/composite_test.cc
+ constant/scalar_test.cc
+ constant/splat_test.cc
debug_test.cc
demangler_test.cc
diagnostic/diagnostic_test.cc
@@ -951,7 +956,7 @@
traits_test.cc
transform/transform_test.cc
type/array_test.cc
- type/atomic.cc
+ type/atomic_test.cc
type/bool_test.cc
type/depth_multisampled_texture_test.cc
type/depth_texture_test.cc
diff --git a/src/tint/constant/clone_context.h b/src/tint/constant/clone_context.h
new file mode 100644
index 0000000..3f597ed
--- /dev/null
+++ b/src/tint/constant/clone_context.h
@@ -0,0 +1,42 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef SRC_TINT_CONSTANT_CLONE_CONTEXT_H_
+#define SRC_TINT_CONSTANT_CLONE_CONTEXT_H_
+
+#include "src/tint/type/clone_context.h"
+#include "src/tint/utils/block_allocator.h"
+
+// Forward Declarations
+namespace tint::constant {
+class Value;
+} // namespace tint::constant
+
+namespace tint::constant {
+
+/// Context information for cloning of constants
+struct CloneContext {
+ /// The context for cloning type information
+ type::CloneContext type_ctx;
+
+ /// Destination information
+ struct {
+ /// The constant allocator
+ utils::BlockAllocator<constant::Value>* constants;
+ } dst;
+};
+
+} // namespace tint::constant
+
+#endif // SRC_TINT_CONSTANT_CLONE_CONTEXT_H_
diff --git a/src/tint/constant/composite.cc b/src/tint/constant/composite.cc
index 76d2adb..5b004e0 100644
--- a/src/tint/constant/composite.cc
+++ b/src/tint/constant/composite.cc
@@ -28,4 +28,13 @@
Composite::~Composite() = default;
+Composite* Composite::Clone(CloneContext& ctx) const {
+ auto* ty = type->Clone(ctx.type_ctx);
+ utils::Vector<const constant::Value*, 4> els;
+ for (const auto* el : elements) {
+ els.Push(el->Clone(ctx));
+ }
+ return ctx.dst.constants->Create<Composite>(ty, els, all_zero, any_zero);
+}
+
} // namespace tint::constant
diff --git a/src/tint/constant/composite.h b/src/tint/constant/composite.h
index aacc2ef..3bd4973 100644
--- a/src/tint/constant/composite.h
+++ b/src/tint/constant/composite.h
@@ -52,6 +52,11 @@
bool AllEqual() const override { return false; }
size_t Hash() const override { return hash; }
+ /// Clones the constant into the provided context
+ /// @param ctx the clone context
+ /// @returns the cloned node
+ Composite* Clone(CloneContext& ctx) const override;
+
/// The composite type
type::Type const* const type;
/// The composite elements
diff --git a/src/tint/constant/composite_test.cc b/src/tint/constant/composite_test.cc
new file mode 100644
index 0000000..6fc532d
--- /dev/null
+++ b/src/tint/constant/composite_test.cc
@@ -0,0 +1,112 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "src/tint/constant/composite.h"
+
+#include "src/tint/constant/scalar.h"
+#include "src/tint/constant/test_helper.h"
+
+namespace tint::constant {
+namespace {
+
+using namespace tint::number_suffixes; // NOLINT
+
+using ConstantTest_Composite = TestHelper;
+
+TEST_F(ConstantTest_Composite, AllZero) {
+ auto* f32 = create<type::F32>();
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fNeg0 = create<Scalar<tint::f32>>(f32, -0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+
+ auto* compositeAll = create<Composite>(f32, utils::Vector{fPos0, fPos0});
+ auto* compositeAny = create<Composite>(f32, utils::Vector{fNeg0, fPos1, fPos0});
+ auto* compositeNone = create<Composite>(f32, utils::Vector{fNeg0, fNeg0});
+
+ EXPECT_TRUE(compositeAll->AllZero());
+ EXPECT_FALSE(compositeAny->AllZero());
+ EXPECT_FALSE(compositeNone->AllZero());
+}
+
+TEST_F(ConstantTest_Composite, AnyZero) {
+ auto* f32 = create<type::F32>();
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fNeg0 = create<Scalar<tint::f32>>(f32, -0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+
+ auto* compositeAll = create<Composite>(f32, utils::Vector{fPos0, fPos0});
+ auto* compositeAny = create<Composite>(f32, utils::Vector{fNeg0, fPos1, fPos0});
+ auto* compositeNone = create<Composite>(f32, utils::Vector{fNeg0, fNeg0});
+
+ EXPECT_TRUE(compositeAll->AnyZero());
+ EXPECT_TRUE(compositeAny->AnyZero());
+ EXPECT_FALSE(compositeNone->AnyZero());
+}
+
+TEST_F(ConstantTest_Composite, AllEqual) {
+ auto* f32 = create<type::F32>();
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fNeg0 = create<Scalar<tint::f32>>(f32, -0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+
+ auto* compositeEq = create<Composite>(f32, utils::Vector{fPos0, fPos0});
+ auto* compositeNe = create<Composite>(f32, utils::Vector{fNeg0, fPos1, fPos0});
+
+ EXPECT_TRUE(compositeEq->AllEqual());
+ EXPECT_FALSE(compositeNe->AllZero());
+}
+
+TEST_F(ConstantTest_Composite, Index) {
+ auto* f32 = create<type::F32>();
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+
+ auto* composite = create<Composite>(f32, utils::Vector{fPos1, fPos0});
+
+ ASSERT_NE(composite->Index(0), nullptr);
+ ASSERT_NE(composite->Index(1), nullptr);
+ ASSERT_EQ(composite->Index(2), nullptr);
+
+ EXPECT_TRUE(composite->Index(0)->Is<Scalar<tint::f32>>());
+ EXPECT_EQ(composite->Index(0)->As<Scalar<tint::f32>>()->ValueOf(), 1.0);
+ EXPECT_TRUE(composite->Index(1)->Is<Scalar<tint::f32>>());
+ EXPECT_EQ(composite->Index(1)->As<Scalar<tint::f32>>()->ValueOf(), 0.0);
+}
+
+TEST_F(ConstantTest_Composite, Clone) {
+ auto* f32 = create<type::F32>();
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+
+ auto* composite = create<Composite>(f32, utils::Vector{fPos1, fPos0});
+
+ type::Manager mgr;
+ utils::BlockAllocator<constant::Value> consts;
+ constant::CloneContext ctx{type::CloneContext{{nullptr}, {nullptr, &mgr}}, {&consts}};
+
+ auto* r = composite->As<Composite>()->Clone(ctx);
+ ASSERT_NE(r, nullptr);
+ EXPECT_TRUE(r->type->Is<type::F32>());
+ EXPECT_FALSE(r->all_zero);
+ EXPECT_TRUE(r->any_zero);
+ ASSERT_EQ(r->elements.Length(), 2u);
+}
+
+} // namespace
+} // namespace tint::constant
diff --git a/src/tint/constant/scalar.h b/src/tint/constant/scalar.h
index 3cf705e..a412d91 100644
--- a/src/tint/constant/scalar.h
+++ b/src/tint/constant/scalar.h
@@ -49,6 +49,14 @@
bool AllEqual() const override { return true; }
size_t Hash() const override { return utils::Hash(type, ValueOf()); }
+ /// Clones the constant into the provided context
+ /// @param ctx the clone context
+ /// @returns the cloned node
+ Scalar* Clone(CloneContext& ctx) const override {
+ auto* ty = type->Clone(ctx.type_ctx);
+ return ctx.dst.constants->Create<Scalar<T>>(ty, value);
+ }
+
/// @returns `value` if `T` is not a Number, otherwise ValueOf returns the inner value of the
/// Number.
inline auto ValueOf() const {
diff --git a/src/tint/constant/scalar_test.cc b/src/tint/constant/scalar_test.cc
new file mode 100644
index 0000000..e05cca0
--- /dev/null
+++ b/src/tint/constant/scalar_test.cc
@@ -0,0 +1,265 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "src/tint/constant/scalar.h"
+
+#include "src/tint/constant/test_helper.h"
+
+namespace tint::constant {
+namespace {
+
+using namespace tint::number_suffixes; // NOLINT
+
+using ConstantTest_Scalar = TestHelper;
+
+TEST_F(ConstantTest_Scalar, AllZero) {
+ auto* i32 = create<type::I32>();
+ auto* u32 = create<type::U32>();
+ auto* f16 = create<type::F16>();
+ auto* f32 = create<type::F32>();
+ auto* bool_ = create<type::Bool>();
+
+ auto* i0 = create<Scalar<tint::i32>>(i32, 0_i);
+ auto* iPos1 = create<Scalar<tint::i32>>(i32, 1_i);
+ auto* iNeg1 = create<Scalar<tint::i32>>(i32, -1_i);
+
+ auto* u0 = create<Scalar<tint::u32>>(u32, 0_u);
+ auto* u1 = create<Scalar<tint::u32>>(u32, 1_u);
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fNeg0 = create<Scalar<tint::f32>>(f32, -0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+ auto* fNeg1 = create<Scalar<tint::f32>>(f32, -1_f);
+
+ auto* f16Pos0 = create<Scalar<tint::f16>>(f16, 0_h);
+ auto* f16Neg0 = create<Scalar<tint::f16>>(f16, -0_h);
+ auto* f16Pos1 = create<Scalar<tint::f16>>(f16, 1_h);
+ auto* f16Neg1 = create<Scalar<tint::f16>>(f16, -1_h);
+
+ auto* bf = create<Scalar<bool>>(bool_, false);
+ auto* bt = create<Scalar<bool>>(bool_, true);
+
+ auto* afPos0 = create<Scalar<tint::AFloat>>(f32, 0.0_a);
+ auto* afNeg0 = create<Scalar<tint::AFloat>>(f32, -0.0_a);
+ auto* afPos1 = create<Scalar<tint::AFloat>>(f32, 1.0_a);
+ auto* afNeg1 = create<Scalar<tint::AFloat>>(f32, -1.0_a);
+
+ auto* ai0 = create<Scalar<tint::AInt>>(i32, 0_a);
+ auto* aiPos1 = create<Scalar<tint::AInt>>(i32, 1_a);
+ auto* aiNeg1 = create<Scalar<tint::AInt>>(i32, -1_a);
+
+ EXPECT_TRUE(i0->AllZero());
+ EXPECT_FALSE(iPos1->AllZero());
+ EXPECT_FALSE(iNeg1->AllZero());
+
+ EXPECT_TRUE(u0->AllZero());
+ EXPECT_FALSE(u1->AllZero());
+
+ EXPECT_TRUE(fPos0->AllZero());
+ EXPECT_FALSE(fNeg0->AllZero());
+ EXPECT_FALSE(fPos1->AllZero());
+ EXPECT_FALSE(fNeg1->AllZero());
+
+ EXPECT_TRUE(f16Pos0->AllZero());
+ EXPECT_FALSE(f16Neg0->AllZero());
+ EXPECT_FALSE(f16Pos1->AllZero());
+ EXPECT_FALSE(f16Neg1->AllZero());
+
+ EXPECT_TRUE(bf->AllZero());
+ EXPECT_FALSE(bt->AllZero());
+
+ EXPECT_TRUE(afPos0->AllZero());
+ EXPECT_FALSE(afNeg0->AllZero());
+ EXPECT_FALSE(afPos1->AllZero());
+ EXPECT_FALSE(afNeg1->AllZero());
+
+ EXPECT_TRUE(ai0->AllZero());
+ EXPECT_FALSE(aiPos1->AllZero());
+ EXPECT_FALSE(aiNeg1->AllZero());
+}
+
+TEST_F(ConstantTest_Scalar, AnyZero) {
+ auto* i32 = create<type::I32>();
+ auto* u32 = create<type::U32>();
+ auto* f16 = create<type::F16>();
+ auto* f32 = create<type::F32>();
+ auto* bool_ = create<type::Bool>();
+
+ auto* i0 = create<Scalar<tint::i32>>(i32, 0_i);
+ auto* iPos1 = create<Scalar<tint::i32>>(i32, 1_i);
+ auto* iNeg1 = create<Scalar<tint::i32>>(i32, -1_i);
+
+ auto* u0 = create<Scalar<tint::u32>>(u32, 0_u);
+ auto* u1 = create<Scalar<tint::u32>>(u32, 1_u);
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fNeg0 = create<Scalar<tint::f32>>(f32, -0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+ auto* fNeg1 = create<Scalar<tint::f32>>(f32, -1_f);
+
+ auto* f16Pos0 = create<Scalar<tint::f16>>(f16, 0_h);
+ auto* f16Neg0 = create<Scalar<tint::f16>>(f16, -0_h);
+ auto* f16Pos1 = create<Scalar<tint::f16>>(f16, 1_h);
+ auto* f16Neg1 = create<Scalar<tint::f16>>(f16, -1_h);
+
+ auto* bf = create<Scalar<bool>>(bool_, false);
+ auto* bt = create<Scalar<bool>>(bool_, true);
+
+ auto* afPos0 = create<Scalar<tint::AFloat>>(f32, 0.0_a);
+ auto* afNeg0 = create<Scalar<tint::AFloat>>(f32, -0.0_a);
+ auto* afPos1 = create<Scalar<tint::AFloat>>(f32, 1.0_a);
+ auto* afNeg1 = create<Scalar<tint::AFloat>>(f32, -1.0_a);
+
+ auto* ai0 = create<Scalar<tint::AInt>>(i32, 0_a);
+ auto* aiPos1 = create<Scalar<tint::AInt>>(i32, 1_a);
+ auto* aiNeg1 = create<Scalar<tint::AInt>>(i32, -1_a);
+
+ EXPECT_TRUE(i0->AnyZero());
+ EXPECT_FALSE(iPos1->AnyZero());
+ EXPECT_FALSE(iNeg1->AnyZero());
+
+ EXPECT_TRUE(u0->AnyZero());
+ EXPECT_FALSE(u1->AnyZero());
+
+ EXPECT_TRUE(fPos0->AnyZero());
+ EXPECT_FALSE(fNeg0->AnyZero());
+ EXPECT_FALSE(fPos1->AnyZero());
+ EXPECT_FALSE(fNeg1->AnyZero());
+
+ EXPECT_TRUE(f16Pos0->AnyZero());
+ EXPECT_FALSE(f16Neg0->AnyZero());
+ EXPECT_FALSE(f16Pos1->AnyZero());
+ EXPECT_FALSE(f16Neg1->AnyZero());
+
+ EXPECT_TRUE(bf->AnyZero());
+ EXPECT_FALSE(bt->AnyZero());
+
+ EXPECT_TRUE(afPos0->AnyZero());
+ EXPECT_FALSE(afNeg0->AnyZero());
+ EXPECT_FALSE(afPos1->AnyZero());
+ EXPECT_FALSE(afNeg1->AnyZero());
+
+ EXPECT_TRUE(ai0->AnyZero());
+ EXPECT_FALSE(aiPos1->AnyZero());
+ EXPECT_FALSE(aiNeg1->AnyZero());
+}
+
+TEST_F(ConstantTest_Scalar, AllEqual) {
+ auto* i32 = create<type::I32>();
+ auto* u32 = create<type::U32>();
+ auto* f16 = create<type::F16>();
+ auto* f32 = create<type::F32>();
+ auto* bool_ = create<type::Bool>();
+
+ auto* i0 = create<Scalar<tint::i32>>(i32, 0_i);
+ auto* iPos1 = create<Scalar<tint::i32>>(i32, 1_i);
+ auto* iNeg1 = create<Scalar<tint::i32>>(i32, -1_i);
+
+ auto* u0 = create<Scalar<tint::u32>>(u32, 0_u);
+ auto* u1 = create<Scalar<tint::u32>>(u32, 1_u);
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fNeg0 = create<Scalar<tint::f32>>(f32, -0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+ auto* fNeg1 = create<Scalar<tint::f32>>(f32, -1_f);
+
+ auto* f16Pos0 = create<Scalar<tint::f16>>(f16, 0_h);
+ auto* f16Neg0 = create<Scalar<tint::f16>>(f16, -0_h);
+ auto* f16Pos1 = create<Scalar<tint::f16>>(f16, 1_h);
+ auto* f16Neg1 = create<Scalar<tint::f16>>(f16, -1_h);
+
+ auto* bf = create<Scalar<bool>>(bool_, false);
+ auto* bt = create<Scalar<bool>>(bool_, true);
+
+ auto* afPos0 = create<Scalar<tint::AFloat>>(f32, 0.0_a);
+ auto* afNeg0 = create<Scalar<tint::AFloat>>(f32, -0.0_a);
+ auto* afPos1 = create<Scalar<tint::AFloat>>(f32, 1.0_a);
+ auto* afNeg1 = create<Scalar<tint::AFloat>>(f32, -1.0_a);
+
+ auto* ai0 = create<Scalar<tint::AInt>>(i32, 0_a);
+ auto* aiPos1 = create<Scalar<tint::AInt>>(i32, 1_a);
+ auto* aiNeg1 = create<Scalar<tint::AInt>>(i32, -1_a);
+
+ EXPECT_TRUE(i0->AllEqual());
+ EXPECT_TRUE(iPos1->AllEqual());
+ EXPECT_TRUE(iNeg1->AllEqual());
+
+ EXPECT_TRUE(u0->AllEqual());
+ EXPECT_TRUE(u1->AllEqual());
+
+ EXPECT_TRUE(fPos0->AllEqual());
+ EXPECT_TRUE(fNeg0->AllEqual());
+ EXPECT_TRUE(fPos1->AllEqual());
+ EXPECT_TRUE(fNeg1->AllEqual());
+
+ EXPECT_TRUE(f16Pos0->AllEqual());
+ EXPECT_TRUE(f16Neg0->AllEqual());
+ EXPECT_TRUE(f16Pos1->AllEqual());
+ EXPECT_TRUE(f16Neg1->AllEqual());
+
+ EXPECT_TRUE(bf->AllEqual());
+ EXPECT_TRUE(bt->AllEqual());
+
+ EXPECT_TRUE(afPos0->AllEqual());
+ EXPECT_TRUE(afNeg0->AllEqual());
+ EXPECT_TRUE(afPos1->AllEqual());
+ EXPECT_TRUE(afNeg1->AllEqual());
+
+ EXPECT_TRUE(ai0->AllEqual());
+ EXPECT_TRUE(aiPos1->AllEqual());
+ EXPECT_TRUE(aiNeg1->AllEqual());
+}
+
+TEST_F(ConstantTest_Scalar, ValueOf) {
+ auto* i32 = create<type::I32>();
+ auto* u32 = create<type::U32>();
+ auto* f16 = create<type::F16>();
+ auto* f32 = create<type::F32>();
+ auto* bool_ = create<type::Bool>();
+
+ auto* i1 = create<Scalar<tint::i32>>(i32, 1_i);
+ auto* u1 = create<Scalar<tint::u32>>(u32, 1_u);
+ auto* f1 = create<Scalar<tint::f32>>(f32, 1_f);
+ auto* f16Pos1 = create<Scalar<tint::f16>>(f16, 1_h);
+ auto* bf = create<Scalar<bool>>(bool_, false);
+ auto* bt = create<Scalar<bool>>(bool_, true);
+ auto* af1 = create<Scalar<tint::AFloat>>(f32, 1.0_a);
+ auto* ai1 = create<Scalar<tint::AInt>>(i32, 1_a);
+
+ EXPECT_EQ(i1->ValueOf(), 1);
+ EXPECT_EQ(u1->ValueOf(), 1u);
+ EXPECT_EQ(f1->ValueOf(), 1.f);
+ EXPECT_EQ(f16Pos1->ValueOf(), 1.f);
+ EXPECT_FALSE(bf->ValueOf());
+ EXPECT_TRUE(bt->ValueOf());
+ EXPECT_EQ(af1->ValueOf(), 1.0);
+ EXPECT_EQ(ai1->ValueOf(), 1l);
+}
+
+TEST_F(ConstantTest_Scalar, Clone) {
+ auto* i32 = create<type::I32>();
+ auto* val = create<Scalar<tint::i32>>(i32, 12_i);
+
+ type::Manager mgr;
+ utils::BlockAllocator<constant::Value> consts;
+ constant::CloneContext ctx{type::CloneContext{{nullptr}, {nullptr, &mgr}}, {&consts}};
+
+ auto* r = val->Clone(ctx);
+ ASSERT_NE(r, nullptr);
+ EXPECT_TRUE(r->type->Is<type::I32>());
+ EXPECT_EQ(r->value, 12);
+}
+
+} // namespace
+} // namespace tint::constant
diff --git a/src/tint/constant/splat.cc b/src/tint/constant/splat.cc
index 9ef68d4..4ebfe5f 100644
--- a/src/tint/constant/splat.cc
+++ b/src/tint/constant/splat.cc
@@ -22,4 +22,10 @@
Splat::~Splat() = default;
+Splat* Splat::Clone(CloneContext& ctx) const {
+ auto* ty = type->Clone(ctx.type_ctx);
+ auto* element = el->Clone(ctx);
+ return ctx.dst.constants->Create<Splat>(ty, element, count);
+}
+
} // namespace tint::constant
diff --git a/src/tint/constant/splat.h b/src/tint/constant/splat.h
index 9fa7b13..5494c8f 100644
--- a/src/tint/constant/splat.h
+++ b/src/tint/constant/splat.h
@@ -53,6 +53,11 @@
/// @returns the hash for the splat
size_t Hash() const override { return utils::Hash(type, el->Hash(), count); }
+ /// Clones the constant into the provided context
+ /// @param ctx the clone context
+ /// @returns the cloned node
+ Splat* Clone(CloneContext& ctx) const override;
+
/// The type of the splat element
type::Type const* const type;
/// The element stored in the splat
diff --git a/src/tint/constant/splat_test.cc b/src/tint/constant/splat_test.cc
new file mode 100644
index 0000000..5c897cb
--- /dev/null
+++ b/src/tint/constant/splat_test.cc
@@ -0,0 +1,106 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "src/tint/constant/splat.h"
+
+#include "src/tint/constant/scalar.h"
+#include "src/tint/constant/test_helper.h"
+
+namespace tint::constant {
+namespace {
+
+using namespace tint::number_suffixes; // NOLINT
+
+using ConstantTest_Splat = TestHelper;
+
+TEST_F(ConstantTest_Splat, AllZero) {
+ auto* f32 = create<type::F32>();
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fNeg0 = create<Scalar<tint::f32>>(f32, -0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+
+ auto* SpfPos0 = create<Splat>(f32, fPos0, 2);
+ auto* SpfNeg0 = create<Splat>(f32, fNeg0, 2);
+ auto* SpfPos1 = create<Splat>(f32, fPos1, 2);
+
+ EXPECT_TRUE(SpfPos0->AllZero());
+ EXPECT_FALSE(SpfNeg0->AllZero());
+ EXPECT_FALSE(SpfPos1->AllZero());
+}
+
+TEST_F(ConstantTest_Splat, AnyZero) {
+ auto* f32 = create<type::F32>();
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fNeg0 = create<Scalar<tint::f32>>(f32, -0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+
+ auto* SpfPos0 = create<Splat>(f32, fPos0, 2);
+ auto* SpfNeg0 = create<Splat>(f32, fNeg0, 2);
+ auto* SpfPos1 = create<Splat>(f32, fPos1, 2);
+
+ EXPECT_TRUE(SpfPos0->AnyZero());
+ EXPECT_FALSE(SpfNeg0->AnyZero());
+ EXPECT_FALSE(SpfPos1->AnyZero());
+}
+
+TEST_F(ConstantTest_Splat, AllEqual) {
+ auto* f32 = create<type::F32>();
+
+ auto* fPos0 = create<Scalar<tint::f32>>(f32, 0_f);
+ auto* fNeg0 = create<Scalar<tint::f32>>(f32, -0_f);
+ auto* fPos1 = create<Scalar<tint::f32>>(f32, 1_f);
+
+ auto* SpfPos0 = create<Splat>(f32, fPos0, 2);
+ auto* SpfNeg0 = create<Splat>(f32, fNeg0, 2);
+ auto* SpfPos1 = create<Splat>(f32, fPos1, 2);
+
+ EXPECT_TRUE(SpfPos0->AllEqual());
+ EXPECT_TRUE(SpfNeg0->AllEqual());
+ EXPECT_TRUE(SpfPos1->AllEqual());
+}
+
+TEST_F(ConstantTest_Splat, Index) {
+ auto* f32 = create<type::F32>();
+
+ auto* f1 = create<Scalar<tint::f32>>(f32, 1_f);
+ auto* sp = create<Splat>(f32, f1, 2);
+
+ ASSERT_NE(sp->Index(0), nullptr);
+ ASSERT_NE(sp->Index(1), nullptr);
+ ASSERT_EQ(sp->Index(2), nullptr);
+
+ EXPECT_EQ(sp->Index(0)->As<Scalar<tint::f32>>()->ValueOf(), 1.f);
+ EXPECT_EQ(sp->Index(1)->As<Scalar<tint::f32>>()->ValueOf(), 1.f);
+}
+
+TEST_F(ConstantTest_Splat, Clone) {
+ auto* i32 = create<type::I32>();
+ auto* val = create<Scalar<tint::i32>>(i32, 12_i);
+ auto* sp = create<Splat>(i32, val, 2);
+
+ type::Manager mgr;
+ utils::BlockAllocator<constant::Value> consts;
+ constant::CloneContext ctx{type::CloneContext{{nullptr}, {nullptr, &mgr}}, {&consts}};
+
+ auto* r = sp->Clone(ctx);
+ ASSERT_NE(r, nullptr);
+ EXPECT_TRUE(r->type->Is<type::I32>());
+ EXPECT_TRUE(r->el->Is<Scalar<tint::i32>>());
+ EXPECT_EQ(r->count, 2u);
+}
+
+} // namespace
+} // namespace tint::constant
diff --git a/src/tint/constant/test_helper.h b/src/tint/constant/test_helper.h
new file mode 100644
index 0000000..1c4b928
--- /dev/null
+++ b/src/tint/constant/test_helper.h
@@ -0,0 +1,36 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef SRC_TINT_CONSTANT_TEST_HELPER_H_
+#define SRC_TINT_CONSTANT_TEST_HELPER_H_
+
+#include "gtest/gtest.h"
+#include "src/tint/program_builder.h"
+
+namespace tint::constant {
+
+/// Helper base class for testing
+template <typename BASE>
+class TestHelperBase : public BASE, public ProgramBuilder {};
+
+/// Helper class for testing that derives from testing::Test.
+using TestHelper = TestHelperBase<testing::Test>;
+
+/// Helper class for testing that derives from `T`.
+template <typename T>
+using TestParamHelper = TestHelperBase<testing::TestWithParam<T>>;
+
+} // namespace tint::constant
+
+#endif // SRC_TINT_CONSTANT_TEST_HELPER_H_
diff --git a/src/tint/constant/value.h b/src/tint/constant/value.h
index c16fe76..d5b9876 100644
--- a/src/tint/constant/value.h
+++ b/src/tint/constant/value.h
@@ -18,6 +18,7 @@
#include <variant>
#include "src/tint/castable.h"
+#include "src/tint/constant/clone_context.h"
#include "src/tint/constant/node.h"
#include "src/tint/number.h"
#include "src/tint/type/type.h"
@@ -75,6 +76,11 @@
/// @returns true if this value is equal to @p b
bool Equal(const constant::Value* b) const;
+ /// Clones the constant into the provided context
+ /// @param ctx the clone context
+ /// @returns the cloned node
+ virtual Value* Clone(CloneContext& ctx) const = 0;
+
protected:
/// @returns the value, if this is of a scalar value or abstract numeric, otherwise
/// std::monostate.
diff --git a/src/tint/fuzzers/tint_regex_fuzzer/wgsl_mutator.cc b/src/tint/fuzzers/tint_regex_fuzzer/wgsl_mutator.cc
index c3a1f0a..5e0a0f0 100644
--- a/src/tint/fuzzers/tint_regex_fuzzer/wgsl_mutator.cc
+++ b/src/tint/fuzzers/tint_regex_fuzzer/wgsl_mutator.cc
@@ -657,6 +657,7 @@
"unpack2x16unorm",
"unpack2x16float",
"storageBarrier",
+ "workgroupUniformLoad",
"workgroupBarrier"};
wgsl_code.replace(left_bracket_pos + function_call_identifier.first,
function_call_identifier.second,
diff --git a/src/tint/intrinsics.def b/src/tint/intrinsics.def
index 2bb3fe7..c8ff511 100644
--- a/src/tint/intrinsics.def
+++ b/src/tint/intrinsics.def
@@ -275,6 +275,8 @@
| address_space.storage
match storage
: address_space.storage
+match workgroup
+ : address_space.workgroup
////////////////////////////////////////////////////////////////////////////////
// Builtin Functions //
@@ -594,6 +596,7 @@
@const fn unpack4x8snorm(u32) -> vec4<f32>
@const fn unpack4x8unorm(u32) -> vec4<f32>
@stage("compute") fn workgroupBarrier()
+@stage("compute") fn workgroupUniformLoad<T>(ptr<workgroup, T, read_write>) -> T
fn textureDimensions<T: fiu32>(texture: texture_1d<T>) -> u32
fn textureDimensions<T: fiu32, L: iu32>(texture: texture_1d<T>, level: L) -> u32
diff --git a/src/tint/ir/builder_impl.cc b/src/tint/ir/builder_impl.cc
index 517e09b..7c4c63f1 100644
--- a/src/tint/ir/builder_impl.cc
+++ b/src/tint/ir/builder_impl.cc
@@ -83,7 +83,11 @@
} // namespace
-BuilderImpl::BuilderImpl(const Program* program) : builder(program) {}
+BuilderImpl::BuilderImpl(const Program* program)
+ : builder(program),
+ clone_ctx_{
+ type::CloneContext{{&program->Symbols()}, {&builder.ir.symbols, &builder.ir.types}},
+ {&builder.ir.constants}} {}
BuilderImpl::~BuilderImpl() = default;
@@ -565,61 +569,63 @@
}
auto* sem = builder.ir.program->Sem().Get(expr);
+ auto* ty = sem->Type()->Clone(clone_ctx_.type_ctx);
+
Binary* instr = nullptr;
switch (expr->op) {
case ast::BinaryOp::kAnd:
- instr = builder.And(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.And(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kOr:
- instr = builder.Or(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.Or(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kXor:
- instr = builder.Xor(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.Xor(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kLogicalAnd:
- instr = builder.LogicalAnd(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.LogicalAnd(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kLogicalOr:
- instr = builder.LogicalOr(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.LogicalOr(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kEqual:
- instr = builder.Equal(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.Equal(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kNotEqual:
- instr = builder.NotEqual(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.NotEqual(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kLessThan:
- instr = builder.LessThan(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.LessThan(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kGreaterThan:
- instr = builder.GreaterThan(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.GreaterThan(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kLessThanEqual:
- instr = builder.LessThanEqual(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.LessThanEqual(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kGreaterThanEqual:
- instr = builder.GreaterThanEqual(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.GreaterThanEqual(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kShiftLeft:
- instr = builder.ShiftLeft(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.ShiftLeft(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kShiftRight:
- instr = builder.ShiftRight(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.ShiftRight(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kAdd:
- instr = builder.Add(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.Add(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kSubtract:
- instr = builder.Subtract(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.Subtract(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kMultiply:
- instr = builder.Multiply(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.Multiply(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kDivide:
- instr = builder.Divide(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.Divide(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kModulo:
- instr = builder.Modulo(sem->Type(), lhs.Get(), rhs.Get());
+ instr = builder.Modulo(ty, lhs.Get(), rhs.Get());
break;
case ast::BinaryOp::kNone:
TINT_ICE(IR, diagnostics_) << "missing binary operand type";
@@ -637,7 +643,8 @@
}
auto* sem = builder.ir.program->Sem().Get(expr);
- auto* instr = builder.Bitcast(sem->Type(), val.Get());
+ auto* ty = sem->Type()->Clone(clone_ctx_.type_ctx);
+ auto* instr = builder.Bitcast(ty, val.Get());
current_flow_block->instructions.Push(instr);
return instr->Result();
@@ -653,7 +660,7 @@
return utils::Failure;
}
- auto* cv = sem->ConstantValue();
+ auto* cv = sem->ConstantValue()->Clone(clone_ctx_);
if (!cv) {
diagnostics_.add_error(
tint::diag::System::IR,
diff --git a/src/tint/ir/builder_impl.h b/src/tint/ir/builder_impl.h
index 5d6fbd7..6c858ac 100644
--- a/src/tint/ir/builder_impl.h
+++ b/src/tint/ir/builder_impl.h
@@ -19,6 +19,7 @@
#include <unordered_map>
#include <utility>
+#include "src/tint/constant/clone_context.h"
#include "src/tint/diagnostic/diagnostic.h"
#include "src/tint/ir/builder.h"
#include "src/tint/ir/flow_node.h"
@@ -212,6 +213,8 @@
/// Map from ast nodes to flow nodes, used to retrieve the flow node for a given AST node.
/// Used for testing purposes.
std::unordered_map<const ast::Node*, const FlowNode*> ast_to_flow_;
+
+ constant::CloneContext clone_ctx_;
};
} // namespace tint::ir
diff --git a/src/tint/ir/module.h b/src/tint/ir/module.h
index 1ed9ea9..5e7a9dd 100644
--- a/src/tint/ir/module.h
+++ b/src/tint/ir/module.h
@@ -21,6 +21,8 @@
#include "src/tint/ir/function.h"
#include "src/tint/ir/instruction.h"
#include "src/tint/ir/value.h"
+#include "src/tint/program_id.h"
+#include "src/tint/symbol_table.h"
#include "src/tint/type/manager.h"
#include "src/tint/utils/block_allocator.h"
#include "src/tint/utils/result.h"
@@ -68,6 +70,11 @@
/// (Note, this will probably turn into a utils::Result, just stubbing for now)
const Program* ToProgram() const;
+ private:
+ /// Program Id required to create other components
+ ProgramID prog_id_;
+
+ public:
/// The flow node allocator
utils::BlockAllocator<FlowNode> flow_nodes;
/// The constant allocator
@@ -87,6 +94,9 @@
/// The type manager for the module
type::Manager types;
+
+ /// The symbol table for the module
+ SymbolTable symbols{prog_id_};
};
} // namespace tint::ir
diff --git a/src/tint/resolver/builtin_validation_test.cc b/src/tint/resolver/builtin_validation_test.cc
index 6bda08a..2b45386 100644
--- a/src/tint/resolver/builtin_validation_test.cc
+++ b/src/tint/resolver/builtin_validation_test.cc
@@ -647,5 +647,70 @@
R"(12:34 error: cannot call built-in function 'dot4U8Packed' without extension chromium_experimental_dp4a)");
}
+TEST_F(ResolverBuiltinValidationTest, WorkgroupUniformLoad_WrongAddressSpace) {
+ // @group(0) @binding(0) var<storage, read_write> v : i32;
+ // fn foo() {
+ // workgroupUniformLoad(&v);
+ // }
+ GlobalVar("v", ty.i32(), ast::AddressSpace::kStorage, ast::Access::kReadWrite,
+ utils::Vector{Group(0_a), Binding(0_a)});
+ WrapInFunction(CallStmt(Call("workgroupUniformLoad", AddressOf(Source{{12, 34}}, "v"))));
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(r()->error(),
+ R"(error: no matching call to workgroupUniformLoad(ptr<storage, i32, read_write>)
+
+1 candidate function:
+ workgroupUniformLoad(ptr<workgroup, T, read_write>) -> T
+)");
+}
+
+TEST_F(ResolverBuiltinValidationTest, WorkgroupUniformLoad_Atomic) {
+ // var<workgroup> v : atomic<i32>;
+ // fn foo() {
+ // workgroupUniformLoad(&v);
+ // }
+ GlobalVar("v", ty.atomic<i32>(), ast::AddressSpace::kWorkgroup);
+ WrapInFunction(CallStmt(Call("workgroupUniformLoad", AddressOf(Source{{12, 34}}, "v"))));
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(
+ r()->error(),
+ R"(12:34 error: workgroupUniformLoad must not be called with an argument that contains an atomic type)");
+}
+
+TEST_F(ResolverBuiltinValidationTest, WorkgroupUniformLoad_AtomicInArray) {
+ // var<workgroup> v : array<atomic<i32>, 4>;
+ // fn foo() {
+ // workgroupUniformLoad(&v);
+ // }
+ GlobalVar("v", ty.array(ty.atomic<i32>(), 4_a), ast::AddressSpace::kWorkgroup);
+ WrapInFunction(CallStmt(Call("workgroupUniformLoad", AddressOf(Source{{12, 34}}, "v"))));
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(
+ r()->error(),
+ R"(12:34 error: workgroupUniformLoad must not be called with an argument that contains an atomic type)");
+}
+
+TEST_F(ResolverBuiltinValidationTest, WorkgroupUniformLoad_AtomicInStruct) {
+ // struct Inner { a : array<atomic<i32, 4> }
+ // struct S { i : Inner }
+ // var<workgroup> v : array<S, 4>;
+ // fn foo() {
+ // workgroupUniformLoad(&v);
+ // }
+ Structure("Inner", utils::Vector{Member("a", ty.array(ty.atomic<i32>(), 4_a))});
+ Structure("S", utils::Vector{Member("i", ty.type_name("Inner"))});
+ GlobalVar(Source{{12, 34}}, "v", ty.array(ty.type_name("S"), 4_a),
+ ast::AddressSpace::kWorkgroup);
+ WrapInFunction(CallStmt(Call("workgroupUniformLoad", AddressOf("v"))));
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(
+ r()->error(),
+ R"(error: workgroupUniformLoad must not be called with an argument that contains an atomic type)");
+}
+
} // namespace
} // namespace tint::resolver
diff --git a/src/tint/resolver/intrinsic_table.cc b/src/tint/resolver/intrinsic_table.cc
index 0b1a6d8..e49be48 100644
--- a/src/tint/resolver/intrinsic_table.cc
+++ b/src/tint/resolver/intrinsic_table.cc
@@ -63,6 +63,7 @@
// Stub implementations for type::Type conformance.
bool Equals(const type::UniqueNode&) const override { return false; }
std::string FriendlyName(const SymbolTable&) const override { return "<any>"; }
+ type::Type* Clone(type::CloneContext&) const override { return nullptr; }
};
/// Number is an 32 bit unsigned integer, which can be in one of three states:
diff --git a/src/tint/resolver/intrinsic_table.inl b/src/tint/resolver/intrinsic_table.inl
index 0507d94..b13934a 100644
--- a/src/tint/resolver/intrinsic_table.inl
+++ b/src/tint/resolver/intrinsic_table.inl
@@ -2588,6 +2588,31 @@
return "storage";
}
+/// EnumMatcher for 'match workgroup'
+class Workgroup : public NumberMatcher {
+ public:
+ /// Checks whether the given number matches the enum matcher rules.
+ /// Match may define template numbers in state.
+ /// @param state the MatchState
+ /// @param number the enum value as a Number
+ /// @return true if the enum value matches the set
+ Number Match(MatchState& state, Number number) const override;
+ /// @param state the MatchState
+ /// @return a string representation of the matcher.
+ std::string String(MatchState* state) const override;
+};
+
+Number Workgroup::Match(MatchState&, Number number) const {
+ if (number.IsAny() || number.Value() == static_cast<uint32_t>(AddressSpace::kWorkgroup)) {
+ return Number(static_cast<uint32_t>(AddressSpace::kWorkgroup));
+ }
+ return Number::invalid;
+}
+
+std::string Workgroup::String(MatchState*) const {
+ return "workgroup";
+}
+
/// Matchers holds type and number matchers
class Matchers {
private:
@@ -2674,6 +2699,7 @@
FunctionPrivateWorkgroup FunctionPrivateWorkgroup_;
WorkgroupOrStorage WorkgroupOrStorage_;
Storage Storage_;
+ Workgroup Workgroup_;
public:
/// Constructor
@@ -2758,7 +2784,7 @@
};
/// The template numbers, and number matchers
- NumberMatcher const* const number[11] = {
+ NumberMatcher const* const number[12] = {
/* [0] */ &template_number_0_,
/* [1] */ &template_number_1_,
/* [2] */ &template_number_2_,
@@ -2770,6 +2796,7 @@
/* [8] */ &FunctionPrivateWorkgroup_,
/* [9] */ &WorkgroupOrStorage_,
/* [10] */ &Storage_,
+ /* [11] */ &Workgroup_,
};
};
@@ -2799,222 +2826,224 @@
/* [19] */ 1,
/* [20] */ 0,
/* [21] */ 0,
- /* [22] */ 24,
- /* [23] */ 0,
- /* [24] */ 2,
- /* [25] */ 0,
+ /* [22] */ 25,
+ /* [23] */ 11,
+ /* [24] */ 0,
+ /* [25] */ 7,
/* [26] */ 24,
- /* [27] */ 1,
+ /* [27] */ 0,
/* [28] */ 2,
/* [29] */ 0,
- /* [30] */ 23,
- /* [31] */ 0,
- /* [32] */ 0,
- /* [33] */ 23,
- /* [34] */ 0,
- /* [35] */ 4,
- /* [36] */ 23,
- /* [37] */ 0,
- /* [38] */ 9,
- /* [39] */ 50,
- /* [40] */ 0,
+ /* [30] */ 24,
+ /* [31] */ 1,
+ /* [32] */ 2,
+ /* [33] */ 0,
+ /* [34] */ 23,
+ /* [35] */ 0,
+ /* [36] */ 0,
+ /* [37] */ 23,
+ /* [38] */ 0,
+ /* [39] */ 4,
+ /* [40] */ 23,
/* [41] */ 0,
- /* [42] */ 23,
- /* [43] */ 0,
- /* [44] */ 1,
- /* [45] */ 48,
- /* [46] */ 0,
+ /* [42] */ 9,
+ /* [43] */ 50,
+ /* [44] */ 0,
+ /* [45] */ 0,
+ /* [46] */ 23,
/* [47] */ 0,
- /* [48] */ 42,
- /* [49] */ 0,
- /* [50] */ 1,
- /* [51] */ 43,
- /* [52] */ 0,
- /* [53] */ 1,
- /* [54] */ 44,
- /* [55] */ 0,
- /* [56] */ 1,
- /* [57] */ 45,
- /* [58] */ 0,
- /* [59] */ 1,
- /* [60] */ 42,
- /* [61] */ 3,
- /* [62] */ 6,
- /* [63] */ 43,
- /* [64] */ 3,
- /* [65] */ 6,
- /* [66] */ 44,
- /* [67] */ 3,
- /* [68] */ 6,
- /* [69] */ 45,
- /* [70] */ 3,
- /* [71] */ 6,
- /* [72] */ 42,
- /* [73] */ 4,
- /* [74] */ 6,
- /* [75] */ 43,
- /* [76] */ 4,
- /* [77] */ 6,
- /* [78] */ 44,
- /* [79] */ 4,
- /* [80] */ 6,
- /* [81] */ 45,
- /* [82] */ 4,
- /* [83] */ 6,
- /* [84] */ 42,
- /* [85] */ 5,
- /* [86] */ 6,
- /* [87] */ 43,
- /* [88] */ 5,
- /* [89] */ 6,
- /* [90] */ 44,
- /* [91] */ 5,
- /* [92] */ 6,
- /* [93] */ 45,
- /* [94] */ 5,
- /* [95] */ 6,
- /* [96] */ 23,
- /* [97] */ 1,
- /* [98] */ 0,
- /* [99] */ 23,
- /* [100] */ 0,
- /* [101] */ 8,
- /* [102] */ 12,
- /* [103] */ 0,
- /* [104] */ 49,
- /* [105] */ 0,
- /* [106] */ 47,
+ /* [48] */ 1,
+ /* [49] */ 48,
+ /* [50] */ 0,
+ /* [51] */ 0,
+ /* [52] */ 42,
+ /* [53] */ 0,
+ /* [54] */ 1,
+ /* [55] */ 43,
+ /* [56] */ 0,
+ /* [57] */ 1,
+ /* [58] */ 44,
+ /* [59] */ 0,
+ /* [60] */ 1,
+ /* [61] */ 45,
+ /* [62] */ 0,
+ /* [63] */ 1,
+ /* [64] */ 42,
+ /* [65] */ 3,
+ /* [66] */ 6,
+ /* [67] */ 43,
+ /* [68] */ 3,
+ /* [69] */ 6,
+ /* [70] */ 44,
+ /* [71] */ 3,
+ /* [72] */ 6,
+ /* [73] */ 45,
+ /* [74] */ 3,
+ /* [75] */ 6,
+ /* [76] */ 42,
+ /* [77] */ 4,
+ /* [78] */ 6,
+ /* [79] */ 43,
+ /* [80] */ 4,
+ /* [81] */ 6,
+ /* [82] */ 44,
+ /* [83] */ 4,
+ /* [84] */ 6,
+ /* [85] */ 45,
+ /* [86] */ 4,
+ /* [87] */ 6,
+ /* [88] */ 42,
+ /* [89] */ 5,
+ /* [90] */ 6,
+ /* [91] */ 43,
+ /* [92] */ 5,
+ /* [93] */ 6,
+ /* [94] */ 44,
+ /* [95] */ 5,
+ /* [96] */ 6,
+ /* [97] */ 45,
+ /* [98] */ 5,
+ /* [99] */ 6,
+ /* [100] */ 23,
+ /* [101] */ 1,
+ /* [102] */ 0,
+ /* [103] */ 23,
+ /* [104] */ 0,
+ /* [105] */ 8,
+ /* [106] */ 12,
/* [107] */ 0,
- /* [108] */ 11,
- /* [109] */ 9,
- /* [110] */ 13,
- /* [111] */ 9,
- /* [112] */ 30,
- /* [113] */ 0,
- /* [114] */ 31,
- /* [115] */ 0,
- /* [116] */ 11,
- /* [117] */ 8,
- /* [118] */ 32,
+ /* [108] */ 49,
+ /* [109] */ 0,
+ /* [110] */ 47,
+ /* [111] */ 0,
+ /* [112] */ 11,
+ /* [113] */ 9,
+ /* [114] */ 13,
+ /* [115] */ 9,
+ /* [116] */ 30,
+ /* [117] */ 0,
+ /* [118] */ 31,
/* [119] */ 0,
- /* [120] */ 33,
- /* [121] */ 0,
- /* [122] */ 12,
- /* [123] */ 8,
- /* [124] */ 34,
+ /* [120] */ 11,
+ /* [121] */ 8,
+ /* [122] */ 32,
+ /* [123] */ 0,
+ /* [124] */ 33,
/* [125] */ 0,
- /* [126] */ 35,
- /* [127] */ 0,
- /* [128] */ 36,
+ /* [126] */ 12,
+ /* [127] */ 8,
+ /* [128] */ 34,
/* [129] */ 0,
- /* [130] */ 13,
+ /* [130] */ 35,
/* [131] */ 0,
- /* [132] */ 11,
- /* [133] */ 7,
- /* [134] */ 12,
- /* [135] */ 9,
- /* [136] */ 30,
- /* [137] */ 9,
- /* [138] */ 31,
+ /* [132] */ 36,
+ /* [133] */ 0,
+ /* [134] */ 13,
+ /* [135] */ 0,
+ /* [136] */ 11,
+ /* [137] */ 7,
+ /* [138] */ 12,
/* [139] */ 9,
- /* [140] */ 32,
+ /* [140] */ 30,
/* [141] */ 9,
- /* [142] */ 33,
+ /* [142] */ 31,
/* [143] */ 9,
- /* [144] */ 12,
- /* [145] */ 7,
- /* [146] */ 34,
+ /* [144] */ 32,
+ /* [145] */ 9,
+ /* [146] */ 33,
/* [147] */ 9,
- /* [148] */ 35,
- /* [149] */ 9,
- /* [150] */ 11,
- /* [151] */ 0,
- /* [152] */ 13,
- /* [153] */ 7,
+ /* [148] */ 12,
+ /* [149] */ 7,
+ /* [150] */ 34,
+ /* [151] */ 9,
+ /* [152] */ 35,
+ /* [153] */ 9,
/* [154] */ 13,
- /* [155] */ 8,
- /* [156] */ 11,
- /* [157] */ 1,
- /* [158] */ 12,
+ /* [155] */ 7,
+ /* [156] */ 13,
+ /* [157] */ 8,
+ /* [158] */ 11,
/* [159] */ 1,
- /* [160] */ 51,
- /* [161] */ 0,
- /* [162] */ 11,
- /* [163] */ 10,
+ /* [160] */ 12,
+ /* [161] */ 1,
+ /* [162] */ 51,
+ /* [163] */ 0,
/* [164] */ 11,
- /* [165] */ 4,
- /* [166] */ 12,
- /* [167] */ 10,
+ /* [165] */ 10,
+ /* [166] */ 11,
+ /* [167] */ 4,
/* [168] */ 12,
- /* [169] */ 4,
- /* [170] */ 13,
- /* [171] */ 1,
+ /* [169] */ 10,
+ /* [170] */ 12,
+ /* [171] */ 4,
/* [172] */ 13,
- /* [173] */ 10,
+ /* [173] */ 1,
/* [174] */ 13,
- /* [175] */ 4,
- /* [176] */ 14,
- /* [177] */ 0,
+ /* [175] */ 10,
+ /* [176] */ 13,
+ /* [177] */ 4,
/* [178] */ 14,
- /* [179] */ 9,
+ /* [179] */ 0,
/* [180] */ 14,
- /* [181] */ 10,
- /* [182] */ 15,
- /* [183] */ 0,
+ /* [181] */ 9,
+ /* [182] */ 14,
+ /* [183] */ 10,
/* [184] */ 15,
- /* [185] */ 9,
+ /* [185] */ 0,
/* [186] */ 15,
- /* [187] */ 10,
- /* [188] */ 16,
- /* [189] */ 0,
+ /* [187] */ 9,
+ /* [188] */ 15,
+ /* [189] */ 10,
/* [190] */ 16,
- /* [191] */ 9,
+ /* [191] */ 0,
/* [192] */ 16,
- /* [193] */ 10,
- /* [194] */ 17,
- /* [195] */ 0,
+ /* [193] */ 9,
+ /* [194] */ 16,
+ /* [195] */ 10,
/* [196] */ 17,
- /* [197] */ 9,
+ /* [197] */ 0,
/* [198] */ 17,
- /* [199] */ 10,
- /* [200] */ 18,
- /* [201] */ 0,
+ /* [199] */ 9,
+ /* [200] */ 17,
+ /* [201] */ 10,
/* [202] */ 18,
- /* [203] */ 9,
+ /* [203] */ 0,
/* [204] */ 18,
- /* [205] */ 10,
- /* [206] */ 19,
- /* [207] */ 0,
+ /* [205] */ 9,
+ /* [206] */ 18,
+ /* [207] */ 10,
/* [208] */ 19,
- /* [209] */ 9,
+ /* [209] */ 0,
/* [210] */ 19,
- /* [211] */ 10,
- /* [212] */ 20,
- /* [213] */ 0,
+ /* [211] */ 9,
+ /* [212] */ 19,
+ /* [213] */ 10,
/* [214] */ 20,
- /* [215] */ 9,
+ /* [215] */ 0,
/* [216] */ 20,
- /* [217] */ 10,
- /* [218] */ 21,
- /* [219] */ 0,
+ /* [217] */ 9,
+ /* [218] */ 20,
+ /* [219] */ 10,
/* [220] */ 21,
- /* [221] */ 9,
+ /* [221] */ 0,
/* [222] */ 21,
- /* [223] */ 10,
- /* [224] */ 22,
- /* [225] */ 0,
+ /* [223] */ 9,
+ /* [224] */ 21,
+ /* [225] */ 10,
/* [226] */ 22,
- /* [227] */ 9,
+ /* [227] */ 0,
/* [228] */ 22,
- /* [229] */ 10,
- /* [230] */ 37,
- /* [231] */ 38,
- /* [232] */ 39,
- /* [233] */ 40,
- /* [234] */ 41,
- /* [235] */ 46,
- /* [236] */ 28,
- /* [237] */ 29,
+ /* [229] */ 9,
+ /* [230] */ 22,
+ /* [231] */ 10,
+ /* [232] */ 37,
+ /* [233] */ 38,
+ /* [234] */ 39,
+ /* [235] */ 40,
+ /* [236] */ 41,
+ /* [237] */ 46,
+ /* [238] */ 28,
+ /* [239] */ 29,
};
// Assert that the MatcherIndex is big enough to index all the matchers, plus
@@ -3352,17 +3381,17 @@
{
/* [65] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [66] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [67] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [68] */
@@ -3372,17 +3401,17 @@
{
/* [69] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [70] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [71] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [72] */
@@ -3392,42 +3421,42 @@
{
/* [73] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [74] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [75] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [76] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [77] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [78] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [79] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [80] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [81] */
@@ -3437,27 +3466,27 @@
{
/* [82] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [83] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [84] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [85] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [86] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [87] */
@@ -3467,27 +3496,27 @@
{
/* [88] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [89] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [90] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [91] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [92] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [93] */
@@ -3497,27 +3526,27 @@
{
/* [94] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [95] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [96] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [97] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [98] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [99] */
@@ -3527,57 +3556,57 @@
{
/* [100] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [101] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [102] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [103] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [104] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [105] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [106] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [107] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [108] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [109] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [110] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [111] */
@@ -3587,57 +3616,57 @@
{
/* [112] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [113] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [114] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [115] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [116] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [117] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [118] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [119] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [120] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [121] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [122] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [123] */
@@ -3647,27 +3676,27 @@
{
/* [124] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [125] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [126] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [127] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [128] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [129] */
@@ -3677,27 +3706,27 @@
{
/* [130] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [131] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [132] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [133] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [134] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [135] */
@@ -3712,7 +3741,7 @@
{
/* [137] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [138] */
@@ -3782,22 +3811,22 @@
{
/* [151] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[118],
},
{
/* [152] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [153] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [154] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [155] */
@@ -3807,22 +3836,22 @@
{
/* [156] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [157] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [158] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [159] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [160] */
@@ -3832,37 +3861,37 @@
{
/* [161] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [162] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [163] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [164] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [165] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [166] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [167] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [168] */
@@ -3872,47 +3901,47 @@
{
/* [169] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [170] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [171] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [172] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [173] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [174] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [175] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [176] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [177] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [178] */
@@ -3922,22 +3951,22 @@
{
/* [179] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [180] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [181] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [182] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [183] */
@@ -3947,22 +3976,22 @@
{
/* [184] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [185] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [186] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [187] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [188] */
@@ -3972,22 +4001,22 @@
{
/* [189] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [190] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [191] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [192] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [193] */
@@ -3997,47 +4026,47 @@
{
/* [194] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [195] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [196] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [197] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [198] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [199] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [200] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [201] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [202] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [203] */
@@ -4047,47 +4076,47 @@
{
/* [204] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [205] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [206] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [207] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [208] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [209] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [210] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [211] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [212] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [213] */
@@ -4097,47 +4126,47 @@
{
/* [214] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [215] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [216] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [217] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [218] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [219] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [220] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [221] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [222] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [223] */
@@ -4147,22 +4176,22 @@
{
/* [224] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [225] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [226] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [227] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [228] */
@@ -4172,47 +4201,47 @@
{
/* [229] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [230] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [231] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [232] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [233] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [234] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [235] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [236] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [237] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [238] */
@@ -4222,22 +4251,22 @@
{
/* [239] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [240] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [241] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [242] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [243] */
@@ -4247,122 +4276,122 @@
{
/* [244] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [245] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [246] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [247] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [248] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [249] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [250] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [251] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [252] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [253] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [254] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [255] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[150],
},
{
/* [256] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [257] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [258] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [259] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [260] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [261] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [262] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [263] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [264] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [265] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [266] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [267] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [268] */
@@ -4372,47 +4401,47 @@
{
/* [269] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [270] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [271] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [272] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [273] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [274] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [275] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [276] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [277] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [278] */
@@ -4422,22 +4451,22 @@
{
/* [279] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [280] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [281] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [282] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [283] */
@@ -4447,22 +4476,22 @@
{
/* [284] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [285] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [286] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [287] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [288] */
@@ -4477,17 +4506,17 @@
{
/* [290] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [291] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [292] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [293] */
@@ -4512,32 +4541,32 @@
{
/* [297] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [298] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [299] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [300] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [301] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [302] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [303] */
@@ -4547,17 +4576,17 @@
{
/* [304] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[118],
},
{
/* [305] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [306] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [307] */
@@ -4567,52 +4596,52 @@
{
/* [308] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[124],
+ /* matcher indices */ &kMatcherIndices[128],
},
{
/* [309] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [310] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [311] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [312] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [313] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [314] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [315] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [316] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [317] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [318] */
@@ -4622,17 +4651,17 @@
{
/* [319] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [320] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [321] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [322] */
@@ -4642,77 +4671,77 @@
{
/* [323] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [324] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [325] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [326] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [327] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [328] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [329] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [330] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [331] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [332] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [333] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [334] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [335] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[140],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [336] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [337] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [338] */
@@ -4722,37 +4751,37 @@
{
/* [339] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [340] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [341] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [342] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [343] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* matcher indices */ &kMatcherIndices[152],
},
{
/* [344] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [345] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [346] */
@@ -4762,37 +4791,37 @@
{
/* [347] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [348] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [349] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [350] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [351] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [352] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [353] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [354] */
@@ -4802,17 +4831,17 @@
{
/* [355] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [356] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [357] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [358] */
@@ -4822,217 +4851,217 @@
{
/* [359] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [360] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [361] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [362] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [363] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [364] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [365] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [366] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [367] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[150],
},
{
/* [368] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [369] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [370] */
/* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [371] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [372] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [373] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [374] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [375] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [376] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [377] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [378] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [379] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [380] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [381] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [382] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [383] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [384] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[237],
+ /* matcher indices */ &kMatcherIndices[239],
},
{
/* [385] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [386] */
/* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [387] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [388] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [389] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [390] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [391] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [392] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [393] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [394] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [395] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[150],
},
{
/* [396] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [397] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [398] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [399] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [400] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [401] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [402] */
@@ -5042,17 +5071,17 @@
{
/* [403] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [404] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [405] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [406] */
@@ -5062,12 +5091,12 @@
{
/* [407] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[66],
+ /* matcher indices */ &kMatcherIndices[70],
},
{
/* [408] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [409] */
@@ -5077,17 +5106,17 @@
{
/* [410] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [411] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[78],
+ /* matcher indices */ &kMatcherIndices[82],
},
{
/* [412] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [413] */
@@ -5097,17 +5126,17 @@
{
/* [414] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[152],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [415] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[90],
+ /* matcher indices */ &kMatcherIndices[94],
},
{
/* [416] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [417] */
@@ -5117,37 +5146,37 @@
{
/* [418] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[154],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [419] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [420] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [421] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [422] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[61],
+ /* matcher indices */ &kMatcherIndices[65],
},
{
/* [423] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [424] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [425] */
@@ -5157,7 +5186,7 @@
{
/* [426] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [427] */
@@ -5202,62 +5231,62 @@
{
/* [435] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [436] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [437] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [438] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [439] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [440] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [441] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [442] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [443] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [444] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [445] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [446] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [447] */
@@ -5277,17 +5306,17 @@
{
/* [450] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [451] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [452] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [453] */
@@ -5297,42 +5326,42 @@
{
/* [454] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [455] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [456] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [457] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [458] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [459] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [460] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [461] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [462] */
@@ -5352,17 +5381,17 @@
{
/* [465] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [466] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [467] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [468] */
@@ -5382,27 +5411,27 @@
{
/* [471] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [472] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [473] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [474] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [475] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [476] */
@@ -5412,12 +5441,12 @@
{
/* [477] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [478] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [479] */
@@ -5437,37 +5466,37 @@
{
/* [482] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [483] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [484] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [485] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [486] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [487] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [488] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [489] */
@@ -5487,172 +5516,172 @@
{
/* [492] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [493] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [494] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [495] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [496] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [497] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [498] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [499] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [500] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [501] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[136],
+ /* matcher indices */ &kMatcherIndices[140],
},
{
/* [502] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [503] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [504] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [505] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [506] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [507] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[142],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [508] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [509] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [510] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[150],
},
{
/* [511] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [512] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [513] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [514] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [515] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [516] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [517] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [518] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[138],
},
{
/* [519] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[138],
+ /* matcher indices */ &kMatcherIndices[142],
},
{
/* [520] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [521] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [522] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[235],
+ /* matcher indices */ &kMatcherIndices[237],
},
{
/* [523] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[236],
+ /* matcher indices */ &kMatcherIndices[238],
},
{
/* [524] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [525] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[60],
+ /* matcher indices */ &kMatcherIndices[64],
},
{
/* [526] */
@@ -5662,42 +5691,42 @@
{
/* [527] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [528] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[63],
+ /* matcher indices */ &kMatcherIndices[67],
},
{
/* [529] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [530] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [531] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[69],
+ /* matcher indices */ &kMatcherIndices[73],
},
{
/* [532] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [533] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [534] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[72],
+ /* matcher indices */ &kMatcherIndices[76],
},
{
/* [535] */
@@ -5707,42 +5736,42 @@
{
/* [536] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[152],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [537] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[75],
+ /* matcher indices */ &kMatcherIndices[79],
},
{
/* [538] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [539] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[152],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [540] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [541] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [542] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[152],
+ /* matcher indices */ &kMatcherIndices[154],
},
{
/* [543] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[84],
+ /* matcher indices */ &kMatcherIndices[88],
},
{
/* [544] */
@@ -5752,42 +5781,42 @@
{
/* [545] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[154],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [546] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [547] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [548] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[154],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [549] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [550] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [551] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[154],
+ /* matcher indices */ &kMatcherIndices[156],
},
{
/* [552] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[112],
+ /* matcher indices */ &kMatcherIndices[116],
},
{
/* [553] */
@@ -5797,62 +5826,62 @@
{
/* [554] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [555] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[118],
},
{
/* [556] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [557] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [558] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[120],
+ /* matcher indices */ &kMatcherIndices[124],
},
{
/* [559] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [560] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [561] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[128],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [562] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [563] */
/* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [564] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [565] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [566] */
@@ -5862,12 +5891,12 @@
{
/* [567] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[234],
+ /* matcher indices */ &kMatcherIndices[236],
},
{
/* [568] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [569] */
@@ -5907,7 +5936,7 @@
{
/* [576] */
/* usage */ ParameterUsage::kXy,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [577] */
@@ -5927,7 +5956,7 @@
{
/* [580] */
/* usage */ ParameterUsage::kYz,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [581] */
@@ -5947,52 +5976,52 @@
{
/* [584] */
/* usage */ ParameterUsage::kZw,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [585] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [586] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [587] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [588] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [589] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [590] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [591] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [592] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [593] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [594] */
@@ -6007,22 +6036,22 @@
{
/* [596] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [597] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [598] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [599] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [600] */
@@ -6037,42 +6066,42 @@
{
/* [602] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [603] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [604] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [605] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [606] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [607] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [608] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [609] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [610] */
@@ -6087,12 +6116,12 @@
{
/* [612] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [613] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[42],
+ /* matcher indices */ &kMatcherIndices[46],
},
{
/* [614] */
@@ -6107,12 +6136,12 @@
{
/* [616] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [617] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [618] */
@@ -6127,12 +6156,12 @@
{
/* [620] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [621] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [622] */
@@ -6147,22 +6176,22 @@
{
/* [624] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [625] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [626] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [627] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [628] */
@@ -6177,17 +6206,17 @@
{
/* [630] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [631] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [632] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[112],
+ /* matcher indices */ &kMatcherIndices[116],
},
{
/* [633] */
@@ -6197,7 +6226,7 @@
{
/* [634] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[118],
},
{
/* [635] */
@@ -6207,7 +6236,7 @@
{
/* [636] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [637] */
@@ -6217,7 +6246,7 @@
{
/* [638] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[120],
+ /* matcher indices */ &kMatcherIndices[124],
},
{
/* [639] */
@@ -6227,7 +6256,7 @@
{
/* [640] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[124],
+ /* matcher indices */ &kMatcherIndices[128],
},
{
/* [641] */
@@ -6237,7 +6266,7 @@
{
/* [642] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [643] */
@@ -6247,7 +6276,7 @@
{
/* [644] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [645] */
@@ -6257,7 +6286,7 @@
{
/* [646] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [647] */
@@ -6267,7 +6296,7 @@
{
/* [648] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [649] */
@@ -6277,7 +6306,7 @@
{
/* [650] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [651] */
@@ -6287,12 +6316,12 @@
{
/* [652] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[235],
+ /* matcher indices */ &kMatcherIndices[237],
},
{
/* [653] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [654] */
@@ -6397,17 +6426,17 @@
{
/* [674] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [675] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [676] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [677] */
@@ -6422,7 +6451,7 @@
{
/* [679] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [680] */
@@ -6447,17 +6476,17 @@
{
/* [684] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [685] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [686] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [687] */
@@ -6472,7 +6501,7 @@
{
/* [689] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [690] */
@@ -6497,17 +6526,17 @@
{
/* [694] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [695] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [696] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [697] */
@@ -6522,7 +6551,7 @@
{
/* [699] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [700] */
@@ -6552,12 +6581,12 @@
{
/* [705] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [706] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[96],
+ /* matcher indices */ &kMatcherIndices[100],
},
{
/* [707] */
@@ -6567,7 +6596,7 @@
{
/* [708] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[22],
+ /* matcher indices */ &kMatcherIndices[26],
},
{
/* [709] */
@@ -6587,17 +6616,17 @@
{
/* [712] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [713] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [714] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [715] */
@@ -6612,7 +6641,7 @@
{
/* [717] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [718] */
@@ -6627,17 +6656,17 @@
{
/* [720] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [721] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [722] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [723] */
@@ -6652,7 +6681,7 @@
{
/* [725] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [726] */
@@ -6667,32 +6696,32 @@
{
/* [728] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [729] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [730] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [731] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [732] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [733] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [734] */
@@ -6707,32 +6736,32 @@
{
/* [736] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [737] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [738] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [739] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [740] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [741] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [742] */
@@ -6747,32 +6776,32 @@
{
/* [744] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [745] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [746] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [747] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [748] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [749] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [750] */
@@ -6787,12 +6816,12 @@
{
/* [752] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [753] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [754] */
@@ -6807,12 +6836,12 @@
{
/* [756] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [757] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [758] */
@@ -6827,12 +6856,12 @@
{
/* [760] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [761] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [762] */
@@ -6847,12 +6876,12 @@
{
/* [764] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [765] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [766] */
@@ -6867,12 +6896,12 @@
{
/* [768] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [769] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [770] */
@@ -6887,12 +6916,12 @@
{
/* [772] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [773] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [774] */
@@ -6902,17 +6931,17 @@
{
/* [775] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [776] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [777] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[103],
},
{
/* [778] */
@@ -6922,17 +6951,17 @@
{
/* [779] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [780] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [781] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[103],
},
{
/* [782] */
@@ -6947,7 +6976,7 @@
{
/* [784] */
/* usage */ ParameterUsage::kXy,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [785] */
@@ -6962,22 +6991,22 @@
{
/* [787] */
/* usage */ ParameterUsage::kYz,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [788] */
/* usage */ ParameterUsage::kXy,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [789] */
/* usage */ ParameterUsage::kZw,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [790] */
/* usage */ ParameterUsage::kXyz,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [791] */
@@ -6992,37 +7021,37 @@
{
/* [793] */
/* usage */ ParameterUsage::kZyw,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [794] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [795] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [796] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [797] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [798] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [799] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [800] */
@@ -7032,7 +7061,7 @@
{
/* [801] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [802] */
@@ -7042,7 +7071,7 @@
{
/* [803] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [804] */
@@ -7052,27 +7081,27 @@
{
/* [805] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [806] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [807] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [808] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [809] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [810] */
@@ -7087,7 +7116,7 @@
{
/* [812] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [813] */
@@ -7097,7 +7126,7 @@
{
/* [814] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [815] */
@@ -7107,7 +7136,7 @@
{
/* [816] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [817] */
@@ -7117,7 +7146,7 @@
{
/* [818] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [819] */
@@ -7127,7 +7156,7 @@
{
/* [820] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [821] */
@@ -7137,7 +7166,7 @@
{
/* [822] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [823] */
@@ -7147,7 +7176,7 @@
{
/* [824] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [825] */
@@ -7157,7 +7186,7 @@
{
/* [826] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [827] */
@@ -7167,7 +7196,7 @@
{
/* [828] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [829] */
@@ -7177,7 +7206,7 @@
{
/* [830] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [831] */
@@ -7187,7 +7216,7 @@
{
/* [832] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [833] */
@@ -7197,62 +7226,62 @@
{
/* [834] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [835] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [836] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [837] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [838] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [839] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [840] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [841] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [842] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [843] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [844] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [845] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [846] */
@@ -7262,7 +7291,7 @@
{
/* [847] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [848] */
@@ -7272,7 +7301,7 @@
{
/* [849] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [850] */
@@ -7282,7 +7311,7 @@
{
/* [851] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [852] */
@@ -7292,7 +7321,7 @@
{
/* [853] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [854] */
@@ -7302,7 +7331,7 @@
{
/* [855] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [856] */
@@ -7312,7 +7341,7 @@
{
/* [857] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [858] */
@@ -7322,37 +7351,37 @@
{
/* [859] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [860] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [861] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [862] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [863] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [864] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [865] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [866] */
@@ -7362,7 +7391,7 @@
{
/* [867] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [868] */
@@ -7372,7 +7401,7 @@
{
/* [869] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [870] */
@@ -7382,7 +7411,7 @@
{
/* [871] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [872] */
@@ -7392,7 +7421,7 @@
{
/* [873] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [874] */
@@ -7402,47 +7431,47 @@
{
/* [875] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [876] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [877] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [878] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [879] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[108],
+ /* matcher indices */ &kMatcherIndices[112],
},
{
/* [880] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [881] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[114],
},
{
/* [882] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [883] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[40],
},
{
/* [884] */
@@ -7452,7 +7481,7 @@
{
/* [885] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [886] */
@@ -7462,7 +7491,7 @@
{
/* [887] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [888] */
@@ -7472,7 +7501,7 @@
{
/* [889] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [890] */
@@ -7482,7 +7511,7 @@
{
/* [891] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [892] */
@@ -7492,7 +7521,7 @@
{
/* [893] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [894] */
@@ -7502,7 +7531,7 @@
{
/* [895] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [896] */
@@ -7512,7 +7541,7 @@
{
/* [897] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [898] */
@@ -7522,7 +7551,7 @@
{
/* [899] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [900] */
@@ -7532,7 +7561,7 @@
{
/* [901] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [902] */
@@ -7542,7 +7571,7 @@
{
/* [903] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [904] */
@@ -7557,42 +7586,42 @@
{
/* [906] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [907] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [908] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [909] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [910] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [911] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [912] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[112],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[22],
},
{
/* [913] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[116],
},
{
/* [914] */
@@ -7602,7 +7631,7 @@
{
/* [915] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[120],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [916] */
@@ -7612,77 +7641,77 @@
{
/* [917] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[128],
},
{
/* [918] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[128],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [919] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [920] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [921] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [922] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [923] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[234],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [924] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[48],
+ /* matcher indices */ &kMatcherIndices[236],
},
{
/* [925] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[51],
+ /* matcher indices */ &kMatcherIndices[52],
},
{
/* [926] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[54],
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [927] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[57],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [928] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[235],
+ /* matcher indices */ &kMatcherIndices[61],
},
{
/* [929] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[118],
+ /* matcher indices */ &kMatcherIndices[237],
},
{
/* [930] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [931] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [932] */
@@ -7692,17 +7721,17 @@
{
/* [933] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[54],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [934] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[112],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [935] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[114],
+ /* matcher indices */ &kMatcherIndices[116],
},
{
/* [936] */
@@ -7712,7 +7741,7 @@
{
/* [937] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[120],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [938] */
@@ -7722,237 +7751,237 @@
{
/* [939] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[126],
+ /* matcher indices */ &kMatcherIndices[128],
},
{
/* [940] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[230],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [941] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[231],
+ /* matcher indices */ &kMatcherIndices[232],
},
{
/* [942] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[232],
+ /* matcher indices */ &kMatcherIndices[233],
},
{
/* [943] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[233],
+ /* matcher indices */ &kMatcherIndices[234],
},
{
/* [944] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[128],
+ /* matcher indices */ &kMatcherIndices[235],
},
{
/* [945] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[234],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [946] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[236],
},
{
/* [947] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [948] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [949] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [950] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[37],
},
{
/* [951] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [952] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [953] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [954] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[9],
+ /* matcher indices */ &kMatcherIndices[34],
},
{
/* [955] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[9],
},
{
/* [956] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [957] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[105],
},
{
/* [958] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [959] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [960] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [961] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [962] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [963] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [964] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [965] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[23],
},
{
/* [966] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [967] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [968] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [969] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [970] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[156],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [971] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[102],
+ /* matcher indices */ &kMatcherIndices[158],
},
{
/* [972] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[106],
},
{
/* [973] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [974] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [975] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [976] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [977] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[158],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [978] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[160],
},
{
/* [979] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [980] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [981] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [982] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [983] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [984] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[170],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [985] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[176],
+ /* matcher indices */ &kMatcherIndices[172],
},
{
/* [986] */
@@ -8084,6 +8113,11 @@
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[228],
},
+ {
+ /* [1012] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[230],
+ },
};
constexpr TemplateTypeInfo kTemplateTypes[] = {
@@ -8340,8 +8374,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[912],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[913],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8353,7 +8387,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[632],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8364,8 +8398,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[913],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[914],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8377,7 +8411,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[634],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8388,8 +8422,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[914],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[915],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8401,7 +8435,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[636],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8412,8 +8446,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[915],
- /* return matcher indices */ &kMatcherIndices[122],
+ /* parameters */ &kParameters[916],
+ /* return matcher indices */ &kMatcherIndices[126],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8425,7 +8459,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[638],
- /* return matcher indices */ &kMatcherIndices[122],
+ /* return matcher indices */ &kMatcherIndices[126],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8436,8 +8470,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[916],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[917],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8449,7 +8483,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[640],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8460,8 +8494,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[917],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[918],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8473,7 +8507,7 @@
/* template types */ &kTemplateTypes[12],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[642],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8484,8 +8518,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[918],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[919],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8496,8 +8530,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[919],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[920],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8509,7 +8543,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[644],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8520,8 +8554,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[920],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[921],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8533,7 +8567,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[646],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8544,8 +8578,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[921],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[922],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8557,7 +8591,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[648],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8568,8 +8602,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[922],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[923],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8581,7 +8615,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[650],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8592,8 +8626,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[923],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[924],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8604,8 +8638,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[924],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[925],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8616,8 +8650,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[925],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[926],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8628,8 +8662,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[926],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[927],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8640,8 +8674,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[927],
- /* return matcher indices */ &kMatcherIndices[122],
+ /* parameters */ &kParameters[928],
+ /* return matcher indices */ &kMatcherIndices[126],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8652,8 +8686,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[928],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[929],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -8665,7 +8699,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[501],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8677,7 +8711,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[504],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8689,7 +8723,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[331],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8701,7 +8735,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[335],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8713,7 +8747,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[185],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8725,7 +8759,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[507],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8737,7 +8771,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[339],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8749,7 +8783,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[510],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8761,7 +8795,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[343],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8773,7 +8807,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[513],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8785,7 +8819,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[347],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8797,7 +8831,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[351],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8809,7 +8843,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[190],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8821,7 +8855,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[516],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8833,7 +8867,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[355],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -8844,8 +8878,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[36],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -8856,8 +8890,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[978],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* parameters */ &kParameters[979],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -8868,8 +8902,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[979],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* parameters */ &kParameters[980],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecSplat,
},
@@ -8881,7 +8915,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[427],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitS,
},
@@ -8893,7 +8927,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[576],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8905,7 +8939,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[579],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8917,7 +8951,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[582],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8929,7 +8963,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[788],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8941,7 +8975,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[790],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8953,7 +8987,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[792],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -8964,8 +8998,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[980],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* parameters */ &kParameters[981],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -8976,8 +9010,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[981],
- /* return matcher indices */ &kMatcherIndices[172],
+ /* parameters */ &kParameters[982],
+ /* return matcher indices */ &kMatcherIndices[174],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -8988,8 +9022,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[18],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[982],
- /* return matcher indices */ &kMatcherIndices[152],
+ /* parameters */ &kParameters[983],
+ /* return matcher indices */ &kMatcherIndices[154],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9000,8 +9034,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[20],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[983],
- /* return matcher indices */ &kMatcherIndices[154],
+ /* parameters */ &kParameters[984],
+ /* return matcher indices */ &kMatcherIndices[156],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9012,8 +9046,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[22],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[984],
- /* return matcher indices */ &kMatcherIndices[174],
+ /* parameters */ &kParameters[985],
+ /* return matcher indices */ &kMatcherIndices[176],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9025,7 +9059,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[387],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9037,7 +9071,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[260],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9049,7 +9083,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[265],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9061,7 +9095,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[126],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9073,7 +9107,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[391],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9085,7 +9119,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[270],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9097,7 +9131,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[395],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9109,7 +9143,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[275],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9121,7 +9155,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[399],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9133,7 +9167,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[280],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9145,7 +9179,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[285],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9157,7 +9191,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[132],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9169,7 +9203,7 @@
/* template types */ &kTemplateTypes[3],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[403],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9181,7 +9215,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[290],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9193,7 +9227,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[303],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9205,7 +9239,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[150],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9217,7 +9251,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[155],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9229,7 +9263,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[72],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9241,7 +9275,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[307],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9253,7 +9287,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[160],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9265,7 +9299,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[495],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9277,7 +9311,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[311],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9289,7 +9323,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[315],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9301,7 +9335,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[165],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9313,7 +9347,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[498],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9325,7 +9359,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[319],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9480,8 +9514,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[36],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -9492,8 +9526,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[971],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* parameters */ &kParameters[972],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -9504,8 +9538,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[972],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* parameters */ &kParameters[973],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecSplat,
},
@@ -9517,7 +9551,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[573],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitS,
},
@@ -9529,7 +9563,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[784],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -9541,7 +9575,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[786],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitM,
},
@@ -9552,8 +9586,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[973],
- /* return matcher indices */ &kMatcherIndices[134],
+ /* parameters */ &kParameters[974],
+ /* return matcher indices */ &kMatcherIndices[138],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9564,8 +9598,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[974],
- /* return matcher indices */ &kMatcherIndices[166],
+ /* parameters */ &kParameters[975],
+ /* return matcher indices */ &kMatcherIndices[168],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9576,8 +9610,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[18],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[975],
- /* return matcher indices */ &kMatcherIndices[144],
+ /* parameters */ &kParameters[976],
+ /* return matcher indices */ &kMatcherIndices[148],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9588,8 +9622,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[20],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[976],
- /* return matcher indices */ &kMatcherIndices[122],
+ /* parameters */ &kParameters[977],
+ /* return matcher indices */ &kMatcherIndices[126],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9600,8 +9634,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[22],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[977],
- /* return matcher indices */ &kMatcherIndices[168],
+ /* parameters */ &kParameters[978],
+ /* return matcher indices */ &kMatcherIndices[170],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -9612,8 +9646,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[934],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[935],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9624,8 +9658,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[935],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[936],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9636,8 +9670,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[936],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[937],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9648,8 +9682,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[937],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[938],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9660,8 +9694,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[938],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[939],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9672,8 +9706,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[939],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[940],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9684,8 +9718,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[940],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[941],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9696,8 +9730,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[941],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[942],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9708,8 +9742,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[942],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[943],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9720,8 +9754,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[943],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[944],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9733,7 +9767,7 @@
/* template types */ &kTemplateTypes[4],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[552],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9745,7 +9779,7 @@
/* template types */ &kTemplateTypes[4],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[555],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9757,7 +9791,7 @@
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[419],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9769,7 +9803,7 @@
/* template types */ &kTemplateTypes[4],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[558],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9781,7 +9815,7 @@
/* template types */ &kTemplateTypes[7],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[561],
- /* return matcher indices */ &kMatcherIndices[130],
+ /* return matcher indices */ &kMatcherIndices[134],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9793,7 +9827,7 @@
/* template types */ &kTemplateTypes[5],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[564],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9805,7 +9839,7 @@
/* template types */ &kTemplateTypes[1],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[423],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9817,7 +9851,7 @@
/* template types */ &kTemplateTypes[8],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[567],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9829,7 +9863,7 @@
/* template types */ &kTemplateTypes[1],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[652],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -9853,7 +9887,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[694],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiply,
},
@@ -9865,7 +9899,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[696],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiply,
},
@@ -9877,7 +9911,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[698],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiply,
},
@@ -9913,7 +9947,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[1],
/* parameters */ &kParameters[704],
- /* return matcher indices */ &kMatcherIndices[96],
+ /* return matcher indices */ &kMatcherIndices[100],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiplyMatVec,
},
@@ -9925,7 +9959,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[1],
/* parameters */ &kParameters[706],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiplyVecMat,
},
@@ -9937,7 +9971,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[0],
/* parameters */ &kParameters[708],
- /* return matcher indices */ &kMatcherIndices[26],
+ /* return matcher indices */ &kMatcherIndices[30],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMultiplyMatMat,
},
@@ -9948,8 +9982,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[36],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[150],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[23],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -9960,8 +9994,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[964],
- /* return matcher indices */ &kMatcherIndices[150],
+ /* parameters */ &kParameters[965],
+ /* return matcher indices */ &kMatcherIndices[23],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -9972,8 +10006,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[965],
- /* return matcher indices */ &kMatcherIndices[150],
+ /* parameters */ &kParameters[966],
+ /* return matcher indices */ &kMatcherIndices[23],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecSplat,
},
@@ -9985,7 +10019,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[782],
- /* return matcher indices */ &kMatcherIndices[150],
+ /* return matcher indices */ &kMatcherIndices[23],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::VecInitS,
},
@@ -9996,8 +10030,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[966],
- /* return matcher indices */ &kMatcherIndices[108],
+ /* parameters */ &kParameters[967],
+ /* return matcher indices */ &kMatcherIndices[112],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10008,8 +10042,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[967],
- /* return matcher indices */ &kMatcherIndices[162],
+ /* parameters */ &kParameters[968],
+ /* return matcher indices */ &kMatcherIndices[164],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10020,8 +10054,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[18],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[968],
- /* return matcher indices */ &kMatcherIndices[132],
+ /* parameters */ &kParameters[969],
+ /* return matcher indices */ &kMatcherIndices[136],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10032,8 +10066,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[20],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[969],
- /* return matcher indices */ &kMatcherIndices[116],
+ /* parameters */ &kParameters[970],
+ /* return matcher indices */ &kMatcherIndices[120],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10044,8 +10078,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[22],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[970],
- /* return matcher indices */ &kMatcherIndices[164],
+ /* parameters */ &kParameters[971],
+ /* return matcher indices */ &kMatcherIndices[166],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10057,7 +10091,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[359],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10069,7 +10103,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[195],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10081,7 +10115,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[200],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10093,7 +10127,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[84],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10105,7 +10139,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[363],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10117,7 +10151,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[205],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10129,7 +10163,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[367],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10141,7 +10175,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[210],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10153,7 +10187,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[245],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10165,7 +10199,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[102],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10177,7 +10211,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[108],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10189,7 +10223,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[65],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10201,7 +10235,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[250],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10213,7 +10247,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[114],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10225,7 +10259,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[255],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10237,7 +10271,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[120],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10249,7 +10283,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[323],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10261,7 +10295,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[170],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10273,7 +10307,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[175],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10285,7 +10319,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[78],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10297,7 +10331,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[327],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10309,7 +10343,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[180],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10321,7 +10355,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[371],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10333,7 +10367,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[215],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10345,7 +10379,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[220],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10357,7 +10391,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[90],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10369,7 +10403,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[375],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10381,7 +10415,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[225],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -10393,7 +10427,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[379],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10405,7 +10439,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[230],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10417,7 +10451,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[235],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10429,7 +10463,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[96],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10441,7 +10475,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[383],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10453,7 +10487,7 @@
/* template types */ &kTemplateTypes[2],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[240],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -10464,8 +10498,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[176],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[178],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10476,8 +10510,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[985],
- /* return matcher indices */ &kMatcherIndices[176],
+ /* parameters */ &kParameters[986],
+ /* return matcher indices */ &kMatcherIndices[178],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10489,7 +10523,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[431],
- /* return matcher indices */ &kMatcherIndices[176],
+ /* return matcher indices */ &kMatcherIndices[178],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10501,7 +10535,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[794],
- /* return matcher indices */ &kMatcherIndices[176],
+ /* return matcher indices */ &kMatcherIndices[178],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10512,8 +10546,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[986],
- /* return matcher indices */ &kMatcherIndices[180],
+ /* parameters */ &kParameters[987],
+ /* return matcher indices */ &kMatcherIndices[182],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10524,8 +10558,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[987],
- /* return matcher indices */ &kMatcherIndices[178],
+ /* parameters */ &kParameters[988],
+ /* return matcher indices */ &kMatcherIndices[180],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10536,8 +10570,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[182],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[184],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10548,8 +10582,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[988],
- /* return matcher indices */ &kMatcherIndices[182],
+ /* parameters */ &kParameters[989],
+ /* return matcher indices */ &kMatcherIndices[184],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10561,7 +10595,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[138],
- /* return matcher indices */ &kMatcherIndices[182],
+ /* return matcher indices */ &kMatcherIndices[184],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10573,7 +10607,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[796],
- /* return matcher indices */ &kMatcherIndices[182],
+ /* return matcher indices */ &kMatcherIndices[184],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10584,8 +10618,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[989],
- /* return matcher indices */ &kMatcherIndices[186],
+ /* parameters */ &kParameters[990],
+ /* return matcher indices */ &kMatcherIndices[188],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10596,8 +10630,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[990],
- /* return matcher indices */ &kMatcherIndices[184],
+ /* parameters */ &kParameters[991],
+ /* return matcher indices */ &kMatcherIndices[186],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10608,8 +10642,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[188],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[190],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10620,8 +10654,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[991],
- /* return matcher indices */ &kMatcherIndices[188],
+ /* parameters */ &kParameters[992],
+ /* return matcher indices */ &kMatcherIndices[190],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10633,7 +10667,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[49],
- /* return matcher indices */ &kMatcherIndices[188],
+ /* return matcher indices */ &kMatcherIndices[190],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10645,7 +10679,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[798],
- /* return matcher indices */ &kMatcherIndices[188],
+ /* return matcher indices */ &kMatcherIndices[190],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10656,8 +10690,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[992],
- /* return matcher indices */ &kMatcherIndices[192],
+ /* parameters */ &kParameters[993],
+ /* return matcher indices */ &kMatcherIndices[194],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10668,8 +10702,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[993],
- /* return matcher indices */ &kMatcherIndices[190],
+ /* parameters */ &kParameters[994],
+ /* return matcher indices */ &kMatcherIndices[192],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10680,8 +10714,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[194],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[196],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10692,8 +10726,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[994],
- /* return matcher indices */ &kMatcherIndices[194],
+ /* parameters */ &kParameters[995],
+ /* return matcher indices */ &kMatcherIndices[196],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10705,7 +10739,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[144],
- /* return matcher indices */ &kMatcherIndices[194],
+ /* return matcher indices */ &kMatcherIndices[196],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10717,7 +10751,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[585],
- /* return matcher indices */ &kMatcherIndices[194],
+ /* return matcher indices */ &kMatcherIndices[196],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10728,8 +10762,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[995],
- /* return matcher indices */ &kMatcherIndices[198],
+ /* parameters */ &kParameters[996],
+ /* return matcher indices */ &kMatcherIndices[200],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10740,8 +10774,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[996],
- /* return matcher indices */ &kMatcherIndices[196],
+ /* parameters */ &kParameters[997],
+ /* return matcher indices */ &kMatcherIndices[198],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10752,8 +10786,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[200],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[202],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10764,8 +10798,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[997],
- /* return matcher indices */ &kMatcherIndices[200],
+ /* parameters */ &kParameters[998],
+ /* return matcher indices */ &kMatcherIndices[202],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10777,7 +10811,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[40],
- /* return matcher indices */ &kMatcherIndices[200],
+ /* return matcher indices */ &kMatcherIndices[202],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10789,7 +10823,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[588],
- /* return matcher indices */ &kMatcherIndices[200],
+ /* return matcher indices */ &kMatcherIndices[202],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10800,8 +10834,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[998],
- /* return matcher indices */ &kMatcherIndices[204],
+ /* parameters */ &kParameters[999],
+ /* return matcher indices */ &kMatcherIndices[206],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10812,8 +10846,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[999],
- /* return matcher indices */ &kMatcherIndices[202],
+ /* parameters */ &kParameters[1000],
+ /* return matcher indices */ &kMatcherIndices[204],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10824,8 +10858,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[206],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[208],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10836,8 +10870,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1000],
- /* return matcher indices */ &kMatcherIndices[206],
+ /* parameters */ &kParameters[1001],
+ /* return matcher indices */ &kMatcherIndices[208],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10849,7 +10883,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[16],
- /* return matcher indices */ &kMatcherIndices[206],
+ /* return matcher indices */ &kMatcherIndices[208],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10861,7 +10895,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[591],
- /* return matcher indices */ &kMatcherIndices[206],
+ /* return matcher indices */ &kMatcherIndices[208],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10872,8 +10906,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1001],
- /* return matcher indices */ &kMatcherIndices[210],
+ /* parameters */ &kParameters[1002],
+ /* return matcher indices */ &kMatcherIndices[212],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10884,8 +10918,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1002],
- /* return matcher indices */ &kMatcherIndices[208],
+ /* parameters */ &kParameters[1003],
+ /* return matcher indices */ &kMatcherIndices[210],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10896,8 +10930,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[212],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[214],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10908,8 +10942,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1003],
- /* return matcher indices */ &kMatcherIndices[212],
+ /* parameters */ &kParameters[1004],
+ /* return matcher indices */ &kMatcherIndices[214],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10921,7 +10955,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[57],
- /* return matcher indices */ &kMatcherIndices[212],
+ /* return matcher indices */ &kMatcherIndices[214],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -10933,7 +10967,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[435],
- /* return matcher indices */ &kMatcherIndices[212],
+ /* return matcher indices */ &kMatcherIndices[214],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -10944,8 +10978,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1004],
- /* return matcher indices */ &kMatcherIndices[216],
+ /* parameters */ &kParameters[1005],
+ /* return matcher indices */ &kMatcherIndices[218],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10956,8 +10990,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1005],
- /* return matcher indices */ &kMatcherIndices[214],
+ /* parameters */ &kParameters[1006],
+ /* return matcher indices */ &kMatcherIndices[216],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -10968,8 +11002,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[218],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[220],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -10980,8 +11014,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1006],
- /* return matcher indices */ &kMatcherIndices[218],
+ /* parameters */ &kParameters[1007],
+ /* return matcher indices */ &kMatcherIndices[220],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -10993,7 +11027,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[28],
- /* return matcher indices */ &kMatcherIndices[218],
+ /* return matcher indices */ &kMatcherIndices[220],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -11005,7 +11039,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[439],
- /* return matcher indices */ &kMatcherIndices[218],
+ /* return matcher indices */ &kMatcherIndices[220],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -11016,8 +11050,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1007],
- /* return matcher indices */ &kMatcherIndices[222],
+ /* parameters */ &kParameters[1008],
+ /* return matcher indices */ &kMatcherIndices[224],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11028,8 +11062,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1008],
- /* return matcher indices */ &kMatcherIndices[220],
+ /* parameters */ &kParameters[1009],
+ /* return matcher indices */ &kMatcherIndices[222],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11040,8 +11074,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[224],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[226],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -11052,8 +11086,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[37],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1009],
- /* return matcher indices */ &kMatcherIndices[224],
+ /* parameters */ &kParameters[1010],
+ /* return matcher indices */ &kMatcherIndices[226],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -11065,7 +11099,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[0],
- /* return matcher indices */ &kMatcherIndices[224],
+ /* return matcher indices */ &kMatcherIndices[226],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitS,
},
@@ -11077,7 +11111,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[443],
- /* return matcher indices */ &kMatcherIndices[224],
+ /* return matcher indices */ &kMatcherIndices[226],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::MatInitV,
},
@@ -11088,8 +11122,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[16],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1010],
- /* return matcher indices */ &kMatcherIndices[228],
+ /* parameters */ &kParameters[1011],
+ /* return matcher indices */ &kMatcherIndices[230],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11100,8 +11134,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[14],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1011],
- /* return matcher indices */ &kMatcherIndices[226],
+ /* parameters */ &kParameters[1012],
+ /* return matcher indices */ &kMatcherIndices[228],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11112,8 +11146,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[929],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[930],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11124,8 +11158,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[930],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[931],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11136,8 +11170,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[931],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[932],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11148,8 +11182,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[932],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[933],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11160,8 +11194,8 @@
/* num template numbers */ 2,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[6],
- /* parameters */ &kParameters[933],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[934],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -11185,7 +11219,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[674],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpPlus,
},
@@ -11197,7 +11231,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[676],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpPlus,
},
@@ -11209,7 +11243,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[678],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpPlus,
},
@@ -11245,7 +11279,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[684],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMinus,
},
@@ -11257,7 +11291,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[686],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMinus,
},
@@ -11269,7 +11303,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[688],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpMinus,
},
@@ -11305,7 +11339,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[712],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpDivide,
},
@@ -11317,7 +11351,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[714],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpDivide,
},
@@ -11329,7 +11363,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[716],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpDivide,
},
@@ -11353,7 +11387,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[720],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpModulo,
},
@@ -11365,7 +11399,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[722],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpModulo,
},
@@ -11377,7 +11411,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[724],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpModulo,
},
@@ -11389,7 +11423,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[730],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpAnd,
},
@@ -11401,7 +11435,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[732],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpAnd,
},
@@ -11425,7 +11459,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[736],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpAnd,
},
@@ -11437,7 +11471,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[738],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpOr,
},
@@ -11449,7 +11483,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[740],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpOr,
},
@@ -11473,7 +11507,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[744],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpOr,
},
@@ -11497,7 +11531,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[471],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::mix,
},
@@ -11509,7 +11543,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[474],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::mix,
},
@@ -11533,7 +11567,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[483],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::select_bool,
},
@@ -11545,7 +11579,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[486],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::select_boolvec,
},
@@ -11556,7 +11590,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
+ /* parameters */ &kParameters[1013],
/* return matcher indices */ &kMatcherIndices[9],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
@@ -11568,7 +11602,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[954],
+ /* parameters */ &kParameters[955],
/* return matcher indices */ &kMatcherIndices[9],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
@@ -11580,7 +11614,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[31],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[955],
+ /* parameters */ &kParameters[956],
/* return matcher indices */ &kMatcherIndices[9],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
@@ -11592,8 +11626,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -11604,8 +11638,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[956],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[957],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -11616,8 +11650,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[32],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[957],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[958],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11628,8 +11662,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -11640,8 +11674,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[958],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[959],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -11652,8 +11686,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[33],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[959],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[960],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11664,7 +11698,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
+ /* parameters */ &kParameters[1013],
/* return matcher indices */ &kMatcherIndices[1],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
@@ -11676,7 +11710,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[960],
+ /* parameters */ &kParameters[961],
/* return matcher indices */ &kMatcherIndices[1],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
@@ -11688,7 +11722,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[34],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[961],
+ /* parameters */ &kParameters[962],
/* return matcher indices */ &kMatcherIndices[1],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
@@ -11700,8 +11734,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[1013],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Zero,
},
@@ -11712,8 +11746,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[962],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[963],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
@@ -11724,8 +11758,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[35],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[963],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[964],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Conv,
},
@@ -11749,7 +11783,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[801],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::abs,
},
@@ -11773,7 +11807,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[803],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::acos,
},
@@ -11797,7 +11831,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[805],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::acosh,
},
@@ -11809,7 +11843,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[806],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::all,
},
@@ -11821,7 +11855,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[807],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::all,
},
@@ -11833,7 +11867,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[808],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::any,
},
@@ -11845,7 +11879,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[809],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::any,
},
@@ -11869,7 +11903,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[812],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::asin,
},
@@ -11893,7 +11927,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[814],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::asinh,
},
@@ -11917,7 +11951,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[816],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::atan,
},
@@ -11941,7 +11975,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[596],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::atan2,
},
@@ -11965,7 +11999,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[818],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::atanh,
},
@@ -11989,7 +12023,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[820],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::ceil,
},
@@ -12013,7 +12047,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[450],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::clamp,
},
@@ -12037,7 +12071,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[822],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::cos,
},
@@ -12061,7 +12095,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[824],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::cosh,
},
@@ -12085,7 +12119,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[826],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::countLeadingZeros,
},
@@ -12109,7 +12143,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[828],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::countOneBits,
},
@@ -12133,7 +12167,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[830],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::countTrailingZeros,
},
@@ -12157,7 +12191,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[832],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::degrees,
},
@@ -12193,7 +12227,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[834],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12205,7 +12239,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[835],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12217,7 +12251,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[836],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12229,7 +12263,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[837],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12241,7 +12275,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[838],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12253,7 +12287,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[839],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12265,7 +12299,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[840],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12277,7 +12311,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[841],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12289,7 +12323,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[842],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12301,7 +12335,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[843],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12313,7 +12347,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[844],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12325,7 +12359,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[845],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12349,7 +12383,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[847],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::exp,
},
@@ -12373,7 +12407,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[849],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::exp2,
},
@@ -12397,7 +12431,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[456],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::extractBits,
},
@@ -12421,7 +12455,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[851],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::firstLeadingBit,
},
@@ -12445,7 +12479,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[853],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::firstTrailingBit,
},
@@ -12469,7 +12503,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[855],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::floor,
},
@@ -12493,7 +12527,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[465],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::fma,
},
@@ -12517,7 +12551,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[857],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::fract,
},
@@ -12529,7 +12563,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[858],
- /* return matcher indices */ &kMatcherIndices[104],
+ /* return matcher indices */ &kMatcherIndices[108],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::frexp,
},
@@ -12541,7 +12575,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[859],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* return matcher indices */ &kMatcherIndices[43],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::frexp,
},
@@ -12553,7 +12587,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[860],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12565,7 +12599,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[861],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12577,7 +12611,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[862],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12589,7 +12623,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[863],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12601,7 +12635,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[864],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12613,7 +12647,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[865],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* const eval */ nullptr,
},
@@ -12637,7 +12671,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[299],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::insertBits,
},
@@ -12661,7 +12695,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[867],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::inverseSqrt,
},
@@ -12685,7 +12719,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[612],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::ldexp,
},
@@ -12733,7 +12767,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[871],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::log,
},
@@ -12757,7 +12791,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[873],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::log2,
},
@@ -12781,7 +12815,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[616],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::max,
},
@@ -12805,7 +12839,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[620],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::min,
},
@@ -12817,7 +12851,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[874],
- /* return matcher indices */ &kMatcherIndices[106],
+ /* return matcher indices */ &kMatcherIndices[110],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::modf,
},
@@ -12829,7 +12863,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[875],
- /* return matcher indices */ &kMatcherIndices[45],
+ /* return matcher indices */ &kMatcherIndices[49],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::modf,
},
@@ -12853,7 +12887,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[624],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pow,
},
@@ -12865,7 +12899,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[882],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* return matcher indices */ &kMatcherIndices[42],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::quantizeToF16,
},
@@ -12877,7 +12911,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[883],
- /* return matcher indices */ &kMatcherIndices[36],
+ /* return matcher indices */ &kMatcherIndices[40],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::quantizeToF16,
},
@@ -12901,7 +12935,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[885],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::radians,
},
@@ -12925,7 +12959,7 @@
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[887],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::reverseBits,
},
@@ -12949,7 +12983,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[889],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::round,
},
@@ -12973,7 +13007,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[891],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::saturate,
},
@@ -12997,7 +13031,7 @@
/* template types */ &kTemplateTypes[28],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[893],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::sign,
},
@@ -13021,7 +13055,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[895],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::sin,
},
@@ -13045,7 +13079,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[897],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::sinh,
},
@@ -13069,7 +13103,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[492],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::smoothstep,
},
@@ -13093,7 +13127,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[899],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::sqrt,
},
@@ -13117,7 +13151,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[630],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::step,
},
@@ -13141,7 +13175,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[901],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::tan,
},
@@ -13165,7 +13199,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[903],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::tanh,
},
@@ -13189,7 +13223,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[906],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::trunc,
},
@@ -13200,8 +13234,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[0],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[944],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[945],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13212,8 +13246,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[945],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[946],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13225,7 +13259,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[519],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13237,7 +13271,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[522],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13248,8 +13282,8 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[948],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[949],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpNot,
},
@@ -13260,8 +13294,8 @@
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[4],
- /* parameters */ &kParameters[949],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* parameters */ &kParameters[950],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpNot,
},
@@ -13272,7 +13306,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[950],
+ /* parameters */ &kParameters[951],
/* return matcher indices */ &kMatcherIndices[3],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpComplement,
@@ -13284,8 +13318,8 @@
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
- /* parameters */ &kParameters[951],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* parameters */ &kParameters[952],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpComplement,
},
@@ -13296,7 +13330,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[28],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[952],
+ /* parameters */ &kParameters[953],
/* return matcher indices */ &kMatcherIndices[3],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpUnaryMinus,
@@ -13308,8 +13342,8 @@
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[28],
/* template numbers */ &kTemplateNumbers[4],
- /* parameters */ &kParameters[953],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* parameters */ &kParameters[954],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpUnaryMinus,
},
@@ -13333,7 +13367,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[728],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpXor,
},
@@ -13345,7 +13379,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[750],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpEqual,
},
@@ -13357,7 +13391,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[752],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpEqual,
},
@@ -13369,7 +13403,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[754],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpNotEqual,
},
@@ -13381,7 +13415,7 @@
/* template types */ &kTemplateTypes[27],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[756],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpNotEqual,
},
@@ -13393,7 +13427,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[758],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLessThan,
},
@@ -13405,7 +13439,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[760],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLessThan,
},
@@ -13417,7 +13451,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[762],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpGreaterThan,
},
@@ -13429,7 +13463,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[764],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpGreaterThan,
},
@@ -13441,7 +13475,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[766],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLessThanEqual,
},
@@ -13453,7 +13487,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[768],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLessThanEqual,
},
@@ -13465,7 +13499,7 @@
/* template types */ &kTemplateTypes[24],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[770],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpGreaterThanEqual,
},
@@ -13477,7 +13511,7 @@
/* template types */ &kTemplateTypes[30],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[772],
- /* return matcher indices */ &kMatcherIndices[33],
+ /* return matcher indices */ &kMatcherIndices[37],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpGreaterThanEqual,
},
@@ -13501,7 +13535,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[776],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpShiftLeft,
},
@@ -13525,7 +13559,7 @@
/* template types */ &kTemplateTypes[29],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[780],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpShiftRight,
},
@@ -13537,7 +13571,7 @@
/* template types */ &kTemplateTypes[25],
/* template numbers */ &kTemplateNumbers[8],
/* parameters */ &kParameters[810],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13549,7 +13583,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[598],
- /* return matcher indices */ &kMatcherIndices[102],
+ /* return matcher indices */ &kMatcherIndices[106],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::cross,
},
@@ -13597,7 +13631,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[608],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
@@ -13609,7 +13643,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[459],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::faceForward,
},
@@ -13621,7 +13655,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[876],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::normalize,
},
@@ -13633,7 +13667,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[877],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack2x16float,
},
@@ -13645,7 +13679,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[878],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack2x16snorm,
},
@@ -13657,7 +13691,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[879],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack2x16unorm,
},
@@ -13669,7 +13703,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[880],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack4x8snorm,
},
@@ -13681,7 +13715,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[881],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* return matcher indices */ &kMatcherIndices[105],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::pack4x8unorm,
},
@@ -13693,7 +13727,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[626],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::reflect,
},
@@ -13705,7 +13739,7 @@
/* template types */ &kTemplateTypes[10],
/* template numbers */ &kTemplateNumbers[4],
/* parameters */ &kParameters[477],
- /* return matcher indices */ &kMatcherIndices[30],
+ /* return matcher indices */ &kMatcherIndices[34],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::refract,
},
@@ -13716,7 +13750,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
+ /* parameters */ &kParameters[1013],
/* return matcher indices */ nullptr,
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
@@ -13741,7 +13775,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[907],
- /* return matcher indices */ &kMatcherIndices[108],
+ /* return matcher indices */ &kMatcherIndices[112],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack2x16float,
},
@@ -13753,7 +13787,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[908],
- /* return matcher indices */ &kMatcherIndices[108],
+ /* return matcher indices */ &kMatcherIndices[112],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack2x16snorm,
},
@@ -13765,7 +13799,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[909],
- /* return matcher indices */ &kMatcherIndices[108],
+ /* return matcher indices */ &kMatcherIndices[112],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack2x16unorm,
},
@@ -13777,7 +13811,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[910],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack4x8snorm,
},
@@ -13789,7 +13823,7 @@
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[911],
- /* return matcher indices */ &kMatcherIndices[110],
+ /* return matcher indices */ &kMatcherIndices[114],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::unpack4x8unorm,
},
@@ -13800,7 +13834,7 @@
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[1012],
+ /* parameters */ &kParameters[1013],
/* return matcher indices */ nullptr,
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
@@ -13809,16 +13843,28 @@
/* [456] */
/* num parameters */ 1,
/* num template types */ 1,
+ /* num template numbers */ 0,
+ /* template types */ &kTemplateTypes[25],
+ /* template numbers */ &kTemplateNumbers[10],
+ /* parameters */ &kParameters[912],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* const eval */ nullptr,
+ },
+ {
+ /* [457] */
+ /* num parameters */ 1,
+ /* num template types */ 1,
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[9],
- /* parameters */ &kParameters[946],
+ /* parameters */ &kParameters[947],
/* return matcher indices */ &kMatcherIndices[3],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
{
- /* [457] */
+ /* [458] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13830,7 +13876,7 @@
/* const eval */ nullptr,
},
{
- /* [458] */
+ /* [459] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13842,7 +13888,7 @@
/* const eval */ nullptr,
},
{
- /* [459] */
+ /* [460] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13854,7 +13900,7 @@
/* const eval */ nullptr,
},
{
- /* [460] */
+ /* [461] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13866,7 +13912,7 @@
/* const eval */ nullptr,
},
{
- /* [461] */
+ /* [462] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13878,7 +13924,7 @@
/* const eval */ nullptr,
},
{
- /* [462] */
+ /* [463] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13890,7 +13936,7 @@
/* const eval */ nullptr,
},
{
- /* [463] */
+ /* [464] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13902,7 +13948,7 @@
/* const eval */ nullptr,
},
{
- /* [464] */
+ /* [465] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13914,7 +13960,7 @@
/* const eval */ nullptr,
},
{
- /* [465] */
+ /* [466] */
/* num parameters */ 2,
/* num template types */ 1,
/* num template numbers */ 1,
@@ -13926,50 +13972,50 @@
/* const eval */ nullptr,
},
{
- /* [466] */
+ /* [467] */
/* num parameters */ 3,
/* num template types */ 1,
/* num template numbers */ 1,
/* template types */ &kTemplateTypes[26],
/* template numbers */ &kTemplateNumbers[9],
/* parameters */ &kParameters[570],
- /* return matcher indices */ &kMatcherIndices[160],
+ /* return matcher indices */ &kMatcherIndices[162],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ nullptr,
},
{
- /* [467] */
+ /* [468] */
/* num parameters */ 1,
/* num template types */ 1,
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[25],
/* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[947],
+ /* parameters */ &kParameters[948],
/* return matcher indices */ &kMatcherIndices[3],
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::Identity,
},
{
- /* [468] */
- /* num parameters */ 2,
- /* num template types */ 0,
- /* num template numbers */ 0,
- /* template types */ &kTemplateTypes[38],
- /* template numbers */ &kTemplateNumbers[10],
- /* parameters */ &kParameters[746],
- /* return matcher indices */ &kMatcherIndices[35],
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* const eval */ &ConstEval::OpLogicalAnd,
- },
- {
/* [469] */
/* num parameters */ 2,
/* num template types */ 0,
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template numbers */ &kTemplateNumbers[10],
+ /* parameters */ &kParameters[746],
+ /* return matcher indices */ &kMatcherIndices[39],
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* const eval */ &ConstEval::OpLogicalAnd,
+ },
+ {
+ /* [470] */
+ /* num parameters */ 2,
+ /* num template types */ 0,
+ /* num template numbers */ 0,
+ /* template types */ &kTemplateTypes[38],
+ /* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[748],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* return matcher indices */ &kMatcherIndices[39],
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* const eval */ &ConstEval::OpLogicalOr,
},
@@ -14559,6 +14605,12 @@
},
{
/* [86] */
+ /* fn workgroupUniformLoad<T>(ptr<workgroup, T, read_write>) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[456],
+ },
+ {
+ /* [87] */
/* fn textureDimensions<T : fiu32>(texture: texture_1d<T>) -> u32 */
/* fn textureDimensions<T : fiu32, L : iu32>(texture: texture_1d<T>, level: L) -> u32 */
/* fn textureDimensions<T : fiu32>(texture: texture_2d<T>) -> vec2<u32> */
@@ -14590,7 +14642,7 @@
/* overloads */ &kOverloads[0],
},
{
- /* [87] */
+ /* [88] */
/* fn textureGather<T : fiu32, C : iu32>(@const component: C, texture: texture_2d<T>, sampler: sampler, coords: vec2<f32>) -> vec4<T> */
/* fn textureGather<T : fiu32, C : iu32>(@const component: C, texture: texture_2d<T>, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> vec4<T> */
/* fn textureGather<T : fiu32, C : iu32, A : iu32>(@const component: C, texture: texture_2d_array<T>, sampler: sampler, coords: vec2<f32>, array_index: A) -> vec4<T> */
@@ -14607,7 +14659,7 @@
/* overloads */ &kOverloads[71],
},
{
- /* [88] */
+ /* [89] */
/* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> vec4<f32> */
/* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> vec4<f32> */
/* fn textureGatherCompare<A : iu32>(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> vec4<f32> */
@@ -14618,7 +14670,7 @@
/* overloads */ &kOverloads[159],
},
{
- /* [89] */
+ /* [90] */
/* fn textureNumLayers<T : fiu32>(texture: texture_2d_array<T>) -> u32 */
/* fn textureNumLayers<T : fiu32>(texture: texture_cube_array<T>) -> u32 */
/* fn textureNumLayers(texture: texture_depth_2d_array) -> u32 */
@@ -14628,7 +14680,7 @@
/* overloads */ &kOverloads[231],
},
{
- /* [90] */
+ /* [91] */
/* fn textureNumLevels<T : fiu32>(texture: texture_1d<T>) -> u32 */
/* fn textureNumLevels<T : fiu32>(texture: texture_2d<T>) -> u32 */
/* fn textureNumLevels<T : fiu32>(texture: texture_2d_array<T>) -> u32 */
@@ -14643,14 +14695,14 @@
/* overloads */ &kOverloads[106],
},
{
- /* [91] */
+ /* [92] */
/* fn textureNumSamples<T : fiu32>(texture: texture_multisampled_2d<T>) -> u32 */
/* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */
/* num overloads */ 2,
/* overloads */ &kOverloads[405],
},
{
- /* [92] */
+ /* [93] */
/* fn textureSample(texture: texture_1d<f32>, sampler: sampler, coords: f32) -> vec4<f32> */
/* fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
@@ -14670,7 +14722,7 @@
/* overloads */ &kOverloads[27],
},
{
- /* [93] */
+ /* [94] */
/* fn textureSampleBias(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, bias: f32) -> vec4<f32> */
/* fn textureSampleBias(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, bias: f32, @const offset: vec2<i32>) -> vec4<f32> */
/* fn textureSampleBias<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, bias: f32) -> vec4<f32> */
@@ -14683,7 +14735,7 @@
/* overloads */ &kOverloads[143],
},
{
- /* [94] */
+ /* [95] */
/* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
/* fn textureSampleCompare<A : iu32>(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> f32 */
@@ -14694,7 +14746,7 @@
/* overloads */ &kOverloads[165],
},
{
- /* [95] */
+ /* [96] */
/* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
/* fn textureSampleCompareLevel<A : iu32>(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> f32 */
@@ -14705,7 +14757,7 @@
/* overloads */ &kOverloads[171],
},
{
- /* [96] */
+ /* [97] */
/* fn textureSampleGrad(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
/* fn textureSampleGrad(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
/* fn textureSampleGrad<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
@@ -14718,7 +14770,7 @@
/* overloads */ &kOverloads[151],
},
{
- /* [97] */
+ /* [98] */
/* fn textureSampleLevel(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, level: f32) -> vec4<f32> */
/* fn textureSampleLevel(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, level: f32, @const offset: vec2<i32>) -> vec4<f32> */
/* fn textureSampleLevel<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, level: f32) -> vec4<f32> */
@@ -14737,14 +14789,14 @@
/* overloads */ &kOverloads[57],
},
{
- /* [98] */
+ /* [99] */
/* fn textureSampleBaseClampToEdge(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* fn textureSampleBaseClampToEdge(texture: texture_external, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[407],
},
{
- /* [99] */
+ /* [100] */
/* fn textureStore<C : iu32>(texture: texture_storage_1d<f32_texel_format, write>, coords: C, value: vec4<f32>) */
/* fn textureStore<C : iu32>(texture: texture_storage_2d<f32_texel_format, write>, coords: vec2<C>, value: vec4<f32>) */
/* fn textureStore<C : iu32, A : iu32>(texture: texture_storage_2d_array<f32_texel_format, write>, coords: vec2<C>, array_index: A, value: vec4<f32>) */
@@ -14761,7 +14813,7 @@
/* overloads */ &kOverloads[83],
},
{
- /* [100] */
+ /* [101] */
/* fn textureLoad<T : fiu32, C : iu32, L : iu32>(texture: texture_1d<T>, coords: C, level: L) -> vec4<T> */
/* fn textureLoad<T : fiu32, C : iu32, L : iu32>(texture: texture_2d<T>, coords: vec2<C>, level: L) -> vec4<T> */
/* fn textureLoad<T : fiu32, C : iu32, A : iu32, L : iu32>(texture: texture_2d_array<T>, coords: vec2<C>, array_index: A, level: L) -> vec4<T> */
@@ -14775,77 +14827,77 @@
/* overloads */ &kOverloads[116],
},
{
- /* [101] */
- /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[456],
- },
- {
/* [102] */
- /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
+ /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[457],
},
{
/* [103] */
- /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
/* overloads */ &kOverloads[458],
},
{
/* [104] */
- /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[459],
},
{
/* [105] */
- /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[460],
},
{
/* [106] */
- /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[461],
},
{
/* [107] */
- /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[462],
},
{
/* [108] */
- /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[463],
},
{
/* [109] */
- /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[464],
},
{
/* [110] */
- /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[465],
},
{
/* [111] */
- /* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> __atomic_compare_exchange_result<T> */
+ /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[466],
},
{
/* [112] */
- /* fn _tint_materialize<T>(T) -> T */
+ /* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> __atomic_compare_exchange_result<T> */
/* num overloads */ 1,
/* overloads */ &kOverloads[467],
},
+ {
+ /* [113] */
+ /* fn _tint_materialize<T>(T) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[468],
+ },
};
constexpr IntrinsicInfo kUnaryOperators[] = {
@@ -14957,13 +15009,13 @@
/* [8] */
/* op &&(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ &kOverloads[468],
+ /* overloads */ &kOverloads[469],
},
{
/* [9] */
/* op ||(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ &kOverloads[469],
+ /* overloads */ &kOverloads[470],
},
{
/* [10] */
diff --git a/src/tint/resolver/resolver.cc b/src/tint/resolver/resolver.cc
index cecac6e..19b870e 100644
--- a/src/tint/resolver/resolver.cc
+++ b/src/tint/resolver/resolver.cc
@@ -2386,6 +2386,12 @@
CollectTextureSamplerPairs(builtin.sem, call->Arguments());
}
+ if (builtin_type == sem::BuiltinType::kWorkgroupUniformLoad) {
+ if (!validator_.WorkgroupUniformLoad(call)) {
+ return nullptr;
+ }
+ }
+
if (!validator_.BuiltinCall(call)) {
return nullptr;
}
diff --git a/src/tint/resolver/side_effects_test.cc b/src/tint/resolver/side_effects_test.cc
index 53df777..8265586 100644
--- a/src/tint/resolver/side_effects_test.cc
+++ b/src/tint/resolver/side_effects_test.cc
@@ -176,6 +176,7 @@
GlobalVar("arr", ty.array<f32, 10>(), ast::AddressSpace::kPrivate);
GlobalVar("storage_arr", ty.array<f32>(), ast::AddressSpace::kStorage, Group(0_a),
Binding(AInt(next_binding++)));
+ GlobalVar("workgroup_arr", ty.array<f32, 4>(), ast::AddressSpace::kWorkgroup);
GlobalVar("a", ty.atomic(ty.i32()), ast::AddressSpace::kStorage, ast::Access::kReadWrite,
Group(0_a), Binding(AInt(next_binding++)));
if (c.pipeline_stage != ast::PipelineStage::kCompute) {
@@ -199,6 +200,9 @@
utils::Vector<const ast::Statement*, 4> stmts;
stmts.Push(Decl(Let("pstorage_arr", AddressOf("storage_arr"))));
+ if (c.pipeline_stage == ast::PipelineStage::kCompute) {
+ stmts.Push(Decl(Let("pworkgroup_arr", AddressOf("workgroup_arr"))));
+ }
stmts.Push(Decl(Let("pa", AddressOf("a"))));
utils::Vector<const ast::Expression*, 5> args;
@@ -339,6 +343,10 @@
C("atomicSub", utils::Vector{"pa", "i"}, true), //
C("atomicXor", utils::Vector{"pa", "i"}, true), //
C("textureStore", utils::Vector{"tstorage2d", "vi2", "vf4"}, true), //
+ C("workgroupUniformLoad",
+ utils::Vector{"pworkgroup_arr"},
+ true,
+ ast::PipelineStage::kCompute), //
// Unimplemented builtins
// C("quantizeToF16", utils::Vector{"f"}, false), //
diff --git a/src/tint/resolver/uniformity.cc b/src/tint/resolver/uniformity.cc
index 5f148f0..762aba5 100644
--- a/src/tint/resolver/uniformity.cc
+++ b/src/tint/resolver/uniformity.cc
@@ -23,6 +23,7 @@
#include "src/tint/resolver/dependency_graph.h"
#include "src/tint/scope_stack.h"
#include "src/tint/sem/block_statement.h"
+#include "src/tint/sem/builtin.h"
#include "src/tint/sem/for_loop_statement.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/if_statement.h"
@@ -1454,6 +1455,8 @@
// some texture sampling builtins, and atomics.
if (builtin->IsBarrier()) {
callsite_tag = CallSiteRequiredToBeUniform;
+ } else if (builtin->Type() == sem::BuiltinType::kWorkgroupUniformLoad) {
+ callsite_tag = CallSiteRequiredToBeUniform;
} else if (builtin->IsDerivative() ||
builtin->Type() == sem::BuiltinType::kTextureSample ||
builtin->Type() == sem::BuiltinType::kTextureSampleBias ||
@@ -1489,9 +1492,6 @@
TINT_ICE(Resolver, diagnostics_) << "unhandled function call target: " << name;
});
- if (callsite_tag == CallSiteRequiredToBeUniform) {
- current_function_->required_to_be_uniform->AddEdge(call_node);
- }
cf_after->AddEdge(call_node);
if (function_tag == ReturnValueMayBeNonUniform) {
@@ -1562,12 +1562,25 @@
current_function_->variables.Set(root_ident, ptr_result);
}
} else {
- // All builtin function parameters are RequiredToBeUniformForReturnValue, as are
- // parameters for type initializers and type conversions.
- result->AddEdge(args[i]);
+ auto* builtin = sem->Target()->As<sem::Builtin>();
+ if (builtin && builtin->Type() == sem::BuiltinType::kWorkgroupUniformLoad) {
+ // The workgroupUniformLoad builtin requires its parameter to be uniform.
+ current_function_->required_to_be_uniform->AddEdge(args[i]);
+ } else {
+ // All other builtin function parameters are RequiredToBeUniformForReturnValue,
+ // as are parameters for type initializers and type conversions.
+ result->AddEdge(args[i]);
+ }
}
}
+ // Add the callsite requirement last.
+ // We traverse edges in reverse order, so this makes the callsite requirement take highest
+ // priority when reporting violations.
+ if (callsite_tag == CallSiteRequiredToBeUniform) {
+ current_function_->required_to_be_uniform->AddEdge(call_node);
+ }
+
return {cf_after, result};
}
@@ -1799,9 +1812,13 @@
if (cause->type == Node::kFunctionCallArgumentValue) {
// The requirement was on a function parameter.
- auto param_name = NameFor(target->Parameters()[cause->arg_index]->Declaration());
+ auto* ast_param = target->Parameters()[cause->arg_index]->Declaration();
+ std::string param_name;
+ if (ast_param) {
+ param_name = " '" + NameFor(ast_param) + "'";
+ }
report(call->args[cause->arg_index]->source,
- "parameter '" + param_name + "' of '" + func_name + "' must be uniform");
+ "parameter" + param_name + " of '" + func_name + "' must be uniform");
// If this is a call to a user-defined function, add a note to show the reason that the
// parameter is required to be uniform.
diff --git a/src/tint/resolver/uniformity_test.cc b/src/tint/resolver/uniformity_test.cc
index 3afa094..51e607a 100644
--- a/src/tint/resolver/uniformity_test.cc
+++ b/src/tint/resolver/uniformity_test.cc
@@ -116,6 +116,7 @@
kUserRequiredToBeUniform,
kWorkgroupBarrier,
kStorageBarrier,
+ kWorkgroupUniformLoad,
kTextureSample,
kTextureSampleBias,
kTextureSampleCompare,
@@ -184,6 +185,8 @@
return "workgroupBarrier()";
case kStorageBarrier:
return "storageBarrier()";
+ case kWorkgroupUniformLoad:
+ return "workgroupUniformLoad(&w)";
case kTextureSample:
return "textureSample(t, s, vec2(0.5, 0.5))";
case kTextureSampleBias:
@@ -257,6 +260,7 @@
CASE(kUserRequiredToBeUniform);
CASE(kWorkgroupBarrier);
CASE(kStorageBarrier);
+ CASE(kWorkgroupUniformLoad);
CASE(kTextureSample);
CASE(kTextureSampleBias);
CASE(kTextureSampleCompare);
@@ -7591,6 +7595,106 @@
)");
}
+TEST_F(UniformityAnalysisTest, WorkgroupUniformLoad) {
+ std::string src = R"(
+const wgsize = 4;
+var<workgroup> data : array<u32, wgsize>;
+
+@compute @workgroup_size(wgsize)
+fn main(@builtin(local_invocation_index) idx : u32) {
+ data[idx] = idx + 1;
+ if (workgroupUniformLoad(&data[0]) > 0) {
+ workgroupBarrier();
+ }
+}
+)";
+
+ RunTest(src, true);
+}
+
+TEST_F(UniformityAnalysisTest, WorkgroupUniformLoad_ViaPtrArg) {
+ std::string src = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+const wgsize = 4;
+var<workgroup> data : array<u32, wgsize>;
+
+fn foo(p : ptr<workgroup, u32>) -> u32 {
+ return workgroupUniformLoad(p);
+}
+
+@compute @workgroup_size(wgsize)
+fn main(@builtin(local_invocation_index) idx : u32) {
+ data[idx] = idx + 1;
+ if (foo(&data[0]) > 0) {
+ workgroupBarrier();
+ }
+}
+)";
+
+ RunTest(src, true);
+}
+
+TEST_F(UniformityAnalysisTest, WorkgroupUniformLoad_NonUniformPtr) {
+ std::string src = R"(
+const wgsize = 4;
+var<workgroup> data : array<u32, wgsize>;
+
+@compute @workgroup_size(wgsize)
+fn main(@builtin(local_invocation_index) idx : u32) {
+ data[idx] = idx + 1;
+ if (workgroupUniformLoad(&data[idx]) > 0) {
+ workgroupBarrier();
+ }
+}
+)";
+
+ RunTest(src, false);
+ EXPECT_EQ(error_, R"(test:8:28 warning: parameter of 'workgroupUniformLoad' must be uniform
+ if (workgroupUniformLoad(&data[idx]) > 0) {
+ ^
+
+test:8:34 note: reading from builtin 'idx' may result in a non-uniform value
+ if (workgroupUniformLoad(&data[idx]) > 0) {
+ ^^^
+)");
+}
+
+TEST_F(UniformityAnalysisTest, WorkgroupUniformLoad_NonUniformPtr_ViaPtrArg) {
+ std::string src = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+const wgsize = 4;
+var<workgroup> data : array<u32, wgsize>;
+
+fn foo(p : ptr<workgroup, u32>) -> u32 {
+ return workgroupUniformLoad(p);
+}
+
+@compute @workgroup_size(wgsize)
+fn main(@builtin(local_invocation_index) idx : u32) {
+ data[idx] = idx + 1;
+ if (foo(&data[idx]) > 0) {
+ workgroupBarrier();
+ }
+}
+)";
+
+ RunTest(src, false);
+ EXPECT_EQ(error_, R"(test:14:11 warning: parameter 'p' of 'foo' must be uniform
+ if (foo(&data[idx]) > 0) {
+ ^
+
+test:8:31 note: parameter of 'workgroupUniformLoad' must be uniform
+ return workgroupUniformLoad(p);
+ ^
+
+test:14:17 note: reading from builtin 'idx' may result in a non-uniform value
+ if (foo(&data[idx]) > 0) {
+ ^^^
+)");
+}
+
TEST_F(UniformityAnalysisTest, WorkgroupAtomics) {
std::string src = R"(
var<workgroup> a : atomic<i32>;
@@ -7863,5 +7967,44 @@
)");
}
+TEST_F(UniformityAnalysisTest, Error_CallsiteAndParameterRequireUniformity) {
+ // Test that we report a violation for the callsite of a function when it has multiple
+ // uniformity requirements.
+ std::string src = R"(
+@group(0) @binding(0) var<storage, read_write> non_uniform : i32;
+
+fn foo(v : i32) {
+ if (v == 0) {
+ workgroupBarrier();
+ }
+}
+
+fn main() {
+ if (non_uniform == 42) {
+ foo(0);
+ }
+}
+)";
+
+ RunTest(src, false);
+ EXPECT_EQ(error_,
+ R"(test:12:5 warning: 'foo' must only be called from uniform control flow
+ foo(0);
+ ^^^
+
+test:6:5 note: 'foo' requires uniformity because it calls workgroupBarrier
+ workgroupBarrier();
+ ^^^^^^^^^^^^^^^^
+
+test:11:3 note: control flow depends on non-uniform value
+ if (non_uniform == 42) {
+ ^^
+
+test:11:7 note: reading from read_write storage buffer 'non_uniform' may result in a non-uniform value
+ if (non_uniform == 42) {
+ ^^^^^^^^^^^
+)");
+}
+
} // namespace
} // namespace tint::resolver
diff --git a/src/tint/resolver/validator.cc b/src/tint/resolver/validator.cc
index 3172e58..b199eb0 100644
--- a/src/tint/resolver/validator.cc
+++ b/src/tint/resolver/validator.cc
@@ -1604,6 +1604,28 @@
check_arg_is_constexpr(sem::ParameterUsage::kComponent, 0, 3);
}
+bool Validator::WorkgroupUniformLoad(const sem::Call* call) const {
+ auto* builtin = call->Target()->As<sem::Builtin>();
+ if (!builtin) {
+ return false;
+ }
+
+ TINT_ASSERT(Resolver, call->Arguments().Length() > 0);
+ auto* arg = call->Arguments()[0];
+ auto* ptr = arg->Type()->As<type::Pointer>();
+ TINT_ASSERT(Resolver, ptr != nullptr);
+ auto* ty = ptr->StoreType();
+
+ if (ty->Is<type::Atomic>() || atomic_composite_info_.Contains(ty)) {
+ AddError(
+ "workgroupUniformLoad must not be called with an argument that contains an atomic type",
+ arg->Declaration()->source);
+ return false;
+ }
+
+ return true;
+}
+
bool Validator::RequiredExtensionForBuiltinFunction(const sem::Call* call) const {
const auto* builtin = call->Target()->As<sem::Builtin>();
if (!builtin) {
diff --git a/src/tint/resolver/validator.h b/src/tint/resolver/validator.h
index d7587ed..aa6d9b3 100644
--- a/src/tint/resolver/validator.h
+++ b/src/tint/resolver/validator.h
@@ -439,6 +439,11 @@
/// @returns true on success, false otherwise
bool TextureBuiltinFunction(const sem::Call* call) const;
+ /// Validates a workgroupUniformLoad builtin function
+ /// @param call the builtin call to validate
+ /// @returns true on success, false otherwise
+ bool WorkgroupUniformLoad(const sem::Call* call) const;
+
/// Validates an optional builtin function and its required extension.
/// @param call the builtin call to validate
/// @returns true on success, false otherwise
diff --git a/src/tint/sem/array_count.cc b/src/tint/sem/array_count.cc
index a324ea5..4fee970 100644
--- a/src/tint/sem/array_count.cc
+++ b/src/tint/sem/array_count.cc
@@ -35,6 +35,11 @@
return symbols.NameFor(variable->Declaration()->symbol);
}
+type::ArrayCount* NamedOverrideArrayCount::Clone(type::CloneContext&) const {
+ TINT_ASSERT(Type, false && "Named override array count clone not available");
+ return nullptr;
+}
+
UnnamedOverrideArrayCount::UnnamedOverrideArrayCount(const Expression* e)
: Base(static_cast<size_t>(TypeInfo::Of<UnnamedOverrideArrayCount>().full_hashcode)), expr(e) {}
UnnamedOverrideArrayCount::~UnnamedOverrideArrayCount() = default;
@@ -50,4 +55,9 @@
return "[unnamed override-expression]";
}
+type::ArrayCount* UnnamedOverrideArrayCount::Clone(type::CloneContext&) const {
+ TINT_ASSERT(Type, false && "Unnamed override array count clone not available");
+ return nullptr;
+}
+
} // namespace tint::sem
diff --git a/src/tint/sem/array_count.h b/src/tint/sem/array_count.h
index fd441e8..2d3c27f 100644
--- a/src/tint/sem/array_count.h
+++ b/src/tint/sem/array_count.h
@@ -44,6 +44,10 @@
/// @returns the friendly name for this array count
std::string FriendlyName(const SymbolTable& symbols) const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ type::ArrayCount* Clone(type::CloneContext& ctx) const override;
+
/// The `override` variable.
const GlobalVariable* variable;
};
@@ -70,6 +74,10 @@
/// @returns the friendly name for this array count
std::string FriendlyName(const SymbolTable& symbols) const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ type::ArrayCount* Clone(type::CloneContext& ctx) const override;
+
/// The unnamed override expression.
/// Note: Each AST expression gets a unique semantic expression node, so two equivalent AST
/// expressions will not result in the same `expr` pointer. This property is important to ensure
diff --git a/src/tint/sem/builtin.cc b/src/tint/sem/builtin.cc
index 3aafbce..243e1b7 100644
--- a/src/tint/sem/builtin.cc
+++ b/src/tint/sem/builtin.cc
@@ -171,6 +171,7 @@
case sem::BuiltinType::kAtomicSub:
case sem::BuiltinType::kAtomicXor:
case sem::BuiltinType::kTextureStore:
+ case sem::BuiltinType::kWorkgroupUniformLoad:
return true;
default:
break;
diff --git a/src/tint/sem/builtin_test.cc b/src/tint/sem/builtin_test.cc
index 0b29df7..ff66e1b 100644
--- a/src/tint/sem/builtin_test.cc
+++ b/src/tint/sem/builtin_test.cc
@@ -116,7 +116,8 @@
BuiltinData{"unpack2x16unorm", BuiltinType::kUnpack2X16Unorm},
BuiltinData{"unpack4x8snorm", BuiltinType::kUnpack4X8Snorm},
BuiltinData{"unpack4x8unorm", BuiltinType::kUnpack4X8Unorm},
- BuiltinData{"workgroupBarrier", BuiltinType::kWorkgroupBarrier}));
+ BuiltinData{"workgroupBarrier", BuiltinType::kWorkgroupBarrier},
+ BuiltinData{"workgroupUniformLoad", BuiltinType::kWorkgroupUniformLoad}));
TEST_F(BuiltinTypeTest, ParseNoMatch) {
EXPECT_EQ(ParseBuiltinType("not_builtin"), BuiltinType::kNone);
diff --git a/src/tint/sem/builtin_type.cc b/src/tint/sem/builtin_type.cc
index 899fbd3..d9cb0c2 100644
--- a/src/tint/sem/builtin_type.cc
+++ b/src/tint/sem/builtin_type.cc
@@ -285,6 +285,9 @@
if (name == "workgroupBarrier") {
return BuiltinType::kWorkgroupBarrier;
}
+ if (name == "workgroupUniformLoad") {
+ return BuiltinType::kWorkgroupUniformLoad;
+ }
if (name == "textureDimensions") {
return BuiltinType::kTextureDimensions;
}
@@ -545,6 +548,8 @@
return "unpack4x8unorm";
case BuiltinType::kWorkgroupBarrier:
return "workgroupBarrier";
+ case BuiltinType::kWorkgroupUniformLoad:
+ return "workgroupUniformLoad";
case BuiltinType::kTextureDimensions:
return "textureDimensions";
case BuiltinType::kTextureGather:
diff --git a/src/tint/sem/builtin_type.h b/src/tint/sem/builtin_type.h
index 0cfc48e..aa1b36e 100644
--- a/src/tint/sem/builtin_type.h
+++ b/src/tint/sem/builtin_type.h
@@ -117,6 +117,7 @@
kUnpack4X8Snorm,
kUnpack4X8Unorm,
kWorkgroupBarrier,
+ kWorkgroupUniformLoad,
kTextureDimensions,
kTextureGather,
kTextureGatherCompare,
diff --git a/src/tint/sem/expression_test.cc b/src/tint/sem/expression_test.cc
index 891400c..6c49210 100644
--- a/src/tint/sem/expression_test.cc
+++ b/src/tint/sem/expression_test.cc
@@ -33,6 +33,7 @@
bool AnyZero() const override { return {}; }
bool AllEqual() const override { return {}; }
size_t Hash() const override { return 0; }
+ MockConstant* Clone(constant::CloneContext&) const override { return nullptr; }
protected:
std::variant<std::monostate, AInt, AFloat> InternalValue() const override { return {}; }
diff --git a/src/tint/symbol_table.h b/src/tint/symbol_table.h
index 617266f..4881c2d 100644
--- a/src/tint/symbol_table.h
+++ b/src/tint/symbol_table.h
@@ -52,7 +52,7 @@
/// Returns the symbol for the given `name`
/// @param name the name to lookup
- /// @returns the symbol for the name or symbol::kUndefined if not found.
+ /// @returns the symbol for the name or Symbol() if not found.
Symbol Get(const std::string& name) const;
/// Returns the name for the given symbol
diff --git a/src/tint/transform/builtin_polyfill.cc b/src/tint/transform/builtin_polyfill.cc
index cc5991d..58c3925 100644
--- a/src/tint/transform/builtin_polyfill.cc
+++ b/src/tint/transform/builtin_polyfill.cc
@@ -39,7 +39,14 @@
/// Constructor
/// @param c the CloneContext
/// @param p the builtins to polyfill
- State(CloneContext& c, Builtins p) : ctx(c), polyfill(p) {}
+ State(CloneContext& c, Builtins p) : ctx(c), polyfill(p) {
+ has_full_ptr_params = false;
+ for (auto* enable : c.src->AST().Enables()) {
+ if (enable->extension == ast::Extension::kChromiumExperimentalFullPtrParameters) {
+ has_full_ptr_params = true;
+ }
+ }
+ }
////////////////////////////////////////////////////////////////////////////
// Function polyfills
@@ -660,6 +667,29 @@
return name;
}
+ /// Builds the polyfill function for the `workgroupUniformLoad` builtin.
+ /// @param type the type being loaded
+ /// @return the polyfill function name
+ Symbol workgroupUniformLoad(const type::Type* type) {
+ if (!has_full_ptr_params) {
+ b.Enable(ast::Extension::kChromiumExperimentalFullPtrParameters);
+ has_full_ptr_params = true;
+ }
+ auto name = b.Symbols().New("tint_workgroupUniformLoad");
+ b.Func(name,
+ utils::Vector{
+ b.Param("p", b.ty.pointer(T(type), ast::AddressSpace::kWorkgroup)),
+ },
+ T(type),
+ utils::Vector{
+ b.CallStmt(b.Call("workgroupBarrier")),
+ b.Decl(b.Let("result", b.Deref("p"))),
+ b.CallStmt(b.Call("workgroupBarrier")),
+ b.Return("result"),
+ });
+ return name;
+ }
+
////////////////////////////////////////////////////////////////////////////
// Inline polyfills
////////////////////////////////////////////////////////////////////////////
@@ -756,6 +786,9 @@
// Polyfill functions for binary operators.
utils::Hashmap<BinaryOpSignature, Symbol, 8> binary_op_polyfills;
+ // Tracks whether the chromium_experimental_full_ptr_parameters extension has been enabled.
+ bool has_full_ptr_params;
+
/// @returns the AST type for the given sem type
const ast::Type* T(const type::Type* ty) const { return CreateASTTypeFor(ctx, ty); }
@@ -913,6 +946,13 @@
}
break;
+ case sem::BuiltinType::kWorkgroupUniformLoad:
+ if (polyfill.workgroup_uniform_load) {
+ fn = builtin_polyfills.GetOrCreate(
+ builtin, [&] { return s.workgroupUniformLoad(builtin->ReturnType()); });
+ }
+ break;
+
default:
break;
}
diff --git a/src/tint/transform/builtin_polyfill.h b/src/tint/transform/builtin_polyfill.h
index 1e2f73a..a3d5b48 100644
--- a/src/tint/transform/builtin_polyfill.h
+++ b/src/tint/transform/builtin_polyfill.h
@@ -75,6 +75,8 @@
/// Should the vector form of `quantizeToF16()` be polyfilled with a scalar implementation?
/// See crbug.com/tint/1741
bool quantize_to_vec_f16 = false;
+ /// Should `workgroupUniformLoad()` be polyfilled?
+ bool workgroup_uniform_load = false;
};
/// Config is consumed by the BuiltinPolyfill transform.
diff --git a/src/tint/transform/builtin_polyfill_test.cc b/src/tint/transform/builtin_polyfill_test.cc
index 2272173..aed8d97 100644
--- a/src/tint/transform/builtin_polyfill_test.cc
+++ b/src/tint/transform/builtin_polyfill_test.cc
@@ -2943,6 +2943,169 @@
}
////////////////////////////////////////////////////////////////////////////////
+// workgroupUniformLoad
+////////////////////////////////////////////////////////////////////////////////
+DataMap polyfillWorkgroupUniformLoad() {
+ BuiltinPolyfill::Builtins builtins;
+ builtins.workgroup_uniform_load = true;
+ DataMap data;
+ data.Add<BuiltinPolyfill::Config>(builtins);
+ return data;
+}
+
+TEST_F(BuiltinPolyfillTest, ShouldRunWorkgroupUniformLoad) {
+ auto* src = R"(
+var<workgroup> v : i32;
+
+fn f() {
+ workgroupUniformLoad(&v);
+}
+)";
+
+ EXPECT_FALSE(ShouldRun<BuiltinPolyfill>(src));
+ EXPECT_TRUE(ShouldRun<BuiltinPolyfill>(src, polyfillWorkgroupUniformLoad()));
+}
+
+TEST_F(BuiltinPolyfillTest, WorkgroupUniformLoad_i32) {
+ auto* src = R"(
+var<workgroup> v : i32;
+
+fn f() {
+ let r = workgroupUniformLoad(&v);
+}
+)";
+
+ auto* expect = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+fn tint_workgroupUniformLoad(p : ptr<workgroup, i32>) -> i32 {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+var<workgroup> v : i32;
+
+fn f() {
+ let r = tint_workgroupUniformLoad(&(v));
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillWorkgroupUniformLoad());
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, WorkgroupUniformLoad_ComplexType) {
+ auto* src = R"(
+struct Inner {
+ b : bool,
+ v : vec4<i32>,
+ m : mat3x3<f32>,
+}
+
+struct Outer {
+ a : array<Inner, 4>,
+}
+
+var<workgroup> v : Outer;
+
+fn f() {
+ let r = workgroupUniformLoad(&v);
+}
+)";
+
+ auto* expect = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+fn tint_workgroupUniformLoad(p : ptr<workgroup, Outer>) -> Outer {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+struct Inner {
+ b : bool,
+ v : vec4<i32>,
+ m : mat3x3<f32>,
+}
+
+struct Outer {
+ a : array<Inner, 4>,
+}
+
+var<workgroup> v : Outer;
+
+fn f() {
+ let r = tint_workgroupUniformLoad(&(v));
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillWorkgroupUniformLoad());
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, WorkgroupUniformLoad_AvoidDuplicateEnables) {
+ auto* src = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+var<workgroup> a : i32;
+var<workgroup> b : u32;
+var<workgroup> c : f32;
+
+fn f() {
+ let ra = workgroupUniformLoad(&a);
+ let rb = workgroupUniformLoad(&b);
+ let rc = workgroupUniformLoad(&c);
+}
+)";
+
+ auto* expect = R"(
+enable chromium_experimental_full_ptr_parameters;
+
+fn tint_workgroupUniformLoad(p : ptr<workgroup, i32>) -> i32 {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+fn tint_workgroupUniformLoad_1(p : ptr<workgroup, u32>) -> u32 {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+fn tint_workgroupUniformLoad_2(p : ptr<workgroup, f32>) -> f32 {
+ workgroupBarrier();
+ let result = *(p);
+ workgroupBarrier();
+ return result;
+}
+
+var<workgroup> a : i32;
+
+var<workgroup> b : u32;
+
+var<workgroup> c : f32;
+
+fn f() {
+ let ra = tint_workgroupUniformLoad(&(a));
+ let rb = tint_workgroupUniformLoad_1(&(b));
+ let rc = tint_workgroupUniformLoad_2(&(c));
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillWorkgroupUniformLoad());
+
+ EXPECT_EQ(expect, str(got));
+}
+
+////////////////////////////////////////////////////////////////////////////////
// quantizeToF16
////////////////////////////////////////////////////////////////////////////////
DataMap polyfillQuantizeToF16_2d_f32() {
diff --git a/src/tint/type/abstract_float.cc b/src/tint/type/abstract_float.cc
index 443bb21..f3032e0 100644
--- a/src/tint/type/abstract_float.cc
+++ b/src/tint/type/abstract_float.cc
@@ -32,4 +32,8 @@
return "abstract-float";
}
+AbstractFloat* AbstractFloat::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<AbstractFloat>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/abstract_float.h b/src/tint/type/abstract_float.h
index 9a7d4a8..8ec0882 100644
--- a/src/tint/type/abstract_float.h
+++ b/src/tint/type/abstract_float.h
@@ -38,6 +38,10 @@
/// @param symbols the program's symbol table
/// @returns the name for this type when printed in diagnostics.
std::string FriendlyName(const SymbolTable& symbols) const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ AbstractFloat* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/abstract_int.cc b/src/tint/type/abstract_int.cc
index 990d4e6..806cdd3 100644
--- a/src/tint/type/abstract_int.cc
+++ b/src/tint/type/abstract_int.cc
@@ -33,4 +33,8 @@
return "abstract-int";
}
+AbstractInt* AbstractInt::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<AbstractInt>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/abstract_int.h b/src/tint/type/abstract_int.h
index 2df6328..7c96c8f 100644
--- a/src/tint/type/abstract_int.h
+++ b/src/tint/type/abstract_int.h
@@ -38,6 +38,10 @@
/// @param symbols the program's symbol table
/// @returns the name for this type when printed in diagnostics.
std::string FriendlyName(const SymbolTable& symbols) const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ AbstractInt* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/array.cc b/src/tint/type/array.cc
index 6df6cdc..6e1d297 100644
--- a/src/tint/type/array.cc
+++ b/src/tint/type/array.cc
@@ -19,6 +19,7 @@
#include "src/tint/ast/variable.h"
#include "src/tint/debug.h"
#include "src/tint/symbol_table.h"
+#include "src/tint/type/manager.h"
#include "src/tint/utils/hash.h"
TINT_INSTANTIATE_TYPEINFO(tint::type::Array);
@@ -103,4 +104,11 @@
return size_;
}
+Array* Array::Clone(CloneContext& ctx) const {
+ auto* elem_ty = element_->Clone(ctx);
+ auto* count = count_->Clone(ctx);
+
+ return ctx.dst.mgr->Get<Array>(elem_ty, count, align_, size_, stride_, implicit_stride_);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/array.h b/src/tint/type/array.h
index 18882a4..95ed164 100644
--- a/src/tint/type/array.h
+++ b/src/tint/type/array.h
@@ -98,6 +98,10 @@
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Array* Clone(CloneContext& ctx) const override;
+
private:
Type const* const element_;
const ArrayCount* count_;
diff --git a/src/tint/type/array_count.cc b/src/tint/type/array_count.cc
index bebe896..e50db29 100644
--- a/src/tint/type/array_count.cc
+++ b/src/tint/type/array_count.cc
@@ -14,6 +14,8 @@
#include "src/tint/type/array_count.h"
+#include "src/tint/type/manager.h"
+
TINT_INSTANTIATE_TYPEINFO(tint::type::ArrayCount);
TINT_INSTANTIATE_TYPEINFO(tint::type::ConstantArrayCount);
TINT_INSTANTIATE_TYPEINFO(tint::type::RuntimeArrayCount);
@@ -38,6 +40,10 @@
return std::to_string(value);
}
+ConstantArrayCount* ConstantArrayCount::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<ConstantArrayCount>(value);
+}
+
RuntimeArrayCount::RuntimeArrayCount()
: Base(static_cast<size_t>(TypeInfo::Of<RuntimeArrayCount>().full_hashcode)) {}
RuntimeArrayCount::~RuntimeArrayCount() = default;
@@ -50,4 +56,8 @@
return "";
}
+RuntimeArrayCount* RuntimeArrayCount::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<RuntimeArrayCount>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/array_count.h b/src/tint/type/array_count.h
index aa2c182..90fc253 100644
--- a/src/tint/type/array_count.h
+++ b/src/tint/type/array_count.h
@@ -19,6 +19,7 @@
#include <string>
#include "src/tint/symbol_table.h"
+#include "src/tint/type/clone_context.h"
#include "src/tint/type/unique_node.h"
namespace tint::type {
@@ -32,6 +33,10 @@
/// @returns the friendly name for this array count
virtual std::string FriendlyName(const SymbolTable& symbols) const = 0;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ virtual ArrayCount* Clone(CloneContext& ctx) const = 0;
+
protected:
/// Constructor
/// @param hash the unique hash of the node
@@ -59,6 +64,10 @@
/// @returns the friendly name for this array count
std::string FriendlyName(const SymbolTable& symbols) const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ ConstantArrayCount* Clone(CloneContext& ctx) const override;
+
/// The array count constant-expression value.
uint32_t value;
};
@@ -81,6 +90,10 @@
/// @param symbols the symbol table
/// @returns the friendly name for this array count
std::string FriendlyName(const SymbolTable& symbols) const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ RuntimeArrayCount* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/array_test.cc b/src/tint/type/array_test.cc
index 089b12e..8f80a63 100644
--- a/src/tint/type/array_test.cc
+++ b/src/tint/type/array_test.cc
@@ -164,5 +164,41 @@
EXPECT_FALSE(runtime_sized->HasFixedFootprint());
}
+TEST_F(ArrayTest, CloneSizedArray) {
+ auto* ary = create<Array>(create<U32>(), create<ConstantArrayCount>(2u), 4u, 8u, 32u, 16u);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* val = ary->Clone(ctx);
+
+ ASSERT_NE(val, nullptr);
+ EXPECT_TRUE(val->ElemType()->Is<U32>());
+ EXPECT_TRUE(val->Count()->Is<ConstantArrayCount>());
+ EXPECT_EQ(val->Count()->As<ConstantArrayCount>()->value, 2u);
+ EXPECT_EQ(val->Align(), 4u);
+ EXPECT_EQ(val->Size(), 8u);
+ EXPECT_EQ(val->Stride(), 32u);
+ EXPECT_EQ(val->ImplicitStride(), 16u);
+ EXPECT_FALSE(val->IsStrideImplicit());
+}
+
+TEST_F(ArrayTest, CloneRuntimeArray) {
+ auto* ary = create<Array>(create<U32>(), create<RuntimeArrayCount>(), 4u, 8u, 32u, 32u);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* val = ary->Clone(ctx);
+ ASSERT_NE(val, nullptr);
+ EXPECT_TRUE(val->ElemType()->Is<U32>());
+ EXPECT_TRUE(val->Count()->Is<RuntimeArrayCount>());
+ EXPECT_EQ(val->Align(), 4u);
+ EXPECT_EQ(val->Size(), 8u);
+ EXPECT_EQ(val->Stride(), 32u);
+ EXPECT_EQ(val->ImplicitStride(), 32u);
+ EXPECT_TRUE(val->IsStrideImplicit());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/atomic.cc b/src/tint/type/atomic.cc
index 91efcd4..0daa7f5 100644
--- a/src/tint/type/atomic.cc
+++ b/src/tint/type/atomic.cc
@@ -55,4 +55,9 @@
Atomic::~Atomic() = default;
+Atomic* Atomic::Clone(CloneContext& ctx) const {
+ auto* ty = subtype_->Clone(ctx);
+ return ctx.dst.mgr->Get<Atomic>(ty);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/atomic.h b/src/tint/type/atomic.h
index 31d1c5b..9b3d4fc 100644
--- a/src/tint/type/atomic.h
+++ b/src/tint/type/atomic.h
@@ -49,6 +49,10 @@
/// @returns the alignment in bytes of the type.
uint32_t Align() const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Atomic* Clone(CloneContext& ctx) const override;
+
private:
type::Type const* const subtype_;
};
diff --git a/src/tint/type/atomic_test.cc b/src/tint/type/atomic_test.cc
index ed0bdec..e7126cb 100644
--- a/src/tint/type/atomic_test.cc
+++ b/src/tint/type/atomic_test.cc
@@ -50,5 +50,15 @@
EXPECT_EQ(a->FriendlyName(Symbols()), "atomic<i32>");
}
+TEST_F(AtomicTest, Clone) {
+ auto* atomic = create<Atomic>(create<I32>());
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* val = atomic->Clone(ctx);
+ EXPECT_TRUE(val->Type()->Is<I32>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/bool.cc b/src/tint/type/bool.cc
index 89c55a1..4c3849c 100644
--- a/src/tint/type/bool.cc
+++ b/src/tint/type/bool.cc
@@ -46,4 +46,8 @@
return 4;
}
+Bool* Bool::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<Bool>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/bool.h b/src/tint/type/bool.h
index a33a352..d73341c 100644
--- a/src/tint/type/bool.h
+++ b/src/tint/type/bool.h
@@ -54,6 +54,10 @@
/// @note: booleans are not host-sharable, but still may exist in workgroup
/// storage.
uint32_t Align() const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Bool* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/bool_test.cc b/src/tint/type/bool_test.cc
index d9b9d7a..b061927 100644
--- a/src/tint/type/bool_test.cc
+++ b/src/tint/type/bool_test.cc
@@ -44,5 +44,14 @@
EXPECT_EQ(b.FriendlyName(Symbols()), "bool");
}
+TEST_F(BoolTest, Clone) {
+ auto* a = create<Bool>();
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* b = a->Clone(ctx);
+ ASSERT_TRUE(b->Is<Bool>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/clone_context.h b/src/tint/type/clone_context.h
new file mode 100644
index 0000000..55ed44d
--- /dev/null
+++ b/src/tint/type/clone_context.h
@@ -0,0 +1,47 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef SRC_TINT_TYPE_CLONE_CONTEXT_H_
+#define SRC_TINT_TYPE_CLONE_CONTEXT_H_
+
+// Forward Declarations
+namespace tint {
+class SymbolTable;
+} // namespace tint
+namespace tint::type {
+class Manager;
+} // namespace tint::type
+
+namespace tint::type {
+
+/// Context information for cloning of types
+struct CloneContext {
+ /// Source information
+ struct {
+ /// The source symbol table
+ const SymbolTable* st;
+ } src;
+
+ /// Destination information
+ struct {
+ /// The destination symbol table
+ SymbolTable* st;
+ /// The destination type manger
+ Manager* mgr;
+ } dst;
+};
+
+} // namespace tint::type
+
+#endif // SRC_TINT_TYPE_CLONE_CONTEXT_H_
diff --git a/src/tint/type/depth_multisampled_texture.cc b/src/tint/type/depth_multisampled_texture.cc
index 1313d70..7e80eb1 100644
--- a/src/tint/type/depth_multisampled_texture.cc
+++ b/src/tint/type/depth_multisampled_texture.cc
@@ -48,4 +48,8 @@
return out.str();
}
+DepthMultisampledTexture* DepthMultisampledTexture::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<DepthMultisampledTexture>(dim());
+}
+
} // namespace tint::type
diff --git a/src/tint/type/depth_multisampled_texture.h b/src/tint/type/depth_multisampled_texture.h
index f92a00d..d91b463 100644
--- a/src/tint/type/depth_multisampled_texture.h
+++ b/src/tint/type/depth_multisampled_texture.h
@@ -39,6 +39,10 @@
/// @returns the name for this type that closely resembles how it would be
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ DepthMultisampledTexture* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/depth_multisampled_texture_test.cc b/src/tint/type/depth_multisampled_texture_test.cc
index 46897e5..fa94d93 100644
--- a/src/tint/type/depth_multisampled_texture_test.cc
+++ b/src/tint/type/depth_multisampled_texture_test.cc
@@ -57,5 +57,15 @@
EXPECT_EQ(d.FriendlyName(Symbols()), "texture_depth_multisampled_2d");
}
+TEST_F(DepthMultisampledTextureTest, Clone) {
+ auto* a = create<DepthMultisampledTexture>(ast::TextureDimension::k2d);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* dt = a->Clone(ctx);
+ EXPECT_EQ(dt->dim(), ast::TextureDimension::k2d);
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/depth_texture.cc b/src/tint/type/depth_texture.cc
index c5d5aae..2295b39 100644
--- a/src/tint/type/depth_texture.cc
+++ b/src/tint/type/depth_texture.cc
@@ -49,4 +49,8 @@
return out.str();
}
+DepthTexture* DepthTexture::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<DepthTexture>(dim());
+}
+
} // namespace tint::type
diff --git a/src/tint/type/depth_texture.h b/src/tint/type/depth_texture.h
index 0e5bef3..21cd780 100644
--- a/src/tint/type/depth_texture.h
+++ b/src/tint/type/depth_texture.h
@@ -39,6 +39,10 @@
/// @returns the name for this type that closely resembles how it would be
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ DepthTexture* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/depth_texture_test.cc b/src/tint/type/depth_texture_test.cc
index eab9ba8..18dda3d 100644
--- a/src/tint/type/depth_texture_test.cc
+++ b/src/tint/type/depth_texture_test.cc
@@ -69,5 +69,15 @@
EXPECT_EQ(d.FriendlyName(Symbols()), "texture_depth_cube");
}
+TEST_F(DepthTextureTest, Clone) {
+ auto* a = create<DepthTexture>(ast::TextureDimension::k2d);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* dt = a->Clone(ctx);
+ EXPECT_EQ(dt->dim(), ast::TextureDimension::k2d);
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/external_texture.cc b/src/tint/type/external_texture.cc
index 9bc319c..77ac5ba 100644
--- a/src/tint/type/external_texture.cc
+++ b/src/tint/type/external_texture.cc
@@ -34,4 +34,8 @@
return "texture_external";
}
+ExternalTexture* ExternalTexture::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<ExternalTexture>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/external_texture.h b/src/tint/type/external_texture.h
index a60eddc..947eb88 100644
--- a/src/tint/type/external_texture.h
+++ b/src/tint/type/external_texture.h
@@ -38,6 +38,10 @@
/// @returns the name for this type that closely resembles how it would be
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ ExternalTexture* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/external_texture_test.cc b/src/tint/type/external_texture_test.cc
index d04b973..e9ea95d 100644
--- a/src/tint/type/external_texture_test.cc
+++ b/src/tint/type/external_texture_test.cc
@@ -66,5 +66,15 @@
EXPECT_EQ(s.FriendlyName(Symbols()), "texture_external");
}
+TEST_F(ExternalTextureTest, Clone) {
+ auto* a = create<ExternalTexture>();
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* b = a->Clone(ctx);
+ ASSERT_TRUE(b->Is<ExternalTexture>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/f16.cc b/src/tint/type/f16.cc
index 94849e5..5ea9aca 100644
--- a/src/tint/type/f16.cc
+++ b/src/tint/type/f16.cc
@@ -46,4 +46,8 @@
return 2;
}
+F16* F16::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<F16>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/f16.h b/src/tint/type/f16.h
index 9cac21b..c35d878 100644
--- a/src/tint/type/f16.h
+++ b/src/tint/type/f16.h
@@ -44,6 +44,10 @@
/// @returns the alignment in bytes of the type.
uint32_t Align() const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ F16* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/f16_test.cc b/src/tint/type/f16_test.cc
index e486380..a9a2fe0 100644
--- a/src/tint/type/f16_test.cc
+++ b/src/tint/type/f16_test.cc
@@ -44,5 +44,15 @@
EXPECT_EQ(f.FriendlyName(Symbols()), "f16");
}
+TEST_F(F16Test, Clone) {
+ auto* a = create<F16>();
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* b = a->Clone(ctx);
+ ASSERT_TRUE(b->Is<F16>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/f32.cc b/src/tint/type/f32.cc
index 4ccd13a..91872a2 100644
--- a/src/tint/type/f32.cc
+++ b/src/tint/type/f32.cc
@@ -46,4 +46,8 @@
return 4;
}
+F32* F32::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<F32>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/f32.h b/src/tint/type/f32.h
index 7a1e864..12b298f 100644
--- a/src/tint/type/f32.h
+++ b/src/tint/type/f32.h
@@ -44,6 +44,10 @@
/// @returns the alignment in bytes of the type.
uint32_t Align() const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ F32* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/f32_test.cc b/src/tint/type/f32_test.cc
index 8ecbdbd..43d7823 100644
--- a/src/tint/type/f32_test.cc
+++ b/src/tint/type/f32_test.cc
@@ -44,5 +44,15 @@
EXPECT_EQ(f.FriendlyName(Symbols()), "f32");
}
+TEST_F(F32Test, Clone) {
+ auto* a = create<F32>();
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* b = a->Clone(ctx);
+ ASSERT_TRUE(b->Is<F32>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/i32.cc b/src/tint/type/i32.cc
index c616d14..9fe0d95 100644
--- a/src/tint/type/i32.cc
+++ b/src/tint/type/i32.cc
@@ -46,4 +46,8 @@
return 4;
}
+I32* I32::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<I32>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/i32.h b/src/tint/type/i32.h
index 2160c3a..bdbf559 100644
--- a/src/tint/type/i32.h
+++ b/src/tint/type/i32.h
@@ -44,6 +44,10 @@
/// @returns the alignment in bytes of the type.
uint32_t Align() const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ I32* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/i32_test.cc b/src/tint/type/i32_test.cc
index bdcbf8e..97c90b1 100644
--- a/src/tint/type/i32_test.cc
+++ b/src/tint/type/i32_test.cc
@@ -44,5 +44,15 @@
EXPECT_EQ(i.FriendlyName(Symbols()), "i32");
}
+TEST_F(I32Test, Clone) {
+ auto* a = create<I32>();
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* b = a->Clone(ctx);
+ ASSERT_TRUE(b->Is<I32>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/manager.cc b/src/tint/type/manager.cc
index 2c455eb..666a1d3 100644
--- a/src/tint/type/manager.cc
+++ b/src/tint/type/manager.cc
@@ -17,8 +17,11 @@
namespace tint::type {
Manager::Manager() = default;
+
Manager::Manager(Manager&&) = default;
+
Manager& Manager::operator=(Manager&& rhs) = default;
+
Manager::~Manager() = default;
} // namespace tint::type
diff --git a/src/tint/type/matrix.cc b/src/tint/type/matrix.cc
index 0d7571f..600f4b0 100644
--- a/src/tint/type/matrix.cc
+++ b/src/tint/type/matrix.cc
@@ -66,4 +66,9 @@
return column_type_->Align();
}
+Matrix* Matrix::Clone(CloneContext& ctx) const {
+ auto* col_ty = column_type_->Clone(ctx);
+ return ctx.dst.mgr->Get<Matrix>(col_ty, columns_);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/matrix.h b/src/tint/type/matrix.h
index 70555ea..72bb2e5 100644
--- a/src/tint/type/matrix.h
+++ b/src/tint/type/matrix.h
@@ -66,6 +66,10 @@
/// @returns the number of bytes between columns of the matrix
uint32_t ColumnStride() const;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Matrix* Clone(CloneContext& ctx) const override;
+
private:
const Type* const subtype_;
const Vector* const column_type_;
diff --git a/src/tint/type/matrix_test.cc b/src/tint/type/matrix_test.cc
index 3a74741..09b46f1 100644
--- a/src/tint/type/matrix_test.cc
+++ b/src/tint/type/matrix_test.cc
@@ -65,5 +65,17 @@
EXPECT_EQ(m.FriendlyName(Symbols()), "mat2x3<i32>");
}
+TEST_F(MatrixTest, Clone) {
+ auto* a = create<Matrix>(create<Vector>(create<I32>(), 3u), 4u);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* mat = a->Clone(ctx);
+ EXPECT_TRUE(mat->type()->Is<I32>());
+ EXPECT_EQ(mat->rows(), 3u);
+ EXPECT_EQ(mat->columns(), 4u);
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/multisampled_texture.cc b/src/tint/type/multisampled_texture.cc
index 16588f4..47d3e21 100644
--- a/src/tint/type/multisampled_texture.cc
+++ b/src/tint/type/multisampled_texture.cc
@@ -42,4 +42,9 @@
return out.str();
}
+MultisampledTexture* MultisampledTexture::Clone(CloneContext& ctx) const {
+ auto* ty = type_->Clone(ctx);
+ return ctx.dst.mgr->Get<MultisampledTexture>(dim(), ty);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/multisampled_texture.h b/src/tint/type/multisampled_texture.h
index f78d40b..3048590 100644
--- a/src/tint/type/multisampled_texture.h
+++ b/src/tint/type/multisampled_texture.h
@@ -44,6 +44,10 @@
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ MultisampledTexture* Clone(CloneContext& ctx) const override;
+
private:
const Type* const type_;
};
diff --git a/src/tint/type/multisampled_texture_test.cc b/src/tint/type/multisampled_texture_test.cc
index e919ccf..b3b671a 100644
--- a/src/tint/type/multisampled_texture_test.cc
+++ b/src/tint/type/multisampled_texture_test.cc
@@ -81,5 +81,16 @@
EXPECT_EQ(s.FriendlyName(Symbols()), "texture_multisampled_3d<f32>");
}
+TEST_F(MultisampledTextureTest, Clone) {
+ auto* a = create<MultisampledTexture>(ast::TextureDimension::k2d, create<F32>());
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* mt = a->Clone(ctx);
+ EXPECT_EQ(mt->dim(), ast::TextureDimension::k2d);
+ EXPECT_TRUE(mt->type()->Is<F32>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/pointer.cc b/src/tint/type/pointer.cc
index 0ae8e0a..8716b92 100644
--- a/src/tint/type/pointer.cc
+++ b/src/tint/type/pointer.cc
@@ -53,4 +53,9 @@
Pointer::~Pointer() = default;
+Pointer* Pointer::Clone(CloneContext& ctx) const {
+ auto* ty = subtype_->Clone(ctx);
+ return ctx.dst.mgr->Get<Pointer>(ty, address_space_, access_);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/pointer.h b/src/tint/type/pointer.h
index 3f7ff01..083647e 100644
--- a/src/tint/type/pointer.h
+++ b/src/tint/type/pointer.h
@@ -53,6 +53,10 @@
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Pointer* Clone(CloneContext& ctx) const override;
+
private:
Type const* const subtype_;
ast::AddressSpace const address_space_;
diff --git a/src/tint/type/pointer_test.cc b/src/tint/type/pointer_test.cc
index af3587a..85fcab7 100644
--- a/src/tint/type/pointer_test.cc
+++ b/src/tint/type/pointer_test.cc
@@ -68,5 +68,17 @@
EXPECT_EQ(r->FriendlyName(Symbols()), "ptr<workgroup, i32, read>");
}
+TEST_F(PointerTest, Clone) {
+ auto* a = create<Pointer>(create<I32>(), ast::AddressSpace::kStorage, ast::Access::kReadWrite);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* ptr = a->Clone(ctx);
+ EXPECT_TRUE(ptr->StoreType()->Is<I32>());
+ EXPECT_EQ(ptr->AddressSpace(), ast::AddressSpace::kStorage);
+ EXPECT_EQ(ptr->Access(), ast::Access::kReadWrite);
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/reference.cc b/src/tint/type/reference.cc
index f811b28..36915fc 100644
--- a/src/tint/type/reference.cc
+++ b/src/tint/type/reference.cc
@@ -52,4 +52,9 @@
Reference::~Reference() = default;
+Reference* Reference::Clone(CloneContext& ctx) const {
+ auto* ty = subtype_->Clone(ctx);
+ return ctx.dst.mgr->Get<Reference>(ty, address_space_, access_);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/reference.h b/src/tint/type/reference.h
index e13b3cf..d4235c1 100644
--- a/src/tint/type/reference.h
+++ b/src/tint/type/reference.h
@@ -53,6 +53,10 @@
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Reference* Clone(CloneContext& ctx) const override;
+
private:
Type const* const subtype_;
ast::AddressSpace const address_space_;
diff --git a/src/tint/type/reference_test.cc b/src/tint/type/reference_test.cc
index e9f6128..93e42ad 100644
--- a/src/tint/type/reference_test.cc
+++ b/src/tint/type/reference_test.cc
@@ -78,5 +78,18 @@
EXPECT_EQ(r->FriendlyName(Symbols()), "ref<workgroup, i32, read>");
}
+TEST_F(ReferenceTest, Clone) {
+ auto* a =
+ create<Reference>(create<I32>(), ast::AddressSpace::kStorage, ast::Access::kReadWrite);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* ref = a->Clone(ctx);
+ EXPECT_TRUE(ref->StoreType()->Is<I32>());
+ EXPECT_EQ(ref->AddressSpace(), ast::AddressSpace::kStorage);
+ EXPECT_EQ(ref->Access(), ast::Access::kReadWrite);
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/sampled_texture.cc b/src/tint/type/sampled_texture.cc
index a8bdce6..7651b410 100644
--- a/src/tint/type/sampled_texture.cc
+++ b/src/tint/type/sampled_texture.cc
@@ -41,4 +41,9 @@
return out.str();
}
+SampledTexture* SampledTexture::Clone(CloneContext& ctx) const {
+ auto* ty = type_->Clone(ctx);
+ return ctx.dst.mgr->Get<SampledTexture>(dim(), ty);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/sampled_texture.h b/src/tint/type/sampled_texture.h
index 5272102..1f37790 100644
--- a/src/tint/type/sampled_texture.h
+++ b/src/tint/type/sampled_texture.h
@@ -44,6 +44,10 @@
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ SampledTexture* Clone(CloneContext& ctx) const override;
+
private:
const Type* const type_;
};
diff --git a/src/tint/type/sampled_texture_test.cc b/src/tint/type/sampled_texture_test.cc
index 772629f..78ab2d3 100644
--- a/src/tint/type/sampled_texture_test.cc
+++ b/src/tint/type/sampled_texture_test.cc
@@ -85,5 +85,16 @@
EXPECT_EQ(s.FriendlyName(Symbols()), "texture_3d<f32>");
}
+TEST_F(SampledTextureTest, Clone) {
+ auto* a = create<SampledTexture>(ast::TextureDimension::kCube, create<F32>());
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* mt = a->Clone(ctx);
+ EXPECT_EQ(mt->dim(), ast::TextureDimension::kCube);
+ EXPECT_TRUE(mt->type()->Is<F32>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/sampler.cc b/src/tint/type/sampler.cc
index 9de1ea8..50d3f28 100644
--- a/src/tint/type/sampler.cc
+++ b/src/tint/type/sampler.cc
@@ -37,4 +37,8 @@
return kind_ == ast::SamplerKind::kSampler ? "sampler" : "sampler_comparison";
}
+Sampler* Sampler::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<Sampler>(kind_);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/sampler.h b/src/tint/type/sampler.h
index 7778dcd..ab81073 100644
--- a/src/tint/type/sampler.h
+++ b/src/tint/type/sampler.h
@@ -47,6 +47,10 @@
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Sampler* Clone(CloneContext& ctx) const override;
+
private:
ast::SamplerKind const kind_;
};
diff --git a/src/tint/type/sampler_test.cc b/src/tint/type/sampler_test.cc
index 262dd18..ef0bdf5 100644
--- a/src/tint/type/sampler_test.cc
+++ b/src/tint/type/sampler_test.cc
@@ -63,5 +63,15 @@
EXPECT_EQ(s.FriendlyName(Symbols()), "sampler_comparison");
}
+TEST_F(SamplerTest, Clone) {
+ auto* a = create<Sampler>(ast::SamplerKind::kSampler);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* mt = a->Clone(ctx);
+ EXPECT_EQ(mt->kind(), ast::SamplerKind::kSampler);
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/storage_texture.cc b/src/tint/type/storage_texture.cc
index ae574f1..d893767 100644
--- a/src/tint/type/storage_texture.cc
+++ b/src/tint/type/storage_texture.cc
@@ -79,4 +79,9 @@
return nullptr;
}
+StorageTexture* StorageTexture::Clone(CloneContext& ctx) const {
+ auto* ty = subtype_->Clone(ctx);
+ return ctx.dst.mgr->Get<StorageTexture>(dim(), texel_format_, access_, ty);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/storage_texture.h b/src/tint/type/storage_texture.h
index 25b452b..276e045 100644
--- a/src/tint/type/storage_texture.h
+++ b/src/tint/type/storage_texture.h
@@ -67,6 +67,10 @@
/// @returns the storage texture subtype for the given TexelFormat
static Type* SubtypeFor(ast::TexelFormat format, Manager& type_mgr);
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ StorageTexture* Clone(CloneContext& ctx) const override;
+
private:
ast::TexelFormat const texel_format_;
ast::Access const access_;
diff --git a/src/tint/type/storage_texture_test.cc b/src/tint/type/storage_texture_test.cc
index 30293ee..ad8a975 100644
--- a/src/tint/type/storage_texture_test.cc
+++ b/src/tint/type/storage_texture_test.cc
@@ -134,5 +134,18 @@
EXPECT_TRUE(s->As<StorageTexture>()->type()->Is<I32>());
}
+TEST_F(StorageTextureTest, Clone) {
+ auto* a = Create(ast::TextureDimension::kCube, ast::TexelFormat::kRgba32Float,
+ ast::Access::kReadWrite);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* mt = a->Clone(ctx);
+ EXPECT_EQ(mt->dim(), ast::TextureDimension::kCube);
+ EXPECT_EQ(mt->texel_format(), ast::TexelFormat::kRgba32Float);
+ EXPECT_TRUE(mt->type()->Is<F32>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/struct.cc b/src/tint/type/struct.cc
index f54f21f..c39916b 100644
--- a/src/tint/type/struct.cc
+++ b/src/tint/type/struct.cc
@@ -20,6 +20,7 @@
#include <utility>
#include "src/tint/symbol_table.h"
+#include "src/tint/type/manager.h"
#include "src/tint/utils/hash.h"
TINT_INSTANTIATE_TYPEINFO(tint::type::Struct);
@@ -160,6 +161,16 @@
return ss.str();
}
+Struct* Struct::Clone(CloneContext& ctx) const {
+ auto sym = ctx.dst.st->Register(ctx.src.st->NameFor(name_));
+
+ utils::Vector<const StructMember*, 4> members;
+ for (const auto& mem : members_) {
+ members.Push(mem->Clone(ctx));
+ }
+ return ctx.dst.mgr->Get<Struct>(source_, sym, members, align_, size_, size_no_padding_);
+}
+
StructMember::StructMember(tint::Source source,
Symbol name,
const type::Type* type,
@@ -179,4 +190,11 @@
StructMember::~StructMember() = default;
+StructMember* StructMember::Clone(CloneContext& ctx) const {
+ auto sym = ctx.dst.st->Register(ctx.src.st->NameFor(name_));
+ auto* ty = type_->Clone(ctx);
+ return ctx.dst.mgr->Get<StructMember>(source_, sym, ty, index_, offset_, align_, size_,
+ location_);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/struct.h b/src/tint/type/struct.h
index ff23a89..cd545e5 100644
--- a/src/tint/type/struct.h
+++ b/src/tint/type/struct.h
@@ -149,6 +149,10 @@
/// @note only structures returned by builtins may be abstract (e.g. modf, frexp)
utils::VectorRef<const Struct*> ConcreteTypes() const { return concrete_types_; }
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Struct* Clone(CloneContext& ctx) const override;
+
private:
const tint::Source source_;
const Symbol name_;
@@ -216,6 +220,10 @@
/// @returns the location, if set
std::optional<uint32_t> Location() const { return location_; }
+ /// @param ctx the clone context
+ /// @returns a clone of this struct member
+ StructMember* Clone(CloneContext& ctx) const;
+
private:
const tint::Source source_;
const Symbol name_;
diff --git a/src/tint/type/struct_test.cc b/src/tint/type/struct_test.cc
index 8bacfca..ff72d0b 100644
--- a/src/tint/type/struct_test.cc
+++ b/src/tint/type/struct_test.cc
@@ -206,5 +206,47 @@
EXPECT_FALSE(sem_outer_with_runtime_sized_array->HasFixedFootprint());
}
+TEST_F(TypeStructTest, Clone) {
+ auto* s = create<Struct>(
+ Source{}, Sym("my_struct"),
+ utils::Vector{create<StructMember>(Source{}, Sym("b"), create<Vector>(create<F32>(), 3u),
+ 0u, 0u, 16u, 12u, std::optional<uint32_t>{2}),
+ create<StructMember>(Source{}, Sym("a"), create<I32>(), 1u, 16u, 4u, 4u,
+ std::optional<uint32_t>())},
+ 4u /* align */, 8u /* size */, 16u /* size_no_padding */);
+
+ ProgramID id;
+ SymbolTable new_st{id};
+
+ type::Manager mgr;
+ type::CloneContext ctx{{&Symbols()}, {&new_st, &mgr}};
+
+ auto* st = s->Clone(ctx);
+
+ EXPECT_TRUE(new_st.Get("my_struct").IsValid());
+ EXPECT_EQ(new_st.NameFor(st->Name()), "my_struct");
+
+ EXPECT_EQ(st->Align(), 4u);
+ EXPECT_EQ(st->Size(), 8u);
+ EXPECT_EQ(st->SizeNoPadding(), 16u);
+
+ auto members = st->Members();
+ ASSERT_EQ(members.Length(), 2u);
+
+ EXPECT_EQ(new_st.NameFor(members[0]->Name()), "b");
+ EXPECT_TRUE(members[0]->Type()->Is<Vector>());
+ EXPECT_EQ(members[0]->Index(), 0u);
+ EXPECT_EQ(members[0]->Offset(), 0u);
+ EXPECT_EQ(members[0]->Align(), 16u);
+ EXPECT_EQ(members[0]->Size(), 12u);
+
+ EXPECT_EQ(new_st.NameFor(members[1]->Name()), "a");
+ EXPECT_TRUE(members[1]->Type()->Is<I32>());
+ EXPECT_EQ(members[1]->Index(), 1u);
+ EXPECT_EQ(members[1]->Offset(), 16u);
+ EXPECT_EQ(members[1]->Align(), 4u);
+ EXPECT_EQ(members[1]->Size(), 4u);
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/type.h b/src/tint/type/type.h
index ccd0fe5..a02c9ac 100644
--- a/src/tint/type/type.h
+++ b/src/tint/type/type.h
@@ -18,6 +18,7 @@
#include <functional>
#include <string>
+#include "src/tint/type/clone_context.h"
#include "src/tint/type/unique_node.h"
#include "src/tint/utils/enum_set.h"
#include "src/tint/utils/vector.h"
@@ -72,6 +73,10 @@
/// @note opaque types will return a size of 0.
virtual uint32_t Align() const;
+ /// @param ctx the clone context
+ /// @returns a clone of this type created in the provided context
+ virtual Type* Clone(CloneContext& ctx) const = 0;
+
/// @returns the flags on the type
type::Flags Flags() { return flags_; }
diff --git a/src/tint/type/u32.cc b/src/tint/type/u32.cc
index 34ae027..a749f85 100644
--- a/src/tint/type/u32.cc
+++ b/src/tint/type/u32.cc
@@ -46,4 +46,8 @@
return 4;
}
+U32* U32::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<U32>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/u32.h b/src/tint/type/u32.h
index 222a387..8d796423 100644
--- a/src/tint/type/u32.h
+++ b/src/tint/type/u32.h
@@ -44,6 +44,10 @@
/// @returns the alignment in bytes of the type.
uint32_t Align() const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ U32* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/type/u32_test.cc b/src/tint/type/u32_test.cc
index 5ec5502..8f17e62 100644
--- a/src/tint/type/u32_test.cc
+++ b/src/tint/type/u32_test.cc
@@ -44,5 +44,15 @@
EXPECT_EQ(u.FriendlyName(Symbols()), "u32");
}
+TEST_F(U32Test, Clone) {
+ auto* a = create<U32>();
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* b = a->Clone(ctx);
+ ASSERT_TRUE(b->Is<U32>());
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/vector.cc b/src/tint/type/vector.cc
index a1f964e..acd952c 100644
--- a/src/tint/type/vector.cc
+++ b/src/tint/type/vector.cc
@@ -65,4 +65,9 @@
return 0; // Unreachable
}
+Vector* Vector::Clone(CloneContext& ctx) const {
+ auto* subtype = subtype_->Clone(ctx);
+ return ctx.dst.mgr->Get<Vector>(subtype, width_);
+}
+
} // namespace tint::type
diff --git a/src/tint/type/vector.h b/src/tint/type/vector.h
index 86f6f95..acffb8c 100644
--- a/src/tint/type/vector.h
+++ b/src/tint/type/vector.h
@@ -62,6 +62,10 @@
/// @returns the alignment in bytes of a vector of the given width.
static uint32_t AlignOf(uint32_t width);
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Vector* Clone(CloneContext& ctx) const override;
+
private:
Type const* const subtype_;
const uint32_t width_;
diff --git a/src/tint/type/vector_test.cc b/src/tint/type/vector_test.cc
index 2bd144e..7dd5c9d 100644
--- a/src/tint/type/vector_test.cc
+++ b/src/tint/type/vector_test.cc
@@ -59,5 +59,16 @@
EXPECT_EQ(v->FriendlyName(Symbols()), "vec3<f32>");
}
+TEST_F(VectorTest, Clone) {
+ auto* a = create<Vector>(create<I32>(), 2u);
+
+ type::Manager mgr;
+ type::CloneContext ctx{{nullptr}, {nullptr, &mgr}};
+
+ auto* vec = a->Clone(ctx);
+ EXPECT_TRUE(vec->type()->Is<I32>());
+ EXPECT_EQ(vec->Width(), 2u);
+}
+
} // namespace
} // namespace tint::type
diff --git a/src/tint/type/void.cc b/src/tint/type/void.cc
index 3522607..e29def1 100644
--- a/src/tint/type/void.cc
+++ b/src/tint/type/void.cc
@@ -32,4 +32,8 @@
return "void";
}
+Void* Void::Clone(CloneContext& ctx) const {
+ return ctx.dst.mgr->Get<Void>();
+}
+
} // namespace tint::type
diff --git a/src/tint/type/void.h b/src/tint/type/void.h
index 801a671..02b2eee 100644
--- a/src/tint/type/void.h
+++ b/src/tint/type/void.h
@@ -38,6 +38,10 @@
/// @returns the name for this type that closely resembles how it would be
/// declared in WGSL.
std::string FriendlyName(const SymbolTable& symbols) const override;
+
+ /// @param ctx the clone context
+ /// @returns a clone of this type
+ Void* Clone(CloneContext& ctx) const override;
};
} // namespace tint::type
diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc
index 41705cf..8450be3 100644
--- a/src/tint/writer/glsl/generator_impl.cc
+++ b/src/tint/writer/glsl/generator_impl.cc
@@ -200,6 +200,7 @@
polyfills.int_div_mod = true;
polyfills.saturate = true;
polyfills.texture_sample_base_clamp_to_edge_2d_f32 = true;
+ polyfills.workgroup_uniform_load = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc
index 93589e5..8e8f1ed 100644
--- a/src/tint/writer/hlsl/generator_impl.cc
+++ b/src/tint/writer/hlsl/generator_impl.cc
@@ -178,6 +178,7 @@
polyfills.insert_bits = transform::BuiltinPolyfill::Level::kFull;
polyfills.int_div_mod = true;
polyfills.texture_sample_base_clamp_to_edge_2d_f32 = true;
+ polyfills.workgroup_uniform_load = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
diff --git a/src/tint/writer/msl/generator_impl.cc b/src/tint/writer/msl/generator_impl.cc
index ab18316..fae6682 100644
--- a/src/tint/writer/msl/generator_impl.cc
+++ b/src/tint/writer/msl/generator_impl.cc
@@ -183,6 +183,7 @@
polyfills.int_div_mod = true;
polyfills.sign_int = true;
polyfills.texture_sample_base_clamp_to_edge_2d_f32 = true;
+ polyfills.workgroup_uniform_load = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
diff --git a/src/tint/writer/spirv/generator_impl.cc b/src/tint/writer/spirv/generator_impl.cc
index 7bd37f2..9133703 100644
--- a/src/tint/writer/spirv/generator_impl.cc
+++ b/src/tint/writer/spirv/generator_impl.cc
@@ -69,6 +69,7 @@
polyfills.saturate = true;
polyfills.texture_sample_base_clamp_to_edge_2d_f32 = true;
polyfills.quantize_to_vec_f16 = true; // crbug.com/tint/1741
+ polyfills.workgroup_uniform_load = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}